Outil : resolve_names
Résout une liste de requêtes de localisation spécifiques (noms de points de repère ou adresses exactes) en identifiants de lieu Google Maps canoniques.
Exigences concernant les entrées (CRITIQUES) :
queries(tableau d'objets – OBLIGATOIRE) : liste des requêtes de localisation à résoudre. Vous pouvez spécifier jusqu'à 20 requêtes.- Chaque objet de requête doit comporter les éléments suivants :
text(chaîne – OBLIGATOIRE) : requête textuelle représentant un nom de lieu ou une adresse spécifiques à résoudre.- Exemples :
'Googleplex, Mountain View, CA','1600 Amphitheatre Pkwy, Mountain View, CA','Eiffel Tower, Paris'.
- Exemples :
- Chaque objet de requête doit comporter les éléments suivants :
location_bias(objet, FACULTATIF) : utilisez ce paramètre pour donner la priorité aux résultats à proximité d'une zone géographique spécifique.- Format :
{"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
- Format :
region_code(chaîne – FACULTATIF) : code de région CLDR Unicode (code pays à deux lettres, par exempleUSouCA) de l'utilisateur pour orienter les résultats.
Instructions pour l'appel d'outil :
- Spécificité (CRITIQUE) : les requêtes doivent représenter un nom de lieu ou une adresse spécifiques. Les recherches générales telles que
'restaurants'ou les noms de chaînes tels que'Starbucks'ne sont pas acceptées. - N'appelez PAS cet outil si les outils en aval que vous prévoyez d'appeler acceptent déjà directement les chaînes brutes d'adresses ou de noms de lieux.
Enregistrer dans Google Maps :
- La réponse inclut un champ
save_to_maps_url, qui est un lien Google Maps unique contenant tous les lieux résolus. - Lorsque l'utilisateur souhaite enregistrer, partager ou ouvrir les lieux résolus sous forme de liste dans Google Maps, présentez-lui ce lien. NE créez PAS ce lien vous-même.
Gestion des erreurs (CRITIQUE) :
- Il s'agit d'un outil de traitement par lot. Une requête peut renvoyer des "résultats mixtes" (par exemple, certaines requêtes sont résolues, tandis que d'autres échouent).
- La liste de sortie de
resultsest garantie d'être mappée 1:1 avec les index d'entréequeries. Une requête ayant échoué génère un messageResultvide (aucunentityn'est défini) à l'index correspondant dans la listeresults. - Vous DEVEZ vérifier le champ de mappage
failed_requestsdans la réponse pour identifier l'index de requête spécifique qui a échoué. La clé defailed_requestsreprésente l'index de base 0 de la requête ayant échoué dans la requête. Ne partez pas du principe que l'appel par lot entier a échoué en raison d'un échec partiel.
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP resolve_names.
| 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": "resolve_names", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
Message de requête pour ResolveNames.
ResolveNamesRequest
| Représentation JSON |
|---|
{ "queries": [ { object ( |
| Champs | |
|---|---|
queries[] |
Obligatoire. Liste des requêtes d'emplacement à résoudre. Vous pouvez spécifier jusqu'à 20 requêtes. |
locationBias |
Facultatif. Région facultative permettant de biaiser les résultats de la résolution. Si elle est spécifiée, les résultats de la résolution seront biaisés en faveur des entités les plus proches de cette région. Inclure Si les champs |
regionCode |
Facultatif. Code régional facultatif permettant de biaiser les résultats de la résolution. Si elle est spécifiée, les résultats de la résolution seront biaisés en faveur des entités qui se trouvent dans ou à proximité de la région spécifiée. Il doit s'agir d'un code de région CLDR. Par exemple, "US" ou "CA". Inclure Si les champs |
LocationQuery
| Représentation JSON |
|---|
{ "text": string } |
| Champs | |
|---|---|
text |
Obligatoire. Requête textuelle à résoudre en une entité géospatiale spécifique sur Google Maps, telle qu'un lieu ou une adresse. Plus la requête est spécifique, plus la réponse est précise. Par exemple, "San Francisco", "Googleplex, Mountain View, CA", "1600 Amphitheatre Parkway, Mountain View, CA" ou "Tour Eiffel, Paris". Les requêtes doivent correspondre à une adresse ou à un nom de lieu spécifiques. Les lieux généraux, comme le nom d'une chaîne (par exemple, Starbucks) ou une requête de recherche comme "restaurants", ne sont pas acceptés. |
LocationBias
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union type. Type de biais de localisation. type ne peut être qu'un des éléments suivants : |
|
viewport |
Fenêtre d'affichage définie par un cadre de délimitation. |
Fenêtre d'affichage
| Représentation JSON |
|---|
{ "low": { object ( |
| Champs | |
|---|---|
low |
Obligatoire. Point bas de la fenêtre d'affichage. |
high |
Obligatoire. Point haut de la fenêtre d'affichage. |
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]. |
Schéma de sortie
Message de réponse pour ResolveNames.
ResolveNamesResponse
| Représentation JSON |
|---|
{ "results": [ { object ( |
| Champs | |
|---|---|
results[] |
Uniquement en sortie. Liste des entités résolues à partir des requêtes sur les lieux. Garantit une correspondance exacte avec les index |
failedRequests |
Uniquement en sortie. Carte indiquant les échecs partiels. La clé correspond à l'index de la requête ayant échoué dans le champ Objet contenant une liste de paires |
saveToMapsUrl |
Uniquement en sortie. Un lien permettant d'enregistrer toutes les entités résolues dans Google Maps. |
Résultat
| Représentation JSON |
|---|
{ "entity": { object ( |
| Champs | |
|---|---|
entity |
Uniquement en sortie. Entité résolue à partir de la requête de localisation. |
confidence |
Uniquement en sortie. Niveau de confiance de la résolution. |
Entité
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union entity. Type d'entité résolu. entity ne peut être qu'un des éléments suivants : |
|
place |
Nom de ressource du lieu résolu. |
FailedRequestsEntry
| Représentation JSON |
|---|
{
"key": integer,
"value": {
object ( |
| Champs | |
|---|---|
key |
|
value |
|
État
| Représentation JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Champs | |
|---|---|
code |
Code d'état, qui doit être une valeur d'énumération de |
message |
Message d'erreur destiné au développeur, qui doit être en anglais. Tout message d'erreur destiné aux utilisateurs doit être localisé et envoyé dans le champ |
details[] |
Liste de messages comportant les détails de l'erreur. Il existe un ensemble commun de types de message utilisable par les API. Objet contenant des champs d'un type arbitraire. Un champ supplémentaire |
Tous
| Représentation JSON |
|---|
{ "typeUrl": string, "value": string } |
| Champs | |
|---|---|
typeUrl |
Identifie le type du message Protobuf sérialisé avec une référence URI composée d'un préfixe se terminant par une barre oblique et du nom de type complet. Exemple : type.googleapis.com/google.protobuf.StringValue Cette chaîne doit contenir au moins un caractère Le préfixe est arbitraire et les implémentations Protobuf sont censées supprimer tout ce qui précède le dernier Toutes les chaînes d'URL de type doivent être des références URI valides, avec la restriction supplémentaire (pour le format texte) que le contenu de la référence ne doit comporter que des caractères alphanumériques, des séquences d'échappement encodées en pourcentage et des caractères de l'ensemble suivant (sans les accents graves extérieurs) : Dans la conception d'origine de |
value |
Contient une sérialisation Protobuf du type décrit par type_url. Chaîne encodée en base64. |
Confiance
Niveau de confiance de la résolution.
| Enums | |
|---|---|
CONFIDENCE_UNSPECIFIED |
Valeur par défaut. Cette valeur n'est pas utilisée. |
MEDIUM |
Un niveau de confiance moyen indique que la résolution est probablement correcte, mais qu'il peut y avoir d'autres candidats. |
HIGH |
Un niveau de confiance élevé indique que la résolution est correcte et représente une entité géospatiale spécifique (par exemple, un lieu spécifique). |
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 : ❌