MCP Tools Reference: mapstools.googleapis.com

Outil : search_places

Appelez cet outil lorsque la requête de l'utilisateur consiste à trouver des lieux, des établissements, des adresses, des emplacements, des points d'intérêt ou toute autre recherche associée à Google Maps.

Exigences d'entrée (CRITIQUES) :

  1. text_query (chaîne, OBLIGATOIRE) : requête de recherche principale. Il doit définir clairement ce que l'utilisateur recherche.

    • Exemples : 'restaurants in New York', 'coffee shops near Golden Gate Park', 'SF MoMA', '1600 Amphitheatre Pkwy, Mountain View, CA, USA', 'pets friendly parks in Manhattan, New York', 'date night restaurants in Chicago', 'accessible public libraries in Los Angeles'.
    • Pour obtenir des détails sur un lieu spécifique : incluez l'attribut demandé (par exemple, 'Google Store Mountain View opening hours', 'SF MoMa phone number', 'Shoreline Park Mountain View address').
  2. location_bias (objet, FACULTATIF) : utilisez ce paramètre pour prioriser les résultats à proximité d'une zone géographique spécifique.

    • Format : {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • Utilisation :
      • Pour privilégier un rayon de 5 km : {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Pour privilégier fortement le point central : {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (en omettant radius_meters).
  3. language_code (chaîne, FACULTATIF) : langue dans laquelle afficher le résumé des résultats de recherche.

    • Format : code de langue à deux lettres (ISO 639-1), éventuellement suivi d'un trait de soulignement et d'un code pays à deux lettres (ISO 3166-1 alpha-2), par exemple en, ja, en_US, zh_CN, es_MX. Si le code de langue n'est pas fourni, les résultats seront en anglais.
  4. region_code (chaîne, FACULTATIF) : code de région CLDR Unicode de l'utilisateur. Ce paramètre permet d'afficher les détails du lieu, comme le nom du lieu spécifique à la région, s'il est disponible. Le paramètre peut affecter les résultats en fonction de la législation applicable.

    • Format : code pays à deux lettres (ISO 3166-1 alpha-2), par exemple US, CA.

Instructions pour l'appel d'outil :

  • Informations de localisation (CRITIQUE) : la recherche doit contenir suffisamment d'informations de localisation. Si le lieu est ambigu (par exemple, "pizzerias"), vous devez le spécifier dans le paramètre text_query (par exemple, "pizzerias à New York") ou utiliser le paramètre location_bias. Incluez la ville, l'État/la province et la région/le pays si nécessaire pour lever toute ambiguïté.

  • Fournissez toujours le text_query le plus spécifique et le plus riche en contexte possible.

  • N'utilisez location_bias que si les coordonnées sont explicitement fournies ou si déduire un emplacement à partir du contexte connu d'un utilisateur est approprié et nécessaire pour obtenir de meilleurs résultats.

  • La sortie ancrée doit être attribuée à la source à l'aide des informations du champ attribution, lorsqu'elles sont disponibles.

L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP search_places.

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": "search_places",
    "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 SearchText.

SearchTextRequest

Représentation JSON
{
  "textQuery": string,
  "languageCode": string,
  "regionCode": string,
  "pageSize": integer,
  "includeExtendedDetails": boolean,

  // Union field _location_bias can be only one of the following:
  "locationBias": {
    object (LocationBias)
  }
  // End of list of possible types for union field _location_bias.
}
Champs
textQuery

string

Obligatoire. La requête textuelle.

languageCode

string

Facultatif. Langue dans laquelle le résumé doit être renvoyé. Si le code de langue n'est pas spécifié ou n'est pas reconnu, le résumé sera renvoyé en anglais.

Par exemple, "en" pour l'anglais.

Liste actuelle des langues acceptées : https://developers.google.com/maps/faq#languagesupport.

regionCode

string

Facultatif. Code Unicode du pays/de la région (CLDR) d'où provient la requête. Ce paramètre permet d'afficher les détails du lieu, comme le nom du lieu spécifique à la région, s'il est disponible. Le paramètre peut affecter les résultats en fonction de la législation applicable.

Par exemple, "US" pour les États-Unis.

Pour en savoir plus, consultez https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html.

Notez que les codes régionaux à trois chiffres ne sont pas acceptés pour le moment.

pageSize

integer

Facultatif. Nombre maximal de lieux à renvoyer (jusqu'à 5). Le service peut renvoyer un nombre inférieur à cette valeur. La valeur par défaut est 5.

includeExtendedDetails

boolean

Facultatif. Inclut des détails étendus sur le lieu dans la réponse.

Définissez ce champ sur true lorsque la requête de l'utilisateur nécessite des insights qualitatifs détaillés, une dynamique en temps réel ou des attributs d'entité spécialisés : avis qualitatifs, sentiment des clients et commentaires. - Offres spécifiques telles que des éléments de menu, des plats, des spécialités culinaires, des boissons ou des points forts de l'établissement. - Atmosphère, décoration intérieure, esthétique, ambiance ou humeur qualitative. - Données en temps réel et spécifications des établissements spécialisés, règles/conseils pour les visiteurs, temps d'attente.

Laissez false (par défaut) pour les recherches de découverte standards (par exemple, cuisines, types de magasins), les recherches de lieux/adresses, les coordonnées, les horaires d'ouverture et les métadonnées/services standards.

L'activation de ce champ entraînera une latence plus élevée.

Champ d'union _location_bias.

_location_bias ne peut être qu'un des éléments suivants :

locationBias

object (LocationBias)

Région facultative pour orienter les résultats de recherche. Si un emplacement explicite est défini dans text_query, il sera utilisé pour biaiser les résultats de recherche au lieu de ce champ.

LocationBias

Représentation JSON
{
  "circle": {
    object (Circle)
  }
}
Champs
circle

object (Circle)

Facultatif. Cercle défini par un point central et un rayon. radius_meters est facultatif. Si ce paramètre n'est pas défini, les résultats seront biaisés vers le point central.

Cercle

Représentation JSON
{
  "center": {
    object (LatLng)
  },

  // Union field _radius_meters can be only one of the following:
  "radiusMeters": number
  // End of list of possible types for union field _radius_meters.
}
Champs
center

object (LatLng)

Obligatoire. Point central du cercle.

Champ d'union _radius_meters.

_radius_meters ne peut être qu'un des éléments suivants :

radiusMeters

number

Rayon du cercle en mètres. Le rayon ne doit pas dépasser 50 000 mètres.

LatLng

Représentation JSON
{
  "latitude": number,
  "longitude": number
}
Champs
latitude

number

Latitude en degrés. Elle doit être comprise dans la plage [-90.0, +90.0].

longitude

number

Longitude en degrés. Elle doit être comprise dans la plage [-180.0, +180.0].

Schéma de sortie

Message de réponse pour SearchText.

SearchTextResponse

Représentation JSON
{
  "places": [
    {
      object (PlaceView)
    }
  ],
  "summary": string,
  "contentToken": string
}
Champs
places[]

object (PlaceView)

Uniquement en sortie. Liste des lieux mentionnés dans le résumé.

summary

string

Uniquement en sortie. Un résumé en langage naturel des résultats de recherche. Le résumé peut contenir des citations commençant par zéro, comme "[0]", "[1]", "[2]", etc. Ces citations correspondent aux lieux correspondants dans le champ places.

contentToken

string

Uniquement en sortie. Jeton chiffré qui encapsule le contexte de recherche et peut être transmis aux services de rendu visuel Google Maps, aux SDK ou au Maps Agentic UI Toolkit (A2UI) pour afficher des composants d'interface utilisateur interactifs pour les résultats de recherche renvoyés.

PlaceView

Représentation JSON
{
  "place": string,
  "id": string,
  "googleMapsLinks": {
    object (GoogleMapsLinks)
  },
  "attribution": {
    object (Attribution)
  },

  // Union field _location can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field _location.
}
Champs
place

string

Nom de ressource du lieu sous-jacent, au format "places/{id}".

id

string

ID de lieu du lieu sous-jacent.

googleMapsLinks

object (GoogleMapsLinks)

Liens permettant de déclencher différentes actions Google Maps.

attribution

object (Attribution)

Attribution requise à afficher avec le lieu.

Champ d'union _location.

_location ne peut être qu'un des éléments suivants :

location

object (LatLng)

Position de ce lieu.

LatLng

Représentation JSON
{
  "latitude": number,
  "longitude": number
}
Champs
latitude

number

Latitude en degrés. Elle doit être comprise dans la plage [-90.0, +90.0].

longitude

number

Longitude en degrés. Elle doit être comprise dans la plage [-180.0, +180.0].

Représentation JSON
{
  "directionsUrl": string,
  "placeUrl": string,
  "writeAReviewUrl": string,
  "reviewsUrl": string,
  "photosUrl": string
}
Champs
directionsUrl

string

Lien permettant d'afficher l'itinéraire vers le lieu. Le lien ne renseigne que le lieu de destination et utilise le mode de transport par défaut DRIVE.

placeUrl

string

Lien pour afficher ce lieu.

writeAReviewUrl

string

Un lien permettant de rédiger un avis sur ce lieu dans Google Maps.

reviewsUrl

string

Lien permettant d'afficher les avis sur ce lieu dans Google Maps.

photosUrl

string

Lien permettant d'afficher des photos de ce lieu sur Google Maps.

Attribution

Représentation JSON
{
  "title": string,
  "url": string
}
Champs
title

string

Titre à afficher pour l'attribution.

url

string

URL vers laquelle rediriger 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 considèrent ces indications comme non fiables, mais elles peuvent être utilisées pour décider quand envoyer une invite de confirmation à un utilisateur.

En plus de la chaîne de titre, les indices booléens suivants sont définis 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", l'appel répété de l'outil 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 sur le Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌