Outil : compute_routes
Calcule un itinéraire entre un point de départ et une destination spécifiés. Modes de transport acceptés : DRIVE (par défaut), WALK.
Exigences concernant les entrées (CRITIQUES) : nécessite à la fois origin et destination. Chacun d'eux doit être fourni à l'aide de l'une des méthodes suivantes, imbriquées dans son champ respectif :
address : chaîne (par exemple, "Tour Eiffel, Paris"). Remarque : Plus l'adresse saisie est précise, meilleurs sont les résultats.
lat_lng: : (objet, {"latitude": nombre, "longitude": nombre})
place_id: (chaîne, par exemple, "ChIJOwE_Id1w5EAR4Q27FkL6T_0") Remarque : Cet ID peut être obtenu à partir de l'outil search_places. Toute combinaison de types d'entrée est autorisée (par exemple, origine par adresse, destination par lat_lng). Si l'origine ou la destination sont manquantes, vous DEVEZ demander des précisions à l'utilisateur avant d'essayer d'appeler l'outil.
Exemple d'appel d'outil : {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}
- La sortie ancrée doit être attribuée à la source à l'aide des informations du champ
attribution, le cas échéant.
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP compute_routes.
| Requête Curl |
|---|
curl --location 'https://mapstools.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "compute_routes", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
ComputeRoutesRequest.
ComputeRoutesRequest
| Représentation JSON |
|---|
{ "origin": { object ( |
| Champs | |
|---|---|
origin |
Obligatoire. Point de cheminement de départ. |
destination |
Obligatoire. Point de cheminement de destination. |
travelMode |
Facultatif. Spécifie le mode de transport. |
Repère
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union location_type. Différentes façons de représenter un lieu. location_type ne peut être qu'un des éléments suivants : |
|
latLng |
Point spécifié à l'aide de coordonnées géographiques. |
placeId |
ID de lieu associé au point de repère. |
address |
Adresse lisible ou Plus Code. Pour en savoir plus, consultez https://plus.codes. |
LatLng
| Représentation JSON |
|---|
{ "latitude": number, "longitude": number } |
| Champs | |
|---|---|
latitude |
Latitude en degrés. Elle doit être comprise dans la plage [-90.0, +90.0]. |
longitude |
Longitude en degrés. Elle doit être comprise dans la plage [-180.0, +180.0]. |
RouteTravelMode
Ensemble de valeurs utilisé pour spécifier le mode de transport.
| Enums | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
Aucun mode de déplacement n'a été spécifié. La valeur par défaut est DRIVE. |
DRIVE |
Trajet en voiture de tourisme. |
WALK |
Se déplacer à pied REMARQUE : Les itinéraires WALK sont en version bêta et peuvent parfois ne pas inclure de trottoirs ou de voies piétonnes clairs. Vous devez afficher cet avertissement à l'utilisateur pour toutes les activités de marche que vous affichez dans votre application. |
Schéma de sortie
ComputeRoutesResponse.
ComputeRoutesResponse
| Représentation JSON |
|---|
{
"routes": [
{
object ( |
| Champs | |
|---|---|
routes[] |
Contient les itinéraires entre le point de départ et la destination demandés. Actuellement, un seul itinéraire est renvoyé. |
Route
| Représentation JSON |
|---|
{
"distanceMeters": integer,
"duration": string,
"attribution": {
object ( |
| Champs | |
|---|---|
distanceMeters |
Distance de l'itinéraire en mètres. |
duration |
Durée nécessaire pour parcourir l'itinéraire. Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
attribution |
Attribution requise à afficher avec l'itinéraire. |
Durée
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Nombre de secondes signées de la période. Doit être compris entre -315 576 000 000 et +315 576 000 000 (inclus). Remarque : Ces limites sont calculées à partir de : 60 s/min * 60 min/h * 24 h/jour * 365,25 jours/an * 10 000 ans. |
nanos |
Fractions de seconde signées avec une résolution en nanosecondes de la durée. Les durées inférieures à une seconde sont représentées par un champ |
Attribution
| Représentation JSON |
|---|
{ "title": string, "url": string } |
| Champs | |
|---|---|
title |
Titre à afficher pour l'attribution. |
url |
URL à associer pour l'attribution. |
Annotations d'outils
Les annotations d'outil sont envoyées aux clients MCP pour décrire le risque de base d'un outil donné. La plupart des clients traitent ces indices comme non fiables, mais ils peuvent être utilisés pour déterminer quand un message de confirmation peut être envoyé à un utilisateur.
En plus de la chaîne de titre, les indications booléennes suivantes sont définies comme suit :
readOnlyHint: si la valeur est "true", l'outil ne modifie pas son environnement. Valeur par défaut : "false".destructiveHint: si la valeur est "true", l'outil peut effectuer des actions destructrices. Si la valeur est "false", l'outil ne peut effectuer que des actions d'ajout. Valeur par défaut : "true".idempotentHint: si la valeur est "true", appeler l'outil à plusieurs reprises avec les mêmes arguments n'aura aucun effet supplémentaire sur son environnement. Valeur par défaut : "false".openWorldHint: si la valeur est "true", l'outil peut interagir avec un "monde ouvert" d'entités externes. Si la valeur est "false", l'outil ne peut interagir qu'avec des entités internes. Par exemple, un outil de recherche Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.
Indication destructive : ❌ | Indication idempotente : ❌ | Indication en lecture seule : ✅ | Indication Open World : ❌