Strumento: resolve_maps_urls
Risolve un elenco di URL di Google Maps in ID luogo canonici di Google Maps.
Quando chiamare questo strumento (CRITICO):
- Utilizza questo strumento quando l'utente fornisce uno o più link o URL di condivisione di Google Maps (ad es. "https://maps.app.goo.gl/…", "https://www.google.com/maps/place/…" o "https://maps.google.com/…") e devi estrarre gli ID luogo canonici sottostanti.
- Puoi specificare fino a 20 URL da risolvere in una singola richiesta batch.
Requisiti di input (FONDAMENTALI):
urls(array di stringhe - OBBLIGATORIO): l'elenco di URL di Google Maps da risolvere. Ogni URL deve essere un URL di Google Maps valido e relativo a un singolo luogo.
Salva in Google Maps:
- La risposta include un campo
save_to_maps_url: un singolo link a Google Maps contenente tutti i luoghi risolti correttamente. - Quando l'utente vuole salvare, condividere o aprire i luoghi risolti come elenco in Google Maps (ad es. raccogliere i luoghi condivisi in una conversazione), presentagli questo link. NON creare questo link manualmente.
Gestione degli errori (CRITICA):
- Si tratta di uno strumento di elaborazione batch. Una richiesta potrebbe restituire "risultati misti" (ad esempio, alcuni URL vengono risolti correttamente, mentre altri no).
- È garantito che l'elenco di output di
entitiescorrisponda 1:1 agli indici di inputurls. Una risoluzione dell'URL non riuscita genererà un messaggioEntityvuoto (nessun campo impostato) nell'indice corrispondente nell'elencoentities. - DEVI controllare il campo della mappa
failed_requestsnella risposta per identificare l'indice dell'URL specifico che non è riuscito. La chiave difailed_requestsrappresenta l'indice in base zero dell'URL non riuscito nella richiesta. Non dare per scontato che l'intera chiamata batch non sia riuscita a causa di un errore parziale.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP resolve_maps_urls.
| 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": "resolve_maps_urls", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
Messaggio di richiesta per ResolveMapsUrls.
ResolveMapsUrlsRequest
| Rappresentazione JSON |
|---|
{ "urls": [ string ] } |
| Campi | |
|---|---|
urls[] |
Obbligatorio. Gli URL di Google Maps da risolvere. Ogni URL deve essere un URL di Google Maps valido, ad esempio https://maps.app.goo.gl/…, https://www.google.com/maps/place/… o https://maps.google.com/…. Al momento sono supportati solo gli URL che rimandano a un singolo luogo. Puoi specificare fino a 20 URL. |
Schema di output
Messaggio di risposta per ResolveMapsUrls.
ResolveMapsUrlsResponse
| Rappresentazione JSON |
|---|
{ "entities": [ { object ( |
| Campi | |
|---|---|
entities[] |
Solo output. L'elenco delle entità risolte dagli URL di Google Maps. È garantita la mappatura 1:1 con gli indici |
failedRequests |
Solo output. Una mappa che comunica errori parziali per gli URL di Google Maps. La chiave è l'indice della richiesta non riuscita nel campo Un oggetto contenente un elenco di coppie |
saveToMapsUrl |
Solo output. Un link per salvare tutte le entità risolte correttamente in Google Maps. |
Entità
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione entity. Il tipo di entità risolto. entity può essere solo uno dei seguenti tipi: |
|
place |
Il nome della risorsa del luogo risolto. |
FailedRequestsEntry
| Rappresentazione JSON |
|---|
{
"key": integer,
"value": {
object ( |
| Campi | |
|---|---|
key |
|
value |
|
Stato
| Rappresentazione JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Campi | |
|---|---|
code |
Il codice di stato, che deve essere un valore enum di |
message |
Un messaggio di errore rivolto agli sviluppatori, che deve essere in inglese. Qualsiasi messaggio di errore rivolto agli utenti deve essere localizzato e inviato nel campo |
details[] |
Un elenco di messaggi contenenti i dettagli dell'errore. Esiste un insieme comune di tipi di messaggi da utilizzare per le API. Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo |
Qualsiasi
| Rappresentazione JSON |
|---|
{ "typeUrl": string, "value": string } |
| Campi | |
|---|---|
typeUrl |
Identifica il tipo di messaggio Protobuf serializzato con un riferimento URI costituito da un prefisso che termina con una barra e dal nome del tipo completo. Esempio: type.googleapis.com/google.protobuf.StringValue Questa stringa deve contenere almeno un carattere Il prefisso è arbitrario e le implementazioni di Protobuf dovrebbero semplicemente rimuovere tutto fino all'ultimo Tutte le stringhe URL del tipo devono essere riferimenti URI validi con l'ulteriore limitazione (per il formato di testo) che i contenuti del riferimento devono essere costituiti solo da caratteri alfanumerici, escape con codifica percentuale e caratteri nel seguente insieme (esclusi gli apici inversi esterni): Nel design originale di |
value |
Contiene una serializzazione Protobuf del tipo descritto da type_url. Una stringa con codifica in base64. |
Annotazioni dello strumento
Le annotazioni degli strumenti 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, i seguenti suggerimenti booleani sono definiti come segue:
readOnlyHint: se true, lo strumento non modifica il suo ambiente. Valore predefinito: false.destructiveHint: se true, lo strumento può eseguire azioni distruttive. Se false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se true, la chiamata ripetuta dello 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 entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌