As ferramentas de agente do Maps Experience (antigo Maps Grounding Lite) são um serviço da Plataforma Google Maps com suporte ao protocolo de contexto de modelo (MCP) e REST para embasar seus aplicativos de IA com dados geoespaciais confiáveis do Google Maps. As ferramentas permitem que os LLMs acessem dados de lugares, clima, qualidade do ar, pólen e rotas. Outras ferramentas resolvem nomes de locais e URLs do Google Maps para IDs de lugar. Para testar as ferramentas do agente da Experiência do Maps, ative o servidor MCP em qualquer ferramenta que ofereça suporte a servidores MCP. Também é possível chamar cada ferramenta como um método REST. Para mais detalhes, consulte Chamar as ferramentas com REST.
As ferramentas de agentes Maps Experience são um produto com duas SKUs: Essentials e Pro. Cada solicitação é faturada de acordo com o Essentials, a menos que use uma opção Pro. As opções Pro adicionam pesquisas de lugares ao longo de um trajeto, detalhes estendidos de lugares, mais lugares por pesquisa, mais paradas intermediárias por trajeto, rotas com trânsito em tempo real, previsões de pólen e qualidade do ar histórica. As duas SKUs usam as mesmas ferramentas, servidor MCP, métodos REST e credenciais. Para mais detalhes, consulte Essentials e Pro.
Ferramentas
As ferramentas de agentes Maps Experience permitem que os LLMs acessem os seguintes recursos do Google Maps:
- Pesquisar lugares: solicite informações sobre lugares e receba resumos gerados com IA. A resposta também inclui IDs de lugar, coordenadas de latitude/longitude e links do Google Maps para cada lugar no resumo. Você pode usar os IDs de lugar e as coordenadas de latitude/longitude com outras APIs da Plataforma Google Maps para mostrar lugares em um mapa. Para mostrar esses lugares com o Kit de Interface do Places sem custo financeiro adicional, use o token de visualização de dados agênticos (pré-lançamento). Com o Pro, você pode solicitar detalhes estendidos de lugares, como insights de avaliações, e até 10 lugares por solicitação.
- Pesquisar ao longo do trajeto:
Encontre lugares ao longo de um trajeto de viagem, especificado usando um
retrieval_tokendecompute_routes,route_endpointsou umencoded_polyline, e receba um resumo gerado com IA, detalhes do lugar, distância do desvio e tempo de viagem, além de um token de visualização de dados agêntico (pré-lançamento). Cada solicitação desearch_along_routeé faturada com a SKU Pro. - Consultar o clima: solicite as condições ambientais de um local, incluindo o clima (condições atuais, histórico de 24 horas e previsões diárias e de hora em hora para até 10 dias) e a qualidade do ar atual ou para até quatro dias. Com o Pro, você também pode solicitar previsões diárias de pólen de até 5 dias (com detalhes sobre as espécies de plantas) e até 30 dias de histórico de qualidade do ar por hora.
Calcular rotas: solicite uma rota entre uma origem e um destino, opcionalmente com paradas intermediárias, e retorne a distância, a duração e um
retrievalTokenpara rotasDRIVEque podem ser transmitidas parasearch_along_route. Com o Pro, as rotas podem considerar as condições de trânsito em tempo real e incluir mais paradas intermediárias.Resolver nomes e Resolver URLs do Maps: resolva nomes de locais, endereços e URLs do Google Maps para IDs de lugar. Para mais informações, consulte API Resolution.
Depois de ativar o servidor MCP, os LLMs podem chamar as ferramentas dele para receber informações de embasamento para esses tipos de dados. O LLM pode usar essas informações como contexto. No entanto, a resposta final pode não incluir as informações exatas que o servidor MCP retornou. Verifique a precisão da resposta gerada.
Essentials e Pro
O Essentials e o Pro são duas SKUs do mesmo produto, não produtos ou planos separados. Uma solicitação é faturada no Pro quando usa uma opção do Pro. Todas as outras solicitações são faturadas no Essentials. As opções Pro são campos comuns na solicitação da ferramenta, então um LLM pode usá-las em seu nome. Um agente também pode usar as duas SKUs na mesma conversa. Por exemplo, um agente pode usar o Essentials para encontrar cafeterias perto de um ponto de referência. Em seguida, ele pode usar o Pro para responder a uma pergunta sobre as bebidas exclusivas e os assentos. Não há um servidor, endpoint ou credencial MCP separado para o Pro.
Comparar as edições Essentials, Pro e o embasamento com o Google Maps
O embasamento com o Google Maps é um produto separado. Ele está integrado aos modelos do Gemini na API Gemini, no Google AI Studio e na Gemini Enterprise Agent Platform. O modelo decide quando consultar o Google Maps e retorna respostas embasadas com citações. Escolha o embasamento com o Google Maps ao criar no Gemini e quiser que o modelo processe o embasamento. Escolha as ferramentas de agentes Maps Experience para outros modelos ou frameworks de agentes ou para controle direto de cada chamada de ferramenta.
A tabela a seguir compara as SKUs Essentials, Pro e de embasamento com o Google Maps:
| ferramenta de agentes Maps Experience | Embasamento com o Google Maps | ||
|---|---|---|---|
| SKU Essentials (antigo Maps Grounding Lite) |
SKU do Pro | ||
| Como as solicitações são faturadas | Cada solicitação de ferramenta que não usa uma opção Pro | Cada solicitação do search_along_route ou qualquer solicitação para
outra ferramenta que use uma opção Pro. Consulte
O que é faturado na SKU Pro. |
Cada consulta do Google Maps ou comando embasado, dependendo da plataforma e do modelo |
| Modelos e plataformas | Qualquer modelo ou framework de agente que ofereça suporte ao MCP ou possa chamar APIs REST. Um conjunto de ferramentas e as mesmas credenciais para as duas SKUs | Modelos do Gemini na API Gemini, no Google AI Studio e na Gemini Enterprise Agent Platform | |
| O que as ferramentas retornam | Fatos principais: detalhes de até 5 lugares por pesquisa, distância e duração do trajeto sem trânsito em tempo real, clima atual e previsões (além do histórico de clima por hora de 24 horas) e qualidade do ar atual ou prevista | Tudo no Essentials, além de lugares ao longo de um trajeto com tempo e distância de desvio, detalhes estendidos do lugar (como insights de avaliações), até 10 lugares por pesquisa, rotas com trânsito em tempo real, até 25 waypoints intermediários, previsões de pólen e até 30 dias de histórico de qualidade do ar | Place Details e insights de avaliações e informações de rota com trânsito em tempo real |
| Exemplos de solicitação | Perguntas factuais e logísticas: encontrar lojas ou empresas, horários de funcionamento, endereços, estimativas de distância ou tempo de viagem, clima atual, previsões do tempo para 10 dias e previsões da qualidade do ar atuais ou para quatro dias | Perguntas subjetivas, amplas ou especializadas: lugares ao longo de um trajeto, ambiente, pratos exclusivos, dicas para visitantes, comparações de 6 a 10 lugares, tempos de viagem no trânsito atual, previsões de pólen e alergia e histórico de qualidade do ar nos últimos 30 dias | Pesquisa conversacional, planejamento de itinerários e descoberta local no Gemini |
| Visualizações do Kit de Interface do Places | Incluído sem custo financeiro adicional com o token de visualização de dados agêntica (pré-lançamento) | Faturados separadamente | |
| Uso mensal sem custo financeiro | 10.000 solicitações | 5.000 solicitações | Depende da plataforma e do modelo. Por exemplo, na API Gemini, o Gemini 3 e os modelos mais recentes incluem 5.000 consultas de pesquisa por mês sem custo financeiro. Depois disso, as consultas de pesquisa custam US $14 por mil. |
| Preço de pagamento por uso | US$ 7,00 por 1.000 solicitações, com descontos por volume | US$ 14,00 por 1.000 solicitações, com descontos por volume | |
| Assine para economizar | Incluído nos planos Essentials e Pro | Incluído no plano Pro | Indisponível |
| Primeiros passos | Uma configuração para as duas SKUs: consulte Configurar LLMs para usar o servidor MCP ou Chamar as ferramentas com REST. | API Gemini ou Agent Platform | |
Essas opções funcionam da mesma forma com qualquer SKU: modos de viagem, horários de partida e chegada, rotas alternativas, polilinhas de rota, consultas de clima, consultas de qualidade do ar atual e prevista (incluindo concentrações de poluentes e escalas locais de IQA), sistemas de unidades climáticas e a API Resolution. Elas não mudam a SKU em que uma solicitação é faturada.
O que é faturado na SKU Pro
A tabela a seguir resume quais recursos estão incluídos no Essentials e quais exigem a SKU Pro:
| Ferramenta | Capacidade | Essentials | Pro |
|---|---|---|---|
| Pesquisar lugares | Lugares por solicitação | Até 5 | 6 a 10 (page_size de 6 a 10) |
| Detalhes estendidos do lugar nos resumos da pesquisa (insights de avaliações, destaques do menu, atmosfera, movimento, dicas de visitantes e distância ou tempo de viagem para consultas de proximidade) | Indisponível | Disponível com include_extended_details |
|
| Pesquisar no trajeto | Lugares ao longo de um trajeto, distância e tempo de viagem do desvio e detalhes estendidos opcionais do lugar ou tempos de desvio considerando o trânsito | Indisponível | Cada solicitação |
| Compute Routes | Preferência de roteamento | Não considera o trânsito em tempo real | Considera o trânsito em tempo real ou os dados de transporte público em tempo real para rotas de transporte público, com ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
| Waypoints intermediários por trajeto | Até 10 | 11 a 25 (mais de 10 intermediate_waypoints) |
|
| Consultar o clima | Clima | Clima atual, previsões por hora e diárias (até 10 dias) e
histórico por hora de até 24 horas (WEATHER em
capabilities ou solicitações legadas que omitem
capabilities, weather_options,
air_quality_options e language_code) |
Não há opções Pro (todos os dados do WEATHER estão incluídos no
Essentials) |
| Qualidade do ar | Condições atuais, resultados por hora do dia inteiro e previsões por hora de até 4 dias (AIR_QUALITY em capabilities) |
Qualidade do ar histórica de até 30 dias no passado
(AIR_QUALITY em capabilities com um
date antes de hoje ou um hour anterior no
fuso horário do local), quando retornada na resposta |
|
| Pólen | Indisponível | Previsões diárias de pólen de até 5 dias e detalhes de espécies de plantas
(POLLEN em capabilities), quando retornados na
resposta |
|
| API Resolution | Não há opções do Pro. Todas as solicitações são faturadas sem custo financeiro na SKU Places API Text Search Essentials (somente IDs). | ||
Para ver as opções de solicitação que ativam cada recurso, consulte Pesquisar lugares, Pesquisar ao longo do trajeto, Calcular rotas e Consultar clima.
Controlar o uso do Pro
As opções Pro ficam desativadas por padrão no search_places, compute_routes e
lookup_weather. Um LLM os define ou chama search_along_route quando a solicitação do usuário os exige e a descrição da ferramenta ou suas instruções permitem.
As descrições das ferramentas informam ao modelo quais opções custam mais e quando usá-las: um page_size acima de 5, detalhes de lugar estendidos, mais de 10 waypoints intermediários, rotas que consideram o trânsito e search_along_route. Se você chamar as
ferramentas com REST, seu código vai definir todas as opções. Para gerenciar os custos:
- Informe ao modelo quando as opções Pro são adequadas. Por exemplo: "Defina
include_extended_detailsapenas quando o usuário perguntar sobre avaliações, cardápios ou ambiente". Ou: "UseROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMALsomente quando o usuário pedir o tempo de viagem atual". Ou: "Chamesearch_along_routesomente quando o usuário pedir lugares ao longo de um trajeto". Ou: "IncluaPOLLENouAIR_QUALITYcom umdateouhouranterior, somente quando o usuário perguntar sobre pólen, alergias ou histórico de qualidade do ar". - Para manter um agente na SKU Essentials, instrua o modelo a nunca chamar
search_along_routeou usar uma opção Pro. As opções Pro sãoinclude_extended_details,page_sizeacima de 5,ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, mais de 10 waypoints intermediários,POLLENemcapabilitiese umdateouhouranterior comAIR_QUALITYemcapabilities. Se o cliente MCP puder restringir ferramentas ou argumentos de ferramentas, você também poderá bloquearsearch_along_routee esses valores de argumento na configuração da ferramenta. - Monitore a SKU do Maps Grounding Pro nos seus relatórios de faturamento e defina alertas de orçamento.
API Resolution
As ferramentas de agentes Experimentos do Maps oferecem a API Resolution. Ela resolve textos de localização de formato livre e URLs para identificadores de lugar estruturados do Google Maps. A API Resolution está disponível como métodos REST e como ferramentas no servidor MCP:
- Resolver nomes (REST, MCP): resolve um lote de nomes ou endereços de locais para entidades de lugar específicas no Google Maps. Essa ferramenta ajuda a fundamentar consultas não estruturadas de usuários em IDs de lugar estáveis.
- Resolver URLs do Maps (REST, MCP): resolve um lote de URLs do Google Maps para entidades de lugar específicas. Os formatos compatíveis incluem URLs de lugares padrão e URLs encurtados.
Você pode usar os IDs de lugar retornados com outras APIs da Plataforma Google Maps. Cada resposta também inclui um link que salva os lugares resolvidos como uma lista no Google Maps.
Para mais informações, consulte a API Maps Tools Resolution.
Teste o app de exemplo (abre em uma nova guia)
Faturamento e cotas
Como a cobrança é feita
Com o modelo de pagamento por uso da Plataforma Google Maps, o uso das ferramentas de agente da Experiência do Maps é calculado para cada solicitação. Cada solicitação representa um evento de faturamento. O uso de cada SKU de produto é rastreado. Sua fatura mostra um item de linha para cada SKU, além das cobranças totais. Consulte a Visão geral dos relatórios para mais informações.
Cada solicitação de Pesquisar lugares, Pesquisar no trajeto, Calcular rotas ou Consultar clima,
pelo servidor MCP ou com REST, é faturada em uma SKU:
Maps Grounding Essentials
ou
Maps Grounding Pro.
Cada solicitação search_along_route e qualquer solicitação que use uma opção Pro é
faturada na SKU Pro. Uma solicitação nunca é faturada com as duas SKUs, e o
número de opções Pro em uma solicitação não muda a cobrança. Para saber quais
recursos e opções determinam a SKU de cada ferramenta, consulte
O que é faturado na SKU Pro.
As solicitações do Maps Grounding Essentials são cobradas a US $7,00 por 1.000 solicitações após as primeiras 10.000 solicitações de cada mês. As solicitações do Maps Grounding Pro são cobradas a US $14,00 por 1.000 solicitações após as primeiras 5.000 solicitações mensais. As duas SKUs têm descontos por volume para uso mensal mais alto.
Consulte a tabela de preços principal e a tabela de preços da Índia para mais detalhes.
As solicitações de API Resolution (ResolveNames e ResolveMapsUrls) são cobradas sem custo financeiro na SKU Text Search Essentials da API Places (somente IDs).
Se você exibir os lugares de uma resposta search_places ou search_along_route com o Kit de Interface do Places, poderá usar o token de visualização de dados agêntica (pré-lançamento) para que essas solicitações do Kit de Interface do Places não sejam faturadas.
O uso da SKU Essentials está incluído nos planos Assine para economizar Essentials e Pro. O uso da SKU Pro está incluído no plano Pro.
Cotas
As cotas a seguir se aplicam às ferramentas e APIs fornecidas pelas ferramentas de agentes Experimentos do Maps:
- Pesquisar lugares: 300 consultas por minuto para cada projeto.
- Pesquisa ao longo do trajeto: 300 consultas por minuto para cada projeto.
- Previsão do tempo: 300 consultas por minuto para cada projeto.
- Calcular rotas: 300 consultas por minuto para cada projeto.
- Resolver nomes: 600 consultas por minuto para cada projeto.
- Resolve Maps URLs: 600 consultas por minuto para cada projeto.
As cotas são contadas para cada ferramenta e compartilhadas pelas SKUs Essentials e Pro. Uma solicitação do Pro consome a mesma cota que uma solicitação do Essentials para a mesma ferramenta.
Cada solicitação de API Resolution conta como uma consulta, independentemente de quantos itens ela contém.
Políticas e Termos de Serviço
As ferramentas de Experimentos do Maps estão sujeitas aos Termos de Serviço da Plataforma Google Maps, incluindo os termos específicos do serviço. Nesta seção, descrevemos outros requisitos de uso para as ferramentas do agente da Experiência do Maps, incluindo LLMs compatíveis e atribuição de origem. Os requisitos se aplicam a todos os resultados, independentemente da SKU em que uma solicitação é cobrada.
Requisitos para LLMs compatíveis
Só é permitido usar as ferramentas de agente da Experiência do Maps com um LLM que esteja em conformidade com os Termos de Serviço da Plataforma Google Maps.
Por exemplo, você é responsável por garantir que o Conteúdo do Google Maps não seja armazenado em cache, armazenado ou usado para melhorar o LLM que você escolher usar. Antes de usar as ferramentas de agente do Maps Experience, leia os Termos de Serviço de qualquer modelo que você pretenda usar com elas. Não use as ferramentas de agente da Experiência do Maps com modelos que usem os dados inseridos no modelo para treinamento ou melhoria. Você é responsável por garantir que o uso do modelo esteja em total conformidade com as restrições de conteúdo do Google Maps nos Termos de Serviço da Plataforma Google Maps, incluindo os termos específicos do serviço.
Requisitos de atribuição para fontes do Google Maps
Cada resposta das ferramentas de agentes Maps Experience inclui fontes. Ao apresentar resultados das ferramentas de agentes Experimentos do Maps, é necessário incluir as fontes associadas do Google Maps e atender aos seguintes requisitos:
- As fontes do Google Maps precisam seguir imediatamente o conteúdo gerado que elas apoiam. Esse conteúdo gerado também é chamado de Resposta embasada.
- As fontes do Google Maps precisam ser visíveis em uma interação do usuário.
Fontes para as ferramentas "Pesquisar lugares" e "Pesquisar no trajeto"
O campo places da ferramenta search_places e o campo results[].place da ferramenta search_along_route fornecem fontes que dão suporte ao summary. Para cada
lugar, os seguintes metadados são retornados:
place(nome do recurso)idlocationgoogleMapsLinksattribution
Para cada lugar, é necessário gerar uma prévia de link que atenda a estes requisitos:
- Atribua cada fonte ao Google Maps, seguindo as diretrizes de atribuição de texto das ferramentas de agentes Experimentos do Maps.
- Vincule à fonte usando
googleMapsLinks.placeUrlda resposta.
Esses requisitos também se aplicam a resumos que incluem detalhes estendidos de lugares
do Pro, como insights de avaliações. O summary cita cada lugar com um índice baseado em zero, como [0], que é mapeado para uma entrada em places ou results.
Cada lugar também inclui googleMapsLinks.reviewsUrl, que direciona para as avaliações do lugar no Google Maps. Os usuários podem seguir o link para ver as avaliações por trás de um
insight.
Interfaces que priorizam a voz
Se o app apresentar os resultados das ferramentas de agentes Experimentos do Maps por voz, você também precisará atender aos requisitos para interfaces que priorizam a voz. Em resumo:
- Fontes: mostre as fontes do Google Maps em uma interface complementar que exibe um registro histórico literal da conversa por voz.
- Declaração ativa: no momento da interação, informe aos usuários que o conteúdo gerado com IA pode incluir informações do Google Maps. Informe também que as fontes detalhadas estão disponíveis na interface complementar. Você pode fazer isso na tela ou por voz.
- Declaração persistente: mantenha uma explicação persistente, por exemplo, em um menu de configurações de voz, informando que o conteúdo gerado com IA pode incluir conteúdo do Google Maps.
- Consultas do usuário: responda com precisão às perguntas dos usuários sobre a fonte do conteúdo e direcione-os para a interface complementar para mais detalhes.
Configurar LLMs para usar o servidor MCP
Para usar as ferramentas de agentes Maps Experience, você precisa de um projeto do Google Cloud com o serviço de API ferramentas de agentes Maps Experience ativado. Você também precisa de uma chave de API ou um ID do cliente OAuth. Em seguida, configure os LLMs para acessar o servidor MCP. O servidor MCP usa o transporte HTTP transmissível.
Ative as ferramentas de agentes Maps Experience no seu projeto do Google Cloud.
Para ativar a API no seu projeto:
- No console do Google Cloud, escolha o projeto que você quer usar para as ferramentas de agente da Experiência do Maps.
- Ative o faturamento para o projeto no Console do Google Cloud.
- Ative as ferramentas de agente da Experiência do Maps na biblioteca de APIs do console do Google Cloud.
Autenticar usando uma chave de API
Você pode usar uma chave de API atual com as ferramentas de agentes Maps Experience ou criar uma nova. De qualquer forma, ative o serviço da API Ferramentas do agente de experiência do Maps no projeto do Google Cloud e na chave.
Para autenticar usando uma chave de API:
- Crie ou configure uma chave de API seguindo as etapas em Introdução à Plataforma Google Maps.
- Transmita a chave para o servidor MCP usando o cabeçalho
X-Goog-Api-Key. É necessário especificar isso como um cabeçalho HTTP personalizado na configuração da ferramenta MCP do LLM.
Autenticar usando OAuth
É possível autenticar usando o OAuth criando credenciais OAuth e transmitindo-as para o host MCP ou o aplicativo do servidor MCP.
Para autenticar usando o OAuth:
- No console do Google Cloud, escolha o projeto que você quer usar para as ferramentas de agente da Experiência do Maps.
- No menu APIs e serviços, selecione Credenciais.
- No menu superior, selecione Criar credenciais > ID do cliente OAuth.
- Se o projeto não tiver uma tela de permissão configurada, clique em Configurar tela de permissão e siga as instruções na tela.
- Na seção Métricas, clique em Criar cliente OAuth.
- Na tela Criar ID do cliente OAuth, selecione um tipo de aplicativo e insira um nome para o ID do cliente.
- Especifique os detalhes adicionais relevantes para seu tipo de aplicativo. Por exemplo, se você estiver criando um aplicativo da Web, adicione URIs autorizados para solicitações de navegador e servidor.
- Depois que o ID do cliente for criado, salve o ID do cliente e a chave secreta.
- Ao configurar o aplicativo host ou servidor MCP, transmita o ID do cliente OAuth e a chave secreta. Você também precisa solicitar o seguinte escopo:
https://www.googleapis.com/auth/maps-platform.mapstools.
Para mais informações, consulte Como usar o OAuth 2.0 para acessar as APIs do Google.
Configurar LLMs para acessar o servidor MCP de ferramentas de agentes Experimentos do Maps
Depois de ativar o serviço de ferramentas do agente da Experiência do Maps e criar credenciais, configure os LLMs para acessar o servidor MCP. Siga a documentação de configuração do MCP do seu LLM e use o URL do servidor MCP: https://mapstools.googleapis.com/mcp
Para mais informações, consulte Configurar o MCP em um aplicativo de IA.
Configurar as ferramentas de Experimentos do Maps com a CLI do Gemini
Nesta seção, mostramos um exemplo de como configurar o servidor MCP de ferramentas de agente da Experiência do Maps usando a CLI do Gemini. Para mais detalhes, consulte Servidores MCP com a CLI do Gemini.
Depois de instalar a CLI do Gemini, execute
gemini mcp addpara configurar o servidor MCP:gemini mcp add -s user -t http -H 'X-Goog-Api-Key: API_KEY' maps-experience-agent-tools-mcp https://mapstools.googleapis.com/mcpSe a configuração tiver sido bem-sucedida, você vai receber uma confirmação de que o servidor foi adicionado às suas configurações de usuário.
Para validar se o servidor está funcionando, execute o comando
/mcp list:> /mcp list Configured MCP servers: maps-experience-agent-tools-mcp - Ready (6 tools) Tools: - compute_routes - lookup_weather - resolve_maps_urls - resolve_names - search_along_route - search_placesComece a Perguntar ao Maps com a CLI. Por exemplo, tente "Recomende alguns restaurantes em Mountain View", que chama a ferramenta
search_placesem seu nome.
Configurar ferramentas de agentes Experimentos do Maps com o Kit de Desenvolvimento de Agente (ADK)
Nesta seção, mostramos como configurar o servidor MCP com o Kit de Desenvolvimento de Agente (ADK) em Python, Java ou TypeScript.
Python
Uma implementação completa desse exemplo está disponível no GitHub, no repositório adk-samples.
Etapa 1: definir o agente com McpToolset para as ferramentas de agentes Maps Experience
Modifique o arquivo agent.py. Substitua
YOUR_GOOGLE_MAPS_API_KEY pela sua chave de API real.
# ./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" } ) ) ] )
Etapa 2: garantir que __init__.py exista
Verifique se você tem um __init__.py no mesmo diretório que o
agent.py:
from . import agent
Etapa 3: executar adk web e interagir
- Defina a variável de ambiente:
Defina sua chave de API Google Maps como uma variável de ambiente no terminal:export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
- Execute
adk web:
Execute o seguinte comando para iniciar a interface da web do ADK:adk web
- Interagir na interface:
- Selecione a
travel_planner_agent. - Teste comandos como:
- "Vou estar em São Francisco amanhã. Como está o clima?"
- "Encontre cafeterias perto do Parque Ibirapuera."
- "Rotas do GooglePlex até o SFO."
- Selecione a
Java
Defina um agente que inicialize o McpToolset em Java.
Substitua YOUR_GOOGLE_MAPS_API_KEY_HERE pela chave de API real
que você recebeu se não usar uma variável de 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
Defina um agente que inicialize o MCPToolset em 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: "StreamableHTTPConnectionParams", url: "https://mapstools.googleapis.com/mcp", transportOptions: { requestInit: { headers: { "X-Goog-Api-Key": googleMapsApiKey, "Content-Type": "application/json", "Accept": "application/json, text/event-stream" } } } }) ], });
Chamar as ferramentas com REST
Cada ferramenta em ferramentas de agente do Experimentos do Maps também está disponível como um método REST. Chame os métodos REST diretamente quando quiser conectar as ferramentas ao seu próprio agente ou aplicativo. Por exemplo, para declarar suas próprias funções para um modelo, escolher quais opções o modelo pode definir ou definir valores padrão no código.
A tabela a seguir lista o método REST para cada ferramenta:
| Ferramenta | Método REST |
|---|---|
search_places |
POST https://mapstools.googleapis.com/v1:searchText |
search_along_route |
POST https://mapstools.googleapis.com/v1:searchAlongRoute |
lookup_weather |
POST https://mapstools.googleapis.com/v1:lookupWeather |
compute_routes |
POST https://mapstools.googleapis.com/v1:computeRoutes |
resolve_names |
POST https://mapstools.googleapis.com/v1:resolveNames |
resolve_maps_urls |
POST https://mapstools.googleapis.com/v1:resolveMapsUrls |
Uma solicitação REST usa as mesmas opções da ferramenta correspondente e retorna a
mesma resposta. Nos corpos de solicitação e resposta REST, os nomes de campo usam letras concatenadas
em minúsculas, por exemplo, textQuery em vez de text_query. As solicitações REST são faturadas
com as mesmas SKUs, seguem as mesmas regras para as opções Pro e são contabilizadas nas
mesmas cotas que as chamadas de ferramenta do MCP.
Para autenticar, use o mesmo projeto na nuvem e as mesmas credenciais do Google Cloud do servidor MCP. Para conferir as etapas de configuração, consulte
Configurar LLMs para usar o servidor MCP.
Transmita uma chave de API no cabeçalho X-Goog-Api-Key ou um token de acesso OAuth com o escopo https://www.googleapis.com/auth/maps-platform.mapstools no cabeçalho Authorization.
O exemplo a seguir chama o método searchText:
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-d '{
"textQuery": "coffee shops near Golden Gate Park"
}' \
"https://mapstools.googleapis.com/v1:searchText"
Substitua API_KEY pela sua chave de API.
A resposta contém os mesmos campos summary, places e contentToken que
um resultado da ferramenta search_places. O guia de cada ferramenta mostra uma versão REST do
exemplo.
Enviar comentários
Para enviar feedback sobre as ferramentas de agentes dos Experimentos do Maps, use os seguintes formulários: