Maps Grounding Lite

Google Maps Platform Grounding Lite est un service compatible avec le protocole MCP (Model Context Protocol) qui facilite l'ancrage de 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 à des fonctionnalités pour les lieux, la météo et les itinéraires. Vous pouvez essayer Maps Grounding Lite en l'activant dans n'importe quel outil compatible avec les serveurs MCP.

Outils

Maps Grounding Lite fournit des outils qui 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 de données de lieux générés par l'IA, ainsi que des ID de lieu, des coordonnées de latitude et de longitude, et des liens Google Maps pour chacun des lieux inclus dans le résumé. Vous pouvez utiliser les ID de lieu et les coordonnées de latitude et de longitude renvoyés avec d'autres API Google Maps Platform pour afficher des lieux sur une carte.
  • Consulter 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 des informations sur les itinéraires en voiture ou à pied entre deux lieux et obtenez des informations sur la distance et la durée de l'itinéraire.

L'activation du serveur MCP Maps Grounding Lite permet aux LLM d'appeler les nouveaux outils exposés par le serveur pour renvoyer des informations d'ancrage supplémentaires pour les types de données listés ci-dessus. Bien que le LLM puisse utiliser ces informations supplémentaires pour le contexte, la réponse qu'il génère finalement 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.

API Resolution (expérimentale)

Maps Grounding Lite fournit l'API Resolution, qui vous permet de résoudre du texte et des URL de lieu de forme libre en identifiants de lieu Google Maps structurés. L'API Resolution se compose de deux points de terminaison :

  • Résoudre des noms: Résolvez un lot de noms ou d'adresses de lieux en entités de lieu 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 des URL Maps : résolvez un lot d'URL Google Maps en entités de lieu spécifiques. Les formats compatibles incluent les URL de lieu standards et les URL raccourcies.

Ces points de terminaison peuvent être utilisés pour ancrer des requêtes ou des liens utilisateur non structurés dans des ID de lieu stables afin de les intégrer à d'autres API Google Maps Platform.

Pour en savoir plus, consultez API Resolution des outils Maps (expérimentale).

Essayer l'exemple d'application Maps Grounding Lite (ouvrir dans un nouvel onglet)

Facturation et quotas

Mode de facturation

Avec le modèle de tarification à l'usage de Google Maps Platform, l'utilisation de Maps Grounding Lite est calculée pour chaque requête, chaque requête représentant un événement de facturation. L'utilisation est suivie pour chaque produit SKU. Votre facture affiche un élément de ligne pour chaque SKU en plus de vos frais totaux. Pour en savoir plus, consultez la présentation des rapports.

Pour en savoir plus sur les tarifs, consultez la grille tarifaire principale et la grille tarifaire pour l'Inde.

Maps Grounding Lite est également proposé dans les forfaits Essentials et Pro Subscribe to save.

Quotas

Les quotas suivants s'appliquent aux outils et aux API fournis par Maps Grounding Lite :

  • Rechercher des lieux : 300 requêtes par minute et par projet.
  • Consulter la 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 des noms (expérimentale) : 600 requêtes par minute et par projet.
  • Résoudre des URL Maps (expérimentale) : 600 requêtes par minute et par projet.

Règles et conditions d'utilisation

Maps Grounding Lite est soumis aux Conditions d'utilisation de Google Maps Platform, y compris aux conditions spécifiques à ce service. Cette section décrit les exigences supplémentaires concernant l'utilisation de Maps Grounding Lite, y compris les LLM compatibles et les exigences d'attribution de la source.

Exigences concernant les LLM compatibles

Vous ne pouvez utiliser Maps Grounding Lite qu'avec un LLM conforme aux Conditions d'utilisation de Google Maps Platform.

Par exemple, vous êtes responsable de 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 Maps Grounding Lite, vous devez consulter les Conditions d'utilisation de tout modèle que vous comptez utiliser avec Maps Grounding Lite. Vous ne devez pas utiliser Maps Grounding Lite 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. Vous êtes responsable de vous assurer que votre utilisation du modèle est entièrement conforme aux restrictions concernant 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 d'outil de Maps Grounding Lite inclut des sources. Lorsque vous présentez des résultats qui utilisent des outils fournis par Maps Grounding Lite, vous devez inclure les sources Google Maps associées d'une manière qui répond aux exigences suivantes :

  • Les sources Google Maps doivent suivre immédiatement le contenu généré qu'elles prennent en charge. Ce contenu généré est également appelé résultat ancré.
  • 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 prennent en charge le summary. Pour places, les métadonnées suivantes sont renvoyées :

  • place (nom de la ressource)
  • id
  • location
  • googleMapsLinks

Pour chaque lieu, vous devez générer un aperçu de lien qui répond aux exigences suivantes :

Configurer les LLM pour qu'ils utilisent le serveur MCP

Pour utiliser Maps Grounding Lite, vous avez d'abord besoin d'un projet Google Cloud avec le service d'API Maps Grounding Lite activé, ainsi que 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 Grounding Lite utilise le transport HTTP en flux.

Activer le service Maps Grounding Lite sur votre projet Google Cloud

Pour activer l'API sur votre projet :

  1. Dans la console Google Cloud, sélectionnez le projet que vous souhaitez utiliser pour Maps Grounding Lite.
  2. Activez la facturation pour le projet dans la Google Cloud Console.
  3. Activez Maps Grounding Lite dans la bibliothèque d'API de Google Cloud Console.

S'authentifier à l'aide d'une clé API

Vous pouvez utiliser une clé API existante avec Maps Grounding Lite ou en créer une, à condition d'activer le service d'API _Maps Grounding Lite_ à la fois sur le projet Google Cloud et sur la clé.

Pour vous authentifier à l'aide d'une clé API :

  1. Créez ou configurez une clé API en suivant les étapes de la section Premiers pas avec Google Maps Platform.
  2. Transmettez la clé au serveur MCP à l'aide de l'en-tête X-Goog-Api-Key. Vous devez spécifier cet 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 :

  1. Dans la console Google Cloud, sélectionnez le projet que vous souhaitez utiliser pour Maps Grounding Lite.
  2. Dans le menu API et services, sélectionnez Identifiants.
  3. Dans le menu supérieur, sélectionnez Créer des identifiants > ID client OAuth.
  4. Si le projet ne dispose pas d'un écran de consentement configuré, cliquez sur Configurer l'écran de consentement , puis suivez les instructions à l'écran.
  5. Dans la section Métriques, cliquez sur Créer un client OAuth.
  6. Sur l'écran Créer un ID client OAuth, sélectionnez un type d'application et saisissez un nom pour l'ID client.
  7. Spécifiez les informations supplémentaires qui concernent votre type d'application. Par exemple, si vous créez une application Web, ajoutez des URI autorisés pour les requêtes de navigateur et de serveur.
  8. Une fois votre client créé, enregistrez l'ID client et le code secret.
  9. Lorsque vous configurez votre hôte MCP ou votre application serveur MCP pour accéder à Maps Grounding Lite, transmettez votre ID client OAuth et votre code secret. Vous devez également demander le champ d'application suivant : https://www.googleapis.com/auth/maps-platform.mapstools.

Pour plus d'informations, consultez Description de l'utilisation du protocole OAuth 2.0 pour l'accès aux API Google.

Configurer les LLM pour qu'ils accèdent au serveur MCP Maps Grounding Lite

Une fois que vous disposez d'un projet Google Cloud avec le service API Maps Grounding Lite activé et des identifiants valides, tels qu'une clé API ou un ID client et un code secret OAuth, vous pouvez configurer les LLM pour qu'ils accèdent au serveur MCP en suivant la documentation de configuration MCP correspondante et en utilisant l'URL du serveur MCP Maps Grounding Lite : https://mapstools.googleapis.com/mcp.

Pour en savoir plus, consultez Configurer MCP dans une application d'IA.

Configurer Maps Grounding Lite avec Gemini CLI

Cette section fournit un exemple de configuration du serveur MCP Maps Grounding Lite à l'aide de Gemini CLI. Pour en savoir plus, consultez la section Serveurs MCP avec Gemini CLI.

  1. Une fois que vous avez installé Gemini CLI, vous pouvez utiliser la commande add pour configurer le serveur MCP Maps Grounding Lite :

    gemini mcp add -s user -t http -H 'X-Goog-Api-Key: API_KEY' maps-grounding-lite-mcp https://mapstools.googleapis.com/mcp
    

    Si la configuration a réussi, vous devriez voir une confirmation indiquant que le serveur a été ajouté à vos paramètres utilisateur.

  2. Pour vérifier que le serveur fonctionne correctement, exécutez la commande /mcp list :

    > /mcp list
    
    Configured MCP servers:
    
    maps-grounding-lite-mcp - Ready (3 tools)
    Tools:
    -   compute_routes
    -   lookup_weather
    -   search_places
    
  3. Commencez à poser des questions liées à Maps avec la CLI. Par exemple, essayez "Recommandez-moi des restaurants à Mountain View", ce qui devrait appeler l'outil search_places en votre nom.

Configurer Grounding Lite avec Agent Development Kit (ADK)

Cette section fournit des exemples qui montrent comment configurer le serveur MCP Grounding Lite à l'aide de Agent Development Kit (ADK) et de Python, Java ou TypeScript.

Python

Étape 1 : Définissez votre agent avec McpToolset pour Google Maps Grounding Lite

Modifiez votre fichier agent.py. Replace YOUR_GOOGLE_MAPS_API_KEY with your actual API key.

# ./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 : Vérifiez que __init__.py existe

Assurez-vous que vous disposez d'un __init__.py dans le même répertoire que votre agent.py :

from . import agent
    
Étape 3 : Exécutez adk web et interagissez
  1. Définissez une variable d'environnement:
    Définissez votre clé API Google Maps comme variable d'environnement dans votre terminal :
    export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
            
  2. Exécutez adk web:
    Exécutez la commande suivante pour démarrer l’interface Web ADK :
    adk web
            
  3. Interagissez dans l'UI:
    • Sélectionnez travel_planner_agent.
    • Essayez des requêtes, par exemple :
      • "Je serai à San Francisco demain. Quel temps fera-t-il ?"
      • "Trouvez des cafés près du Golden Gate Park."
      • "Obtenez l'itinéraire de GooglePlex à SFO."

Java

Définissez un agent qui initialise le 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 le 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"
            }
        })
    ],
});
    

Envoyer des commentaires

Pour envoyer des commentaires sur Maps Grounding Lite, utilisez les formulaires suivants :