Les outils d'agent Maps Experience (anciennement Maps Grounding Lite) sont un service Google Maps Platform compatible avec le protocole MCP (Model Context Protocol) qui vous permet d'ancrer vos applications d'IA avec des données géospatiales fiables provenant de Google Maps. Le serveur MCP fournit des outils qui permettent aux LLM d'accéder aux données sur les lieux, la météo et les itinéraires. D'autres outils permettent de résoudre les noms de lieux et les URL Google Maps en ID de lieu. Vous pouvez essayer les outils de l'agent Maps Experience en les activant dans n'importe quel outil compatible avec les serveurs MCP.
Les outils d'agent Maps Experience sont un produit avec deux SKU : Essentials et Pro. Chaque requête est facturée au tarif Essentials, sauf si elle utilise une option Pro. Les options Pro ajoutent des détails étendus sur les lieux, plus de lieux par recherche, plus d'arrêts intermédiaires par itinéraire et un itinéraire avec trafic en temps réel. Pendant la phase de disponibilité générale restreinte, les options Pro ne sont disponibles que pour les projets figurant sur la liste d'autorisation Pro. Les deux SKU utilisent le même serveur MCP, les mêmes outils et les mêmes identifiants. Pour en savoir plus, consultez Essentials et Pro.
Outils
Les outils de l'agent Maps Experience permettent aux LLM d'accéder aux fonctionnalités Google Maps suivantes :
- Rechercher des lieux : demandez des informations sur des lieux et obtenez des résumés générés par IA. La réponse inclut également les ID de lieu, les coordonnées et les liens Google Maps pour chaque lieu du résumé. Vous pouvez utiliser les ID de lieu et les coordonnées avec d'autres API Google Maps Platform pour afficher des lieux sur une carte. Avec Pro, vous pouvez demander des détails étendus sur les lieux, comme des insights issus des avis, et jusqu'à 10 lieux par requête.
- Rechercher la météo : demandez des informations sur la météo et obtenez les conditions actuelles, les prévisions horaires et les prévisions quotidiennes.
Calculer des itinéraires : demandez un itinéraire entre un point de départ et une destination, éventuellement avec des arrêts intermédiaires, et renvoyez la distance et la durée de l'itinéraire. Avec Pro, les itinéraires peuvent tenir compte des conditions de circulation en temps réel et inclure davantage d'arrêts intermédiaires.
Résoudre les noms et Résoudre les URL Maps : résolvez les noms de lieux, les adresses et les URL Google Maps en ID de lieu. Pour en savoir plus, consultez API Resolution.
Une fois le serveur MCP activé, les LLM peuvent appeler ses outils pour obtenir des informations d'ancrage pour ces types de données. Le LLM peut utiliser ces informations pour le contexte. Toutefois, sa réponse finale peut ne pas inclure les informations exactes renvoyées par le serveur MCP. Vous devez vérifier l'exactitude de la réponse générée.
Essentials et Pro
Essentials et Pro sont deux SKU du même produit, et non des produits ou des forfaits distincts. Une requête est facturée au tarif Pro lorsqu'elle utilise une option Pro. Toutes les autres requêtes sont facturées au tarif Essentials. Les options Pro sont des champs ordinaires de la requête d'outil. Un LLM peut donc les utiliser en votre nom. Un agent peut également utiliser les deux SKU dans la même conversation. Par exemple, un agent peut utiliser Essentials pour trouver des cafés à proximité d'un point de repère. Il peut ensuite utiliser Pro pour répondre à une question complémentaire sur les boissons phares et les places assises. Il n'existe pas de serveur, de point de terminaison ni d'identifiant MCP distinct pour Pro.
Comparer Essentials, Pro et l'ancrage avec Google Maps
L'ancrage avec Google Maps est un produit distinct. Il est intégré aux modèles Gemini dans l'API Gemini, Google AI Studio et Gemini Enterprise Agent Platform. Le modèle décide quand interroger Google Maps et renvoie des réponses ancrées avec des citations. Choisissez l'ancrage avec Google Maps lorsque vous créez sur Gemini et que vous souhaitez que le modèle gère l'ancrage. Choisissez les outils d'agent Maps Experience pour d'autres modèles ou frameworks d'agent, ou pour contrôler directement chaque appel d'outil.
| Outils de l'agent Maps Experience | Ancrage avec Google Maps | ||
|---|---|---|---|
| SKU Essentials (anciennement Maps Grounding Lite) |
SKU Pro | ||
| Facturation des requêtes | Chaque requête d'outil qui n'utilise pas d'option Pro | Chaque requête d'outil qui utilise une option Pro : include_extended_details, un page_size supérieur à 5, ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL ou plus de 10 points de cheminement intermédiaires |
Chaque requête Google Maps ou prompt ancré, selon la plate-forme et le modèle |
| Modèles et plates-formes | Tout modèle ou framework d'agent compatible avec MCP. Un serveur MCP, un ensemble d'outils et les mêmes identifiants pour les deux SKU | Modèles Gemini dans l'API Gemini, Google AI Studio et Gemini Enterprise Agent Platform | |
| Ce que les outils renvoient | Informations de base : détails sur un maximum de cinq lieux par recherche, distance et durée de l'itinéraire sans trafic en temps réel, météo actuelle et prévisions | Tout ce qui est inclus dans Essentials, plus des détails étendus sur les lieux (comme des insights issus des avis), jusqu'à 10 lieux par recherche, des itinéraires avec trafic en temps réel et jusqu'à 25 points de cheminement intermédiaires | Détails sur les lieux et informations issues des avis, et informations sur l'itinéraire avec le trafic en temps réel |
| Exemples de requête | Questions factuelles et logistiques : trouver des magasins ou des établissements, des horaires d'ouverture, des adresses, et des estimations de distance ou de temps de trajet | Questions subjectives ou générales : ambiance, plats phares, conseils aux visiteurs, comparaisons de 6 à 10 lieux et temps de trajet dans les conditions de circulation actuelles | Recherche conversationnelle, planification d'itinéraires et découverte locale dans Gemini |
| Visualisations du Kit UI pour Places | Inclus sans frais supplémentaires avec le jeton de visualisation des données agentique (preview) | Facturés séparément | |
| Utilisation sans frais par mois | 10 000 requêtes | 5 000 requêtes | Dépend de la plate-forme et du modèle. Par exemple, dans l'API Gemini, Gemini 3 et les modèles plus récents incluent 5 000 requêtes de recherche sans frais par mois. Au-delà, les requêtes de recherche coûtent 14 $ pour 1 000. |
| Tarif du paiement à l'usage | 7 $ pour 1 000 requêtes, avec des remises sur volume | 14 $ pour 1 000 requêtes. Contactez le service commercial pour connaître le prix sur d'autres volumes. | |
| Abonnement (plus économique) | Inclus dans les forfaits Essentials et Pro | Non incluses | Non disponible |
| Commencer | Une configuration pour les deux SKU : consultez Configurer les LLM pour utiliser le serveur MCP. Pendant la disponibilité générale restreinte, les options Pro nécessitent également un projet sur la liste d'autorisation Pro. | API Gemini ou Agent Platform | |
Ces options fonctionnent de la même manière avec les deux SKU : modes de transport, heures de départ et d'arrivée, itinéraires alternatifs, polylignes d'itinéraire, recherches météorologiques et API Resolution. Ils ne modifient pas le SKU sous lequel une requête est facturée.
Éléments facturés sous le SKU Pro
| Outil | Capacité | Essentials | Pro |
|---|---|---|---|
| Rechercher des lieux | Lieux par requête | Jusqu'à 5 | 6 à 10 (page_size de 6 à 10) |
| Informations détaillées sur les lieux dans les résumés de recherche (insights issus des avis, points forts du menu, ambiance, affluence, conseils des visiteurs, et distance ou temps de trajet pour les requêtes de proximité) | Non disponible | Disponible avec include_extended_details |
|
| Compute Routes | Préférence de routage | Ne tient pas compte du trafic en temps réel | Prend en compte le trafic en temps réel ou les données de transports en commun en temps réel pour les itinéraires de transports en commun, avec ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
| Points de cheminement intermédiaires par itinéraire | 10 secondes | Entre 11 et 25 (plus de 10 intermediate_waypoints) |
|
| API Lookup Weather et API Resolution | Aucune option Pro. Toutes les requêtes sont facturées sous le SKU Essentials. | ||
Pour connaître les options de requête qui activent chaque fonctionnalité, consultez Rechercher des lieux et Calculer des itinéraires.
Options Pro pendant la disponibilité générale restreinte
Pendant la phase de disponibilité générale restreinte, les options Pro ne sont disponibles que pour les projets Google Cloud figurant sur la liste d'autorisation Pro. Contactez le service commercial pour demander l'accès. Une fois qu'un projet est ajouté à la liste d'autorisation, chaque clé API et client OAuth qu'il contient peut utiliser les options Pro.
Si votre projet ne figure pas encore sur la liste d'autorisation, les requêtes qui utilisent les options Pro sont gérées comme suit :
- Recherche de lieux :
include_extended_detailsest ignoré et la réponse contient au maximum cinq lieux, même si vous définissez une valeur plus élevée pourpage_size. La requête est facturée sous le SKU Essentials. - Compute Routes :
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMALest traité commeROUTING_PREFERENCE_TRAFFIC_UNAWARE, et la requête est facturée sous le SKU Essentials. Une requête comportant plus de 10 points de cheminement intermédiaires renvoie une erreurINVALID_ARGUMENT.
Pour vérifier si votre projet figure sur la liste d'autorisation, envoyez une requête search_places avec page_size défini sur 10. Utilisez une requête large, telle que restaurants in
Chicago. Un projet figurant sur la liste d'autorisation peut renvoyer plus de cinq lieux, facturés sous le SKU Pro. Les autres projets renvoient au maximum cinq lieux.
Contrôler l'utilisation de Pro
Les options Pro sont désactivées par défaut. Un LLM les définit lorsque la requête de l'utilisateur les appelle et que le schéma de l'outil ou vos instructions le permettent. Le schéma de l'outil décrit les valeurs page_size jusqu'à 5 et au maximum 10 points de cheminement intermédiaires.
Les modèles n'utilisent donc les limites Pro plus élevées que lorsque vos instructions le demandent. Pour gérer les coûts :
- Indiquez au modèle quand les options Pro sont appropriées. Par exemple : "Définis
include_extended_detailsuniquement lorsque l'utilisateur pose des questions sur les avis, les menus ou l'ambiance." Ou : "UtilisezROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMALuniquement lorsque l'utilisateur demande un temps de trajet actuel." - Pour conserver un agent sur le SKU Essentials, demandez au modèle de ne jamais utiliser d'option Pro. Les options Pro sont
include_extended_details,page_sizeau-dessus de 5,ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMALet plus de 10 points de cheminement intermédiaires. Si votre client MCP peut limiter les arguments des outils, vous pouvez également bloquer ces valeurs dans la configuration de ses outils. - Surveillez votre utilisation dans vos rapports sur la facturation et définissez des alertes de budget.
API Resolution
Les outils de l'agent Maps Experience fournissent l'API Resolution. Elle résout les textes et les URL de localisation de forme libre en identifiants de lieu Google Maps structurés. L'API Resolution est disponible en tant que méthodes REST et en tant qu'outils sur le serveur MCP :
- Résoudre les noms (REST, MCP) : résolvez un lot de noms ou d'adresses de lieux en entités de lieux spécifiques sur Google Maps. Cela est utile pour ancrer des requêtes utilisateur non structurées dans des ID de lieu stables.
- Résoudre les URL Maps (REST, MCP) : résolvez un lot d'URL Google Maps vers des entités de lieu spécifiques. Les formats acceptés incluent les URL de lieu standards et les URL raccourcies.
Vous pouvez utiliser les ID de lieu renvoyés avec d'autres API Google Maps Platform. Chaque réponse inclut également un lien qui enregistre les lieux résolus sous forme de liste dans Google Maps.
Pour en savoir plus, consultez API Maps Tools Resolution.
Essayer l'application exemple (ouvrir dans un nouvel onglet)
Facturation et quotas
Comment êtes-vous facturé ?
Avec le modèle de paiement à l'usage de Google Maps Platform, l'utilisation des outils de l'agent Maps Experience est calculée pour chaque requête. Chaque requête représente un événement de facturation. L'utilisation est suivie pour chaque SKU de produit. Votre facture affiche une ligne pour chaque SKU en plus du montant total de vos frais. Pour en savoir plus, consultez la présentation des rapports.
Chaque requête Search places, Compute routes ou Lookup weather est facturée sous un seul SKU, Essentials ou Pro. Une requête qui utilise une option Pro est facturée sous le SKU Pro. Il n'est jamais facturé sous les deux SKU, et le nombre d'options Pro ne modifie pas les frais. Les options suivantes déterminent le SKU :
| Outil | Essentials | Pro |
|---|---|---|
search_places |
Toute requête sans option Pro : page_size inférieur ou égal à 5, et include_extended_details non défini ou false |
include_extended_details défini sur true, ou page_size de 6 à 10 |
compute_routes |
Toute requête sans option Pro : routing_preference non défini ou ROUTING_PREFERENCE_TRAFFIC_UNAWARE, et 10 points de cheminement intermédiaires ou moins, avec n'importe quel mode de transport |
routing_preference défini sur ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, ou entre 11 et 25 points de cheminement intermédiaires |
lookup_weather |
Chaque requête | — |
Pour connaître les tarifs d'Essentials, consultez les détails du SKU Essentials. Les requêtes Pro sont facturées 14 $ par tranche de 1 000 requêtes au-delà des 5 000 premières requêtes chaque mois. Contactez le service commercial pour connaître le prix sur d'autres volumes.
Pendant la disponibilité générale restreinte, les options Pro ne s'appliquent qu'aux projets figurant sur la liste d'autorisation Pro. Pour en savoir plus, consultez Options Pro pendant la disponibilité générale restreinte.
Pour en savoir plus sur les tarifs, consultez la grille tarifaire principale et la grille tarifaire pour l'Inde.
Les requêtes API Resolution (ResolveNames et ResolveMapsUrls) sont facturées sans frais sous le code SKU API Places Text Search Essentials (IDs Only).
L'utilisation du SKU Essentials est également incluse dans les forfaits S'abonner pour économiser Essentials et Pro. Le SKU Pro n'est pas inclus dans les packages "S'abonner pour économiser".
Quotas
Les quotas suivants s'appliquent aux outils et aux API fournis par les outils de l'agent Maps Experience :
- Rechercher des lieux : 300 requêtes par minute et par projet.
- Recherche de météo : 300 requêtes par minute et par projet.
- Calculer des itinéraires : 300 requêtes par minute et par projet.
- Résoudre les noms : 600 requêtes par minute et par projet.
- Résoudre les URL Maps : 600 requêtes par minute et par projet.
Les quotas sont comptabilisés par outil et sont partagés par les SKU Essentials et Pro. Une requête Pro consomme le même quota qu'une requête Essentials pour le même outil.
Chaque requête API Resolution compte comme une requête, quel que soit le nombre d'éléments qu'elle contient.
Règles et conditions d'utilisation
Les outils d'agent Maps Experience sont soumis aux Conditions d'utilisation de Google Maps Platform, y compris aux Conditions spécifiques au service. Cette section décrit les conditions d'utilisation supplémentaires des outils de l'agent Maps Experience, y compris les LLM compatibles et l'attribution de la source. Les exigences s'appliquent à tous les résultats, quel que soit le SKU sous lequel une requête est facturée.
Exigences concernant les LLM compatibles
Vous ne pouvez utiliser les outils de l'agent Maps Experience qu'avec un LLM conforme aux conditions d'utilisation de Google Maps Platform.
Par exemple, vous devez vous assurer que le contenu Google Maps n'est pas mis en cache, stocké ou utilisé pour améliorer le LLM que vous choisissez d'utiliser. Avant d'utiliser les outils de l'agent Maps Experience, vous devez consulter les conditions d'utilisation de tout modèle que vous prévoyez d'utiliser avec les outils de l'agent Maps Experience. Vous ne devez pas utiliser les outils de l'agent Maps Experience avec des modèles qui utilisent les données saisies dans le modèle pour l'entraînement ou l'amélioration du modèle. Il vous incombe de vous assurer que votre utilisation du modèle respecte pleinement les restrictions sur le contenu Google Maps dans les conditions d'utilisation de Google Maps Platform, y compris les conditions spécifiques au service.
Exigences d'attribution pour les sources Google Maps
Chaque réponse des outils de l'agent Maps Experience inclut des sources. Lorsque vous présentez des résultats provenant des outils de l'agent Maps Experience, vous devez inclure les sources Google Maps associées et respecter les exigences suivantes :
- Les sources Google Maps doivent suivre immédiatement le contenu généré qu'elles appuient. Ce contenu généré est également appelé sortie ancrée.
- Les sources Google Maps doivent être visibles en une seule interaction de l'utilisateur.
Sources de l'outil "Rechercher des lieux"
Le champ places de l'outil search_places fournit des sources qui étayent le summary. Pour places, les métadonnées suivantes sont renvoyées :
place(nom de la ressource)idlocationgoogleMapsLinks
Pour chaque lieu, vous devez générer un aperçu de lien qui répond aux exigences suivantes :
- Attribuez chaque source à Google Maps, en suivant les consignes d'attribution de texte des outils de l'agent Maps Experience.
- Associez-le à la source à l'aide de l'
places.googleMapsLinks.placeUrlde la réponse.
Ces exigences s'appliquent également aux résumés qui incluent des détails étendus sur les lieux provenant de Pro, tels que des insights issus d'avis. summary cite chaque lieu avec un index de base zéro, par exemple [0], qui correspond à une entrée dans places. Chaque lieu inclut également googleMapsLinks.reviewsUrl, qui renvoie aux avis sur le lieu dans Google Maps. Les utilisateurs peuvent cliquer dessus pour voir les avis à l'origine d'un insight.
Interfaces axées sur la voix
Si votre application présente les résultats des outils d'agent Maps Experience par commande vocale, vous devez également respecter les exigences concernant les interfaces à commande vocale. En résumé :
- Sourcing : affichez les sources Google Maps dans une UI associée qui présente un historique textuel de la conversation vocale.
- Divulgation active : au moment de l'interaction, indiquez aux utilisateurs que le contenu généré par l'IA peut inclure des informations provenant de Google Maps. Indiquez-lui également que des sources détaillées sont disponibles dans l'interface utilisateur associée. Vous pouvez le faire sur l'écran ou par commande vocale.
- Divulgation persistante : conservez une explication persistante, par exemple dans un menu de paramètres vocaux, indiquant que le contenu généré par l'IA peut inclure du contenu Google Maps.
- Demandes des utilisateurs : répondez précisément aux questions des utilisateurs sur la source du contenu et redirigez-les vers l'UI associée pour en savoir plus.
Configurer les LLM pour qu'ils utilisent le serveur MCP
Pour utiliser les outils de l'agent Maps Experience, vous devez disposer d'un projet Google Cloud dans lequel le service d'API Outils de l'agent Maps Experience est activé. Vous avez aussi besoin d'une clé API ou d'un ID client OAuth. Vous pouvez ensuite configurer les LLM pour qu'ils accèdent au serveur MCP. Le serveur MCP utilise le transport HTTP en flux continu.
Activez les outils de l'agent Maps Experience dans votre projet Google Cloud.
Pour activer l'API sur votre projet :
- Dans la console Google Cloud, choisissez le projet que vous souhaitez utiliser pour les outils de l'agent Maps Experience.
- Activez la facturation pour le projet dans la console Google Cloud.
- Activez les outils de l'agent Maps Experience dans la bibliothèque d'API de la console Google Cloud.
S'authentifier à l'aide d'une clé API
Vous pouvez utiliser une clé API existante avec les outils de l'agent Maps Experience ou en créer une. Dans les deux cas, activez le service d'API Outils de l'agent Maps Experience sur le projet Google Cloud et la clé.
Pour vous authentifier à l'aide d'une clé API :
- Créez ou configurez une clé API en suivant la procédure décrite dans Premiers pas avec Google Maps Platform.
- Transmettez la clé au serveur MCP à l'aide de l'en-tête
X-Goog-Api-Key. Vous devez le spécifier en tant qu'en-tête HTTP personnalisé dans la configuration de l'outil MCP du LLM.
S'authentifier avec OAuth
Vous pouvez vous authentifier à l'aide d'OAuth en créant des identifiants OAuth et en les transmettant à l'hôte MCP ou à l'application serveur MCP.
Pour vous authentifier à l'aide d'OAuth :
- Dans la console Google Cloud, choisissez le projet que vous souhaitez utiliser pour les outils de l'agent Maps Experience.
- Dans le menu API et services, sélectionnez Identifiants.
- Dans le menu supérieur, sélectionnez Créer des identifiants > ID client OAuth.
- Si l'écran de consentement n'est pas configuré pour le projet, cliquez sur Configurer l'écran de consentement, puis suivez les instructions à l'écran.
- Dans la section Métriques, cliquez sur Créer un client OAuth.
- Sur l'écran Créer un ID client OAuth, sélectionnez un type d'application et saisissez un nom pour l'ID client.
- Spécifiez les détails supplémentaires pertinents pour votre type d'application. Par exemple, si vous créez une application Web, ajoutez des URI autorisés pour les requêtes du navigateur et du serveur.
- Une fois votre client créé, enregistrez l'ID client et le code secret.
- Lorsque vous configurez votre application hôte MCP ou serveur MCP, transmettez votre ID client et votre secret OAuth. Vous devez également demander le champ d'application suivant :
https://www.googleapis.com/auth/maps-platform.mapstools.
Pour en savoir plus, consultez Utiliser OAuth 2.0 pour accéder aux API Google.
Configurer les LLM pour qu'ils accèdent au serveur MCP des outils de l'agent Maps Experience
Après avoir activé le service Outils de l'agent Maps Experience et créé des identifiants, vous pouvez configurer les LLM pour qu'ils accèdent au serveur MCP. Suivez la documentation de configuration MCP de votre LLM et utilisez l'URL du serveur MCP : https://mapstools.googleapis.com/mcp.
Pour en savoir plus, consultez Configurer le MCP dans une application d'IA.
Configurer les outils de l'agent Maps Experience avec la CLI Gemini
Cette section fournit un exemple de configuration du serveur MCP des outils de l'agent Maps Experience à l'aide de la CLI Gemini. Pour en savoir plus, consultez Serveurs MCP avec Gemini CLI.
Après avoir installé Gemini CLI, exécutez
gemini mcp addpour configurer le serveur MCP :gemini mcp add -s user -t http -H 'X-Goog-Api-Key: API_KEY' maps-experience-agent-tools-mcp https://mapstools.googleapis.com/mcpSi la configuration a réussi, vous devriez voir une confirmation indiquant que le serveur a été ajouté à vos paramètres utilisateur.
Pour vérifier que le serveur fonctionne correctement, exécutez la commande
/mcp list:> /mcp list Configured MCP servers: maps-experience-agent-tools-mcp - Ready (5 tools) Tools: - compute_routes - lookup_weather - resolve_maps_urls - resolve_names - search_placesCommencez à poser des questions sur Maps avec la CLI. Par exemple, essayez "Recommande-moi des restaurants à Mountain View", ce qui devrait appeler l'outil search_places en votre nom.
Configurer les outils de l'agent Maps Experience avec Agent Development Kit (ADK)
Cette section explique comment configurer le serveur MCP avec l'Agent Development Kit (ADK) en Python, Java ou TypeScript.
Python
Vous trouverez une implémentation complète de cet exemple sur GitHub dans le dépôt adk-samples.
Étape 1 : Définissez votre agent avec McpToolset pour les outils d'agent Maps Experience
Modifiez votre fichier agent.py. Remplacez YOUR_GOOGLE_MAPS_API_KEY par votre clé API réelle.
# ./adk_agent_samples/mcp_agent/agent.py import os from google.adk.agents.llm_agent import Agent from google.adk.tools.mcp_tool import McpToolset from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams # Retrieve the API key from an environment variable or directly insert it. GOOGLE_MAPS_API_KEY = os.getenv("GOOGLE_MAPS_API_KEY") if not GOOGLE_MAPS_API_KEY: GOOGLE_MAPS_API_KEY = "YOUR_GOOGLE_MAPS_API_KEY_HERE" if GOOGLE_MAPS_API_KEY == "YOUR_GOOGLE_MAPS_API_KEY_HERE": print("WARNING: GOOGLE_MAPS_API_KEY is not set.") root_agent = Agent( model='gemini-flash-latest', name='travel_planner_agent', description='A helpful assistant for planning travel routes.', tools=[ McpToolset( connection_params=StreamableHTTPConnectionParams( url="https://mapstools.googleapis.com/mcp", headers={ "X-Goog-Api-Key": GOOGLE_MAPS_API_KEY, "Content-Type": "application/json", "Accept": "application/json, text/event-stream" } ) ) ] )
Étape 2 : Assurez-vous que __init__.py existe
Assurez-vous de disposer d'un fichier __init__.py dans le même répertoire que votre fichier agent.py :
from . import agent
Étape 3 : Exécuter adk web et interagir
- Définir la variable d'environnement :
Définissez votre clé API Google Maps en tant que variable d'environnement dans votre terminal :export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
- Exécutez
adk web:
Exécutez la commande suivante pour démarrer l'interface Web ADK :adk web
- Interagir dans l'UI :
- Sélectionnez le
travel_planner_agent. - Quelques idées de prompts :
- "Je serai à San Francisco demain. Quel temps fait-il ?"
- "Trouve des cafés près du parc du Golden Gate."
- "Get directions from GooglePlex to SFO."
- Sélectionnez le
Java
Définissez un agent qui initialise McpToolset en Java.
Remplacez YOUR_GOOGLE_MAPS_API_KEY_HERE par la clé API que vous avez obtenue si vous n'utilisez pas de variable d'environnement.
package agents; import com.google.adk.agents.LlmAgent; import com.google.adk.runner.InMemoryRunner; import com.google.adk.sessions.SessionKey; import com.google.adk.tools.mcp.McpToolset; import com.google.adk.tools.mcp.StreamableHttpServerParameters; import com.google.genai.types.Content; import com.google.genai.types.Part; import java.util.HashMap; import java.util.Map; public class MapsAgentCreator { public static void main(String[] args) { String googleMapsApiKey = System.getenv("GOOGLE_MAPS_API_KEY"); if (googleMapsApiKey == null || googleMapsApiKey.trim().isEmpty()) { googleMapsApiKey = "YOUR_GOOGLE_MAPS_API_KEY_HERE"; if ("YOUR_GOOGLE_MAPS_API_KEY_HERE".equals(googleMapsApiKey)) { System.out.println("WARNING: GOOGLE_MAPS_API_KEY is not set."); } } Map<String, String> headers = new HashMap<>(); headers.put("X-Goog-Api-Key", googleMapsApiKey); headers.put("Content-Type", "application/json"); headers.put("Accept", "application/json, text/event-stream"); StreamableHttpServerParameters serverParams = StreamableHttpServerParameters.builder("https://mapstools.googleapis.com/mcp") .headers(headers) .build(); try (McpToolset toolset = new McpToolset(serverParams)) { LlmAgent agent = LlmAgent.builder() .model("gemini-flash-latest") .name("travel_planner_agent") .description("A helpful assistant for planning travel routes.") .tools(toolset) .build(); System.out.println("Agent created: " + agent.name()); InMemoryRunner runner = new InMemoryRunner(agent); String userId = "maps-user-" + System.currentTimeMillis(); String sessionId = "maps-session-" + System.currentTimeMillis(); String promptText = "Please give me directions to the nearest pharmacy to Madison Square Garden."; SessionKey sessionKey = runner.sessionService() .createSession(runner.appName(), userId, null, sessionId) .blockingGet() .sessionKey(); System.out.println("Session created: " + sessionId + " for user: " + userId); Content promptContent = Content.fromParts(Part.fromText(promptText)); System.out.println("\nSending prompt: \"" + promptText + "\" to agent...\n"); runner.runAsync(sessionKey, promptContent) .blockingForEach(event -> { System.out.println("Event received: " + event.toJson()); }); } catch (Exception e) { System.err.println("An error occurred: " + e.getMessage()); e.printStackTrace(); } } }
TypeScript
Définissez un agent qui initialise MCPToolset en TypeScript :
import 'dotenv/config'; import {LlmAgent, MCPToolset} from "@google/adk"; const googleMapsApiKey = process.env.GOOGLE_MAPS_API_KEY; if (!googleMapsApiKey) { console.warn("WARNING: GOOGLE_MAPS_API_KEY is not set."); throw new Error( 'GOOGLE_MAPS_API_KEY is not provided, please run "export GOOGLE_MAPS_API_KEY=YOUR_ACTUAL_KEY" to add that.' ); } export const rootAgent = new LlmAgent({ model: "gemini-flash-latest", name: "travel_planner_agent", description: "A helpful assistant for planning travel.", tools: [ new MCPToolset({ type: "SseConnectionParams", url: "https://mapstools.googleapis.com/mcp", headers: { "X-Goog-Api-Key": googleMapsApiKey, "Content-Type": "application/json", "Accept": "application/json, text/event-stream" } }) ], });
Partager des commentaires
Pour nous faire part de vos commentaires sur les outils de l'agent Maps Experience, utilisez les formulaires suivants :