MCP Tools Reference: mapstools.googleapis.com

Outil : search_places

Appelle cet outil lorsque la demande de l'utilisateur consiste à trouver des lieux, des entreprises, des adresses, des emplacements, des points d'intérêt ou toute autre recherche liée à Google Maps.

Conditions requises pour les entrées (CRITIQUES) :

  1. text_query (chaîne – OBLIGATOIRE) : requête de recherche principale. Elle 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 informations spécifiques sur un lieu : 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 privilégier 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 appliquer un biais à un rayon de 5 km : {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Pour fortement biaiser vers 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écapitulatif 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 son nom spécifique à la région, s'il est disponible. Ce paramètre peut affecter les résultats en fonction de la loi 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 l'emplacement est ambigu (par exemple, "pizzerias"), vous devez le spécifier dans text_query (par exemple, "pizzerias à New York") ou utilisez le paramètre location_bias. Incluez le nom de la ville, de l'État/de la province et de la région/du pays si nécessaire pour éviter 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 des coordonnées sont explicitement fournies ou s'il est approprié et nécessaire d'inférer une position à partir du contexte connu d'un utilisateur pour obtenir de meilleurs résultats.

L'exemple 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 tool's MCP 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,
  "pageToken": string,

  // 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. 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é en anglais sera renvoyé.

Par exemple, "en" pour l'anglais.

Liste actuelle des langues disponibles : https://developers.google.com/maps/faq#languagesupport.

regionCode

string

Facultatif. Code de pays/région Unicode (CLDR) de l'emplacement d'où provient la demande. Ce paramètre permet d'afficher les détails du lieu, comme son nom spécifique à la région, s'il est disponible. Ce paramètre peut avoir une incidence sur les résultats en fonction de la loi 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 de région à trois chiffres ne sont pas acceptés pour le moment.

pageSize

integer

Facultatif. Nombre maximal de lieux à renvoyer. Le service peut renvoyer un nombre inférieur à cette valeur.

pageToken

string

Facultatif. Jeton de page reçu d'un appel SearchText précédent. Fournissez-le pour récupérer la page suivante.

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 une position explicite figure dans text_query, elle sera utilisée pour orienter les résultats de recherche à la place 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 champ n'est pas défini, les résultats seront biaisés vers le point central.

Cercle

Représentation JSON
{
  "center": {
    object (google.type.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 (google.type.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 doit être inférieur ou égal à 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,
  "nextPageToken": 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 emplacements correspondants dans le champ places.

nextPageToken

string

Facultatif. Jeton pouvant être envoyé en tant que page_token pour récupérer la page suivante.

PlaceView

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

  // Union field _location can be only one of the following:
  "location": {
    object (google.type.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 du lieu sous-jacent.

googleMapsLinks

object (GoogleMapsLinks)

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

Champ d'union _location.

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

location

object (google.type.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 déplacement par défaut DRIVE.

placeUrl

string

Lien permettant d'afficher ce lieu.

writeAReviewUrl

string

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

reviewsUrl

string

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

photosUrl

string

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

Annotations d'outils

Indication de destruction : ❌ | Indication d'idempotence : ❌ | Indication de lecture seule : ✅ | Indication de monde ouvert : ❌