Google Maps Platform Grounding Lite è un servizio con supporto per Model Context Protocol (MCP) che semplifica l'ancoraggio delle applicazioni AI con dati geospaziali attendibili di Google Maps. Il server MCP fornisce strumenti che consentono agli LLM di accedere alle funzionalità per luoghi, meteo e percorsi. Puoi provare Maps Grounding Lite attivandolo in qualsiasi strumento che supporti i server MCP.
Strumenti
Maps Grounding Lite fornisce strumenti che consentono agli LLM di accedere alle seguenti funzionalità di Google Maps:
- Cerca luoghi: richiedi informazioni sui luoghi e ottieni riepiloghi dei dati sui luoghi generati dall'AI, nonché ID luogo, coordinate di latitudine e longitudine e link di Google Maps per ciascuno dei luoghi inclusi nel riepilogo. Puoi utilizzare gli ID luogo e le coordinate di latitudine e longitudine restituiti con altre API di Google Maps Platform per mostrare i luoghi su una mappa.
- Cerca meteo: richiedi informazioni sul meteo e restituisci le condizioni attuali, le previsioni orarie e le previsioni giornaliere.
Calcola percorsi: richiedi informazioni sui percorsi in auto o a piedi tra due località e restituisci informazioni sulla distanza e sulla durata del percorso.
L'abilitazione del server MCP di Maps Grounding Lite consente agli LLM di chiamare i nuovi strumenti esposti dal server per restituire ulteriori informazioni di ancoraggio per i tipi di dati elencati sopra. Sebbene l'LLM possa utilizzare queste informazioni aggiuntive per il contesto, la risposta che l'LLM genera in definitiva potrebbe non includere le informazioni esatte restituite dal server MCP. Devi verificare l'accuratezza della risposta generata.
API Resolution (sperimentale)
Maps Grounding Lite fornisce l'API Resolution, che consente di risolvere il testo e gli URL di località in formato libero in identificatori di luoghi di Google Maps strutturati. L'API Resolution è composta da due endpoint:
- Risolvi nomi: risolvi un batch di nomi o indirizzi di località in entità di luoghi specifici su Google Maps. Questa funzionalità è utile per ancorare le query utente non strutturate a ID luogo stabili.
- Risolvi URL di Maps: risolvi un batch di URL di Google Maps in entità di luoghi specifici. I formati supportati includono URL di luoghi standard e URL abbreviati.
Questi endpoint possono essere utilizzati per ancorare query o link utente non strutturati a ID luogo stabili per l'integrazione con altre API di Google Maps Platform.
Per ulteriori informazioni, consulta API Resolution di Maps Tools (sperimentale).
Prova l'app di esempio di Maps Grounding Lite (si apre in una nuova scheda)
Fatturazione e quote
Come vengono addebitati i costi
Con il modello di prezzi pagamento a consumo di Google Maps Platform, l'utilizzo di Maps Grounding Lite viene calcolato per ogni richiesta, dove ogni richiesta rappresenta un evento di fatturazione. L'utilizzo viene monitorato per ogni SKU del prodotto. La fattura mostra una voce per ogni SKU, oltre agli addebiti totali. Per saperne di più, consulta la panoramica dei report.
Per i dettagli sui prezzi, consulta la tabella dei prezzi principale e la tabella dei prezzi per l'India.
Maps Grounding Lite è disponibile anche tramite i pacchetti Essentials e Pro Subscribe to save.
Quote
Le seguenti quote si applicano agli strumenti e alle API forniti da Maps Grounding Lite:
- Cerca luoghi: 300 query al minuto per progetto.
- Cerca meteo: 300 query al minuto per progetto.
- Calcola percorsi: 300 query al minuto per progetto.
- Risolvi nomi (sperimentale): 600 query al minuto per progetto.
- Risolvi URL di Maps (sperimentale): 600 query al minuto per progetto.
Norme e Termini di servizio
Maps Grounding Lite è soggetto ai Termini di servizio di Google Maps Platform, inclusi i termini specifici del servizio per questo servizio. Questa sezione descrive i requisiti di utilizzo del servizio aggiuntivo per Maps Grounding Lite, inclusi gli LLM compatibili e i requisiti di attribuzione della fonte.
Requisiti per gli LLM compatibili
Puoi utilizzare Maps Grounding Lite solo con un LLM conforme ai Termini di servizio di Google Maps Platform.
Ad esempio, è tua responsabilità assicurarti che i contenuti di Google Maps non vengano memorizzati nella cache, archiviati o utilizzati per migliorare l'LLM che scegli di utilizzare. Prima di utilizzare Maps Grounding Lite, dovrai esaminare i Termini di servizio di qualsiasi modello che intendi utilizzare con Maps Grounding Lite. Non devi utilizzare Maps Grounding Lite con modelli che utilizzano i dati inseriti nel modello per l'addestramento o il miglioramento del modello. È tua responsabilità assicurarti che l'utilizzo del modello sia pienamente conforme alle limitazioni dei contenuti di Google Maps nei Termini di servizio di Google Maps Platform, inclusi i termini specifici del servizio.
Requisiti di attribuzione per le fonti di Google Maps
Ogni risposta dello strumento di Maps Grounding Lite include le fonti. Quando presenti i risultati che utilizzano gli strumenti forniti da Maps Grounding Lite, devi includere le fonti di Google Maps associate in modo da soddisfare i seguenti requisiti:
- Le fonti di Google Maps devono seguire immediatamente i contenuti generati che supportano le fonti. Questi contenuti generati sono anche chiamati output ancorato.
- Le fonti di Google Maps devono essere visualizzabili in un'unica interazione utente.
Fonti per lo strumento Cerca luoghi
Il campo places dello strumento search_places fornisce le fonti che supportano il
summary. Per places, vengono restituiti i seguenti metadati:
place(nome risorsa)idlocationgoogleMapsLinks
Per ogni luogo, devi generare un'anteprima del link che soddisfi questi requisiti:
- Attribuisci ogni fonte a Google Maps, seguendo le linee guida per l'attribuzione del testo di Maps Grounding Lite.
- Crea un link alla fonte utilizzando
places.googleMapsLinks.placeUrldalla risposta.
Configurare gli LLM per utilizzare il server MCP
Per utilizzare Maps Grounding Lite, devi prima avere un progetto Google Cloud con il servizio API Maps Grounding Lite abilitato, nonché una chiave API o un ID client OAuth. Poi, puoi configurare gli LLM per accedere al server MCP. Il server MCP di Grounding Lite utilizza il trasporto HTTP in streaming.
Abilitare il servizio Maps Grounding Lite nel progetto Google Cloud
Per abilitare l'API nel progetto:
- Nella console Google Cloud, scegli il progetto che vuoi utilizzare per Maps Grounding Lite.
- Abilita la fatturazione per il progetto nella console Google Cloud.
- Abilita Maps Grounding Lite nella Google Cloud libreria API della console.
Eseguire l'autenticazione utilizzando una chiave API
Puoi utilizzare una chiave API esistente con Maps Grounding Lite o crearne una nuova, a condizione che tu abiliti il servizio API Maps Grounding Lite sia nel progetto Google Cloud sia nella chiave.
Per eseguire l'autenticazione utilizzando una chiave API:
- Crea o configura una chiave API seguendo i passaggi descritti in Inizia a utilizzare Google Maps Platform.
- Passa la chiave al server MCP utilizzando l'intestazione
X-Goog-Api-Key. Devi specificarla come intestazione HTTP personalizzata nella configurazione dello strumento MCP dell'LLM.
Eseguire l'autenticazione utilizzando OAuth
Puoi eseguire l'autenticazione utilizzando OAuth creando le credenziali OAuth e passandole all'host MCP o all'applicazione server MCP.
Per eseguire l'autenticazione utilizzando OAuth:
- Nella console Google Cloud, scegli il progetto che vuoi utilizzare per Maps Grounding Lite.
- Nel menu API e servizi, seleziona Credenziali.
- Nel menu in alto, seleziona Crea credenziali > ID client OAuth.
- Se il progetto non ha una schermata per il consenso configurata, fai clic su Configura schermata per il consenso e segui le istruzioni sullo schermo.
- Nella sezione Metriche, fai clic su Crea client OAuth.
- Nella schermata Crea ID client OAuth, seleziona un tipo di applicazione e inserisci un nome per l'ID client.
- Specifica i dettagli aggiuntivi pertinenti al tipo di applicazione. Ad esempio, se stai creando un'applicazione web, aggiungi URI autorizzati per le richieste del browser e del server.
- Una volta creato il client, salva l'ID client e il segreto.
- Quando configuri l'host MCP o l'applicazione server MCP per accedere a Maps Grounding Lite, passa l'ID client OAuth e il segreto. Devi anche richiedere il seguente ambito:
https://www.googleapis.com/auth/maps-platform.mapstools.
Per saperne di più, consulta Utilizzare OAuth 2.0 per accedere alle API di Google.
Configurare gli LLM per accedere al server MCP di Maps Grounding Lite
Una volta che hai un progetto cloud Google Cloud con il servizio API Maps Grounding Lite abilitato e credenziali valide, come una chiave API o un ID client OAuth e un secret, puoi configurare gli LLM per accedere al server MCP seguendo la documentazione di configurazione MCP corrispondente e utilizzando l'URL del server MCP di Maps Grounding Lite: https://mapstools.googleapis.com/mcp
Per saperne di più, consulta Configurare MCP in un'applicazione AI applicazione.
Configurare Maps Grounding Lite con Gemini CLI
Questa sezione fornisce un esempio di come configurare il server MCP di Maps Grounding Lite utilizzando Gemini CLI. Per maggiori dettagli, consulta la sezione Server MCP con Gemini CLI.
Dopo aver installato Gemini CLI, puoi utilizzare il comando add per configurare il server MCP di 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/mcpSe la configurazione è andata a buon fine, dovresti visualizzare una conferma che il server è stato aggiunto alle impostazioni utente.
Per verificare che il server funzioni correttamente, esegui il comando
/mcp list:> /mcp list Configured MCP servers: maps-grounding-lite-mcp - Ready (3 tools) Tools: - compute_routes - lookup_weather - search_placesInizia a porre domande relative a Maps con la CLI. Ad esempio, prova "Consigliami alcuni ristoranti a Mountain View", che dovrebbe chiamare lo strumento search_places per tuo conto.
Configurare Grounding Lite con Agent Development Kit (ADK)
Questa sezione fornisce esempi che mostrano come configurare il server MCP di Grounding Lite utilizzando Agent Development Kit (ADK) e Python, Java o TypeScript.
Python
Passaggio 1: definisci l'agente con McpToolset per Google Maps Grounding Lite
Modifica il file agent.py. Sostituisci
YOUR_GOOGLE_MAPS_API_KEY con la chiave API effettiva.
# ./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" } ) ) ] )
Passaggio 2: assicurati che __init__.py esista
Assicurati di avere un __init__.py nella stessa directory di
agent.py:
from . import agent
Passaggio 3: esegui adk web e interagisci
- Imposta la variabile di ambiente:
imposta la chiave API di Google Maps come variabile di ambiente nel terminale:export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
- Esegui
adk web:
esegui il seguente comando per avviare l'interfaccia web ADK:adk web
- Interagisci nell'interfaccia utente:
- Seleziona
travel_planner_agent. - Prova prompt come:
- "Domani sarò a San Francisco. Che tempo fa?"
- "Trova caffetterie vicino al Golden Gate Park."
- "Indicazioni stradali da GooglePlex a SFO."
- Seleziona
Java
Definisci un agente che inizializza McpToolset in Java.
Sostituisci YOUR_GOOGLE_MAPS_API_KEY_HERE con la chiave API effettiva
che hai ottenuto se non utilizzi una variabile di ambiente.
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
Definisci un agente che inizializza MCPToolset in 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" } }) ], });
Condividere feedback
Per condividere il tuo feedback su Maps Grounding Lite, utilizza i seguenti moduli: