Strumento: resolve_names
Risolve un elenco batch di query di località specifiche (nomi di punti di riferimento o indirizzi esatti) in ID luogo di Google Maps canonici.
Requisiti di input (CRITICI):
queries(array di oggetti - OBBLIGATORIO): un elenco di query sulla posizione da risolvere. Puoi specificare fino a 20 query.- Ogni oggetto query deve avere:
text(stringa - OBBLIGATORIO): la query di testo che rappresenta un nome di luogo o un indirizzo specifico da risolvere.- Esempi:
'Googleplex, Mountain View, CA','1600 Amphitheatre Pkwy, Mountain View, CA','Eiffel Tower, Paris'.
- Esempi:
- Ogni oggetto query deve avere:
location_bias(oggetto - FACOLTATIVO): utilizzalo per dare la priorità ai risultati vicino a un'area geografica specifica.- Formato:
{"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
- Formato:
region_code(stringa - FACOLTATIVO): il codice regione CLDR Unicode (codice paese di due lettere, ad es.US,CA) dell'utente per orientare i risultati.
Istruzioni per la chiamata allo strumento:
- Specificità (CRITICA): le query devono rappresentare un nome o un indirizzo di un luogo specifico. Le ricerche generiche come
'restaurants'o i nomi di catene come'Starbucks'non sono supportate. - NON chiamare questo strumento se gli strumenti downstream che intendi richiamare accettano già direttamente stringhe di indirizzi o nomi di luoghi non elaborate.
Salva in Google Maps:
- La risposta include un campo
save_to_maps_url: un unico link a Maps contenente tutti i luoghi risolti correttamente. - Quando l'utente vuole salvare, condividere o aprire i luoghi risolti come elenco in Google Maps, mostra questo link all'utente. NON creare questo link manualmente.
Gestione degli errori (CRITICO):
- Si tratta di uno strumento di elaborazione batch. Una richiesta potrebbe restituire "risultati misti" (ad es. alcune query vengono risolte correttamente, mentre altre non riescono).
- È garantito che l'elenco di output di
resultscorrisponda in modo univoco agli indici di inputqueries. Una query non riuscita genererà un messaggioResultvuoto (non è impostato alcunentity) nell'indice corrispondente dell'elencoresults. - DEVI controllare il campo della mappa
failed_requestsnella risposta per identificare l'indice di query specifico non riuscito. La chiave difailed_requestsrappresenta l'indice in base zero della query non riuscita 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_names.
| 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_names", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
Messaggio di richiesta per ResolveNames.
ResolveNamesRequest
| Rappresentazione JSON |
|---|
{ "queries": [ { object ( |
| Campi | |
|---|---|
queries[] |
Obbligatorio. Un elenco di query sulla posizione da risolvere. Puoi specificare fino a 20 query. |
locationBias |
Facoltativo. Una regione facoltativa per influenzare i risultati della risoluzione. Se specificato, i risultati della risoluzione saranno orientati verso le entità più vicine a questa regione. L'inclusione di Se vengono specificati sia |
regionCode |
Facoltativo. Un codice regione facoltativo per influenzare i risultati della risoluzione. Se specificato, i risultati della risoluzione saranno orientati verso le entità che si trovano all'interno o nelle vicinanze della regione specificata. Deve essere un codice regione CLDR. Ad esempio, "US" o "CA". L'inclusione di Se vengono specificati sia |
LocationQuery
| Rappresentazione JSON |
|---|
{ "text": string } |
| Campi | |
|---|---|
text |
Obbligatorio. La query di testo da risolvere in una specifica entità geospaziale su Google Maps, ad esempio un luogo o un indirizzo. Più specifica è la query, più accurata è la risoluzione. Ad esempio, "San Francisco", "Googleplex, Mountain View, CA", "1600 Amphitheatre Parkway, Mountain View, CA" o "Torre Eiffel, Parigi". Le query devono essere un indirizzo o il nome di un luogo specifico. Le località generiche come il nome di una catena (ad es. Starbucks) o una query di ricerca come "ristoranti" non sono supportate. |
LocationBias
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione type. Il tipo di aggiustamento della località. type può essere solo uno dei seguenti tipi: |
|
viewport |
Un'area visibile definita da un riquadro di delimitazione. |
Area visibile
| Rappresentazione JSON |
|---|
{ "low": { object ( |
| Campi | |
|---|---|
low |
Obbligatorio. Il punto più basso dell'area visibile. |
high |
Obbligatorio. Il punto più alto dell'area visibile. |
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]. |
Schema di output
Messaggio di risposta per ResolveNames.
ResolveNamesResponse
| Rappresentazione JSON |
|---|
{ "results": [ { object ( |
| Campi | |
|---|---|
results[] |
Solo output. L'elenco delle entità risolte dalle query sulla posizione. Garantito per la mappatura 1:1 con gli indici della richiesta |
failedRequests |
Solo output. Una mappa che comunica errori parziali. 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. |
Risultato
| Rappresentazione JSON |
|---|
{ "entity": { object ( |
| Campi | |
|---|---|
entity |
Solo output. L'entità risolta dalla query sulla posizione. |
confidence |
Solo output. Il livello di confidenza per la risoluzione. |
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 il 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 devono semplicemente rimuovere tutto fino all'ultimo Tutte le stringhe URL di tipo devono essere riferimenti URI validi con l'ulteriore limitazione (per il formato di testo) che il contenuto del riferimento deve essere costituito solo da caratteri alfanumerici, sequenze di escape codificate in percentuale e caratteri del seguente insieme (esclusi i backtick esterni): Nella progettazione originale di |
value |
Contiene una serializzazione Protobuf del tipo descritto da type_url. Una stringa con codifica in base64. |
Confidenza
Il livello di confidenza per la risoluzione.
| Enum | |
|---|---|
CONFIDENCE_UNSPECIFIED |
Valore predefinito. Questo valore non viene utilizzato. |
MEDIUM |
Una confidenza media indica che la risoluzione è probabilmente corretta, ma potrebbero esserci altri candidati. |
HIGH |
Un'attendibilità elevata indica che la risoluzione è corretta e rappresenta un'entità geospaziale specifica (ad es. un luogo specifico). |
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: ❌