Strumento: compute_routes
Calcola un itinerario di viaggio tra un punto di partenza e una destinazione specificati. Modalità di viaggio supportate:AUTO (impostazione predefinita), A PIEDI.
Requisiti di input (CRITICI): richiede sia l'origine che la destinazione. Ciascuno deve essere fornito utilizzando uno dei seguenti metodi, nidificati nel rispettivo campo:
address: (stringa, ad es. "Torre Eiffel, Parigi"). Nota: più l'indirizzo inserito è granulare o specifico, migliori saranno i risultati.
lat_lng: (oggetto, {"latitude": number, "longitude": number})
place_id: (stringa, ad es. "ChIJOwE_Id1w5EAR4Q27FkL6T_0") Nota: questo ID può essere ottenuto dallo strumento search_places. È consentita qualsiasi combinazione di tipi di input (ad es. origine per indirizzo, destinazione per lat_lng). Se manca l'origine o la destinazione, devi chiedere chiarimenti all'utente prima di tentare di chiamare lo strumento.
Esempio di chiamata dello strumento: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}
- L'output fondato deve essere attribuito alla fonte utilizzando le informazioni del campo
attribution, se disponibili.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP compute_routes.
| Richiesta 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 }' |
Schema di input
ComputeRoutesRequest.
ComputeRoutesRequest
| Rappresentazione JSON |
|---|
{ "origin": { object ( |
| Campi | |
|---|---|
origin |
Obbligatorio. Tappa di origine. |
destination |
Obbligatorio. Waypoint di destinazione. |
travelMode |
Facoltativo. Specifica la modalità di trasporto. |
Waypoint
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione location_type. Diversi modi per rappresentare una località. location_type può essere solo uno dei seguenti tipi: |
|
latLng |
Un punto specificato utilizzando le coordinate geografiche. |
placeId |
L'ID luogo associato al waypoint. |
address |
Indirizzo leggibile o Plus Code. Per maggiori dettagli, visita la pagina https://plus.codes. |
LatLng
| Rappresentazione JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campi | |
|---|---|
latitude |
La latitudine in gradi. Deve essere compreso nell'intervallo [-90,0, +90,0]. |
longitude |
La longitudine in gradi. Deve essere compreso nell'intervallo [-180,0, +180,0]. |
RouteTravelMode
Un insieme di valori utilizzati per specificare la modalità di viaggio.
| Enum | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
Nessuna modalità di trasporto specificata. Il valore predefinito è DRIVE. |
DRIVE |
Viaggia in auto. |
WALK |
Viaggia a piedi. NOTA: i percorsi WALK sono in versione beta e a volte potrebbero non avere marciapiedi o percorsi pedonali ben definiti. Devi mostrare questo avviso all'utente per tutte le camminate che mostri nella tua app. |
Schema di output
ComputeRoutesResponse.
ComputeRoutesResponse
| Rappresentazione JSON |
|---|
{
"routes": [
{
object ( |
| Campi | |
|---|---|
routes[] |
Contiene i percorsi tra il luogo di partenza e la destinazione richiesti. Al momento viene restituito un solo itinerario. |
Itinerario
| Rappresentazione JSON |
|---|
{
"distanceMeters": integer,
"duration": string,
"attribution": {
object ( |
| Campi | |
|---|---|
distanceMeters |
La distanza di viaggio del percorso, in metri. |
duration |
Il tempo necessario per percorrere l'itinerario. Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
attribution |
Attribuzione obbligatoria da mostrare con l'itinerario. |
Durata
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Secondi firmati dell'intervallo di tempo. Deve essere compreso tra -315.576.000.000 e +315.576.000.000 inclusi. Nota: questi limiti vengono calcolati in base a: 60 sec/min * 60 min/ora * 24 ore/giorno * 365,25 giorni/anno * 10.000 anni |
nanos |
Frazioni di secondo con segno con risoluzione in nanosecondi dell'intervallo di tempo. Le durate inferiori a un secondo sono rappresentate con un campo |
Attribuzione
| Rappresentazione JSON |
|---|
{ "title": string, "url": string } |
| Campi | |
|---|---|
title |
Il titolo da visualizzare per l'attribuzione. |
url |
L'URL a cui collegarsi per l'attribuzione. |
Annotazioni dello strumento
Le annotazioni dello strumento vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare un prompt di conferma a un utente.
Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:
readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se è true, chiamare ripetutamente lo strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.openWorldHint: se è true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌