MCP Reference: mapstools.googleapis.com

Un serveur MCP (Model Context Protocol) sert de proxy entre un service externe qui fournit du contexte, des données ou des capacités à un grand modèle de langage (LLM) ou à une application d'IA. Les serveurs MCP connectent les applications d'IA à des systèmes externes tels que des bases de données et des services Web, et traduisent leurs réponses dans un format que l'application d'IA peut comprendre.

Configuration du serveur

Vous devez activer les serveurs MCP et configurer l'authentification avant de les utiliser. Pour en savoir plus sur l'utilisation des serveurs MCP distants Google et Google Cloud, consultez Présentation des serveurs MCP Google Cloud.

Il s'agit d'un serveur MCP fourni par l'API Maps Grounding Lite. Le serveur fournit aux développeurs des outils pour créer des applications LLM sur Google Maps Platform.

Points de terminaison du serveur

Un point de terminaison de service MCP est l'adresse réseau et l'interface de communication (généralement une URL) du serveur MCP qu'une application d'IA (l'hôte du client MCP) utilise pour établir une connexion sécurisée et standardisée. Il s'agit du point de contact permettant au LLM de demander du contexte, d'appeler un outil ou d'accéder à une ressource. Les points de terminaison Google MCP peuvent être globaux ou régionaux.

Le serveur MCP de l'API Maps Grounding Lite possède le point de terminaison MCP suivant :

  • https://mapstools.googleapis.com/mcp

Outils MCP

Un outil MCP est une fonction ou une capacité exécutable qu'un serveur MCP expose à un LLM ou à une application d'IA pour effectuer une action dans le monde réel.

Le serveur MCP mapstools.googleapis.com comporte les outils suivants :

Outils MCP
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 tiret bas 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 ou 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 le paramètre text_query (par exemple, "pizzerias à New York") ou utiliser 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.

  • La sortie ancrée doit être attribuée à la source à l'aide des informations du champ attribution, le cas échéant.

lookup_weather

Récupère des données météorologiques complètes, y compris les conditions actuelles, les prévisions horaires et quotidiennes.

Données spécifiques disponibles : température (actuelle, ressentie, max./min., indice de chaleur), vent (vitesse, rafales, direction), événements célestes (lever/coucher du soleil, phase de lune), précipitations (type, probabilité, quantité/QPF), conditions atmosphériques (indice UV, humidité, couverture nuageuse, probabilité d'orage) et adresse de localisation géocodée.

Emplacement et règles relatives à l'emplacement (CRITIQUE) :

L'emplacement pour lequel les données météo sont demandées est spécifié à l'aide du champ location. Ce champ est une structure "oneof", ce qui signifie que vous DEVEZ fournir une valeur pour UN SEUL des trois sous-champs de localisation ci-dessous afin de garantir une recherche précise des données météorologiques.

  1. Coordonnées géographiques (lat_lng)

    • Utilisez-le lorsque vous disposez de coordonnées exactes de latitude et de longitude.
    • Exemple : {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Los Angeles
  2. ID de lieu (place_id)

    • Identifiant de chaîne non ambigu (ID de lieu Google Maps).
    • L'identifiant de lieu peut être récupéré à partir de l'outil search_places.
    • Exemple : {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Tour Eiffel
  3. Chaîne d'adresse (adresse)

    • Chaîne de forme libre qui nécessite d'être spécifique pour le géocodage.
    • Ville et région : incluez toujours la région/le pays (par exemple, "Londres, Royaume-Uni", et non "Londres").
    • Adresse postale : indiquez l'adresse complète (par exemple, "1600 Pennsylvania Ave NW, Washington, DC").
    • Codes postaux : ils DOIVENT être accompagnés d'un nom de pays (par exemple, "90210, États-Unis", et NON "90210").
    • Exemple : {"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}}

Modes d'utilisation :

  • Météo actuelle : fournissez uniquement location. Ne spécifiez pas date ni hour.

  • Prévisions horaires : indiquez location, date et hour (0 à 23). Utilisez-le pour des heures spécifiques (par exemple, "à 17h") ou des expressions comme "dans les prochaines heures" ou "plus tard dans la journée". Si l'utilisateur spécifie une minute, arrondissez à l'heure inférieure. Les prévisions horaires au-delà de 120 heures ne sont pas disponibles. Les données météorologiques horaires historiques sont disponibles jusqu'à 24 heures en arrière.

  • Prévisions quotidiennes : indique location et date. Ne spécifiez pas hour. Utilisez-le pour les demandes générales concernant un jour (par exemple, "météo pour demain", "météo vendredi", "météo le 25/12"). Si la date du jour n'est pas dans le contexte, vous devez la préciser à l'utilisateur. Les prévisions quotidiennes au-delà de 10 jours (y compris aujourd'hui) ne sont pas prises en charge. Les données météo historiques ne sont pas disponibles.

Contraintes des paramètres :

  • Fuseaux horaires : toutes les entrées date et hour doivent être relatives au fuseau horaire local de l'établissement, et non à celui de l'utilisateur.
  • Format de date : les entrées doivent être séparées en {year, month, day} nombres entiers.
  • Unités : la valeur par défaut est METRIC. Définissez units_system sur IMPERIAL pour les unités Fahrenheit/Miles si l'utilisateur sous-entend ou demande explicitement les normes américaines.
  • La sortie ancrée doit être attribuée à la source à l'aide des informations du champ attribution, le cas échéant.

compute_routes

Calcule un itinéraire entre un point de départ et une destination spécifiés. Modes de transport acceptés : DRIVE (par défaut), WALK.

Exigences concernant les entrées (CRITIQUES) : les champs origine et destination sont obligatoires. Chacun d'eux doit être fourni à l'aide de l'une des méthodes suivantes, imbriquées dans le champ correspondant :

  • address : chaîne (par exemple, &39;Tour Eiffel, Paris'). Remarque : Plus l'adresse saisie est précise, meilleurs sont les résultats.

  • lat_lng: : objet, {"latitude": number, "longitude": number}

  • place_id: (chaîne, par exemple, "ChIJOwE_Id1w5EAR4Q27FkL6T_0") Remarque : Cet ID peut être obtenu à partir de l'outil search_places. Toute combinaison de types d'entrée est autorisée (par exemple, origine par adresse et destination par lat_lng). Si l'origine ou la destination sont manquantes, vous DEVEZ demander des précisions à l'utilisateur avant d'essayer d'appeler l'outil.

Exemple d'appel d'outil : {"origin":{"address":"Tour Eiffel"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

  • La sortie ancrée doit être attribuée à la source à l'aide des informations du champ attribution, le cas échéant.

Obtenir les spécifications de l'outil MCP

Pour obtenir les spécifications des outils MCP pour tous les outils d'un serveur MCP, utilisez la méthode tools/list. L'exemple suivant montre comment utiliser curl pour lister tous les outils et leurs spécifications actuellement disponibles sur le serveur MCP.

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/list",
    "jsonrpc": "2.0",
    "id": 1
}'