Herramientas de agentes de Maps Experience

Las herramientas de agentes de Maps Experience (antes Maps Grounding Lite) son un servicio de Google Maps Platform con compatibilidad con el Protocolo de contexto del modelo (MCP) para fundamentar tus aplicaciones de IA con datos geoespaciales confiables de Google Maps. El servidor de MCP proporciona herramientas que permiten que los LLM accedan a datos de lugares, clima y rutas. Otras herramientas resuelven los nombres de las ubicaciones y las URLs de Google Maps en IDs de lugar. Puedes probar las herramientas de agente de Maps Experience habilitándolas en cualquier herramienta que admita servidores de MCP.

Las herramientas de agentes de Maps Experience son un producto con dos SKU: Essentials y Pro. Cada solicitud se factura con Essentials, a menos que use una opción de Pro. Las opciones de Pro agregan detalles de lugares extendidos, más lugares por búsqueda, más paradas intermedias por ruta y planificación de rutas con tráfico en tiempo real. Durante la fase de DG restringida, las opciones de Pro solo están disponibles para los proyectos incluidos en la lista de entidades permitidas de Pro. Ambos SKUs usan el mismo servidor de MCP, las mismas herramientas y las mismas credenciales. Para obtener más detalles, consulta Essentials y Pro.

Herramientas

Las herramientas de agente de Maps Experience permiten que los LLM accedan a las siguientes funciones de Google Maps:

  • Buscar lugares: Solicita información sobre lugares y obtén resúmenes generados por IA. La respuesta también incluye IDs de lugar, coordenadas y vínculos de Google Maps para cada lugar del resumen. Puedes usar los IDs de lugar y las coordenadas con otras APIs de Google Maps Platform para mostrar lugares en un mapa. Con Pro, puedes solicitar detalles extendidos de lugares, como información de opiniones, y hasta 10 lugares por solicitud.
  • Buscar el clima: Solicita información sobre el clima y devuelve las condiciones actuales, los pronósticos por hora y los pronósticos diarios.
  • Compute routes: Solicita una ruta entre un origen y un destino, de forma opcional, a través de paradas intermedias, y devuelve la distancia y la duración de la ruta. Con Pro, las rutas pueden tener en cuenta las condiciones de tráfico en tiempo real y, además, incluir más paradas intermedias.

  • Resolve names y Resolve Maps URLs: Resuelve nombres de ubicaciones, direcciones y URLs de Google Maps en IDs de lugar. Para obtener más información, consulta la API de Resolution.

Después de habilitar el servidor de MCP, los LLM pueden llamar a sus herramientas para obtener información de fundamentación para estos tipos de datos. El LLM puede usar esta información para el contexto. Sin embargo, es posible que su respuesta final no incluya la información exacta que devolvió el servidor de MCP. Debes verificar la exactitud de la respuesta generada.

Essentials y Pro

Essentials y Pro son dos SKU del mismo producto, no productos o planes separados. Una solicitud se factura con Pro cuando usa una opción de Pro. Todas las demás solicitudes se facturan según Essentials. Las opciones profesionales son campos comunes en la solicitud de la herramienta, por lo que un LLM puede usarlas en tu nombre. Un agente también puede usar ambos SKU en la misma conversación. Por ejemplo, un agente podría usar Essentials para encontrar cafeterías cerca de un punto de referencia. Luego, podría usar Pro para responder una pregunta de seguimiento sobre sus bebidas exclusivas y asientos. No hay un servidor, extremo o credencial de MCP independiente para Pro.

Compara Essentials, Pro y Fundamentación con Google Maps

La fundamentación con Google Maps es un producto independiente. Está integrado en los modelos de Gemini en la API de Gemini, Google AI Studio y Gemini Enterprise Agent Platform. El modelo decide cuándo consultar Google Maps y devuelve respuestas fundamentadas con citas. Elige la Fundamentación con Google Maps cuando crees en Gemini y quieras que el modelo controle la fundamentación. Elige las herramientas de agente de Maps Experience para otros modelos o frameworks de agentes, o para controlar directamente cada llamada a la herramienta.

Herramientas de agentes de Maps Experience Fundamentación con Google Maps
SKU de Essentials
(antes Maps Grounding Lite)
SKU de Pro
Cómo se facturan las solicitudes Cada solicitud de herramienta que no use una opción de Pro Cada solicitud de herramienta que use una opción Pro: include_extended_details, un page_size superior a 5, ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL o más de 10 puntos de referencia intermedios Cada consulta o instrucción fundamentada de Google Maps, según la plataforma y el modelo
Modelos y plataformas Cualquier framework de modelo o agente que admita MCP. Un servidor de MCP, un conjunto de herramientas y las mismas credenciales para ambos SKUs Modelos de Gemini en la API de Gemini, Google AI Studio y Gemini Enterprise Agent Platform
Qué devuelven las herramientas Datos principales: detalles de hasta 5 lugares por búsqueda, distancia y duración de la ruta sin tráfico en tiempo real, y clima y pronósticos actuales Todo lo que se incluye en Essentials, además de detalles de lugares extendidos (como estadísticas de opiniones), hasta 10 lugares por búsqueda, rutas con tráfico en tiempo real y hasta 25 puntos de referencia intermedios Place Details y estadísticas de opiniones, y también información de rutas con tráfico en tiempo real
Solicitudes de ejemplo Preguntas fácticas y logísticas: encontrar tiendas o empresas, horarios de atención, direcciones y estimaciones de distancia o duración del viaje Preguntas subjetivas o amplias: ambiente, platos exclusivos, sugerencias para los visitantes, comparaciones de 6 a 10 lugares y duraciones de viaje con el tráfico actual Búsqueda conversacional, planificación de itinerarios y descubrimiento local en Gemini
Visualizaciones del kit de IU de Places Se incluye sin costo adicional con el token de visualización de datos de agentes (versión preliminar) Se factura por separado
Uso gratuito por mes 10,000 solicitudes 5,000 solicitudes Depende de la plataforma y el modelo. Por ejemplo, en la API de Gemini, Gemini 3 y los modelos más recientes incluyen 5,000 búsquedas gratuitas por mes. Después de eso, las búsquedas cuestan USD 14 por cada 1,000.
Precio de pago por uso $7.00 por cada 1,000 solicitudes, con descuentos por volumen $14.00 por cada 1,000 solicitudes Comunícate con el equipo de Ventas para obtener información sobre los precios por volumen.
Suscríbete para ahorrar Se incluye en los planes Essentials y Pro No incluidos No disponible
Comenzar Una configuración para ambos SKUs: consulta Configura LLMs para usar el servidor de MCP. Durante la fase de DG restringida, las opciones Pro también requieren un proyecto en la lista de entidades permitidas de Pro. API de Gemini o Agent Platform

Estas opciones funcionan de la misma manera con cualquiera de los SKU: medios de transporte, horas de salida y hora de llegada, rutas alternativas, polilíneas de rutas, búsquedas del clima y la API de Resolution. No cambian el SKU con el que se factura una solicitud.

Qué se factura con el SKU de Pro

Herramienta Función Imprescindibles Pro
Buscar lugares Lugares por solicitud Hasta 5 De 6 a 10 (page_size de 6 a 10)
Detalles extendidos de los lugares en los resúmenes de búsqueda (información de las opiniones, elementos destacados del menú, ambiente, nivel de concurrencia de un lugar, sugerencias de los visitantes y distancia o duración del viaje para las búsquedas de proximidad) No disponible Disponible con include_extended_details
Calcula rutas Preferencia de enrutamiento No tiene en cuenta el tráfico en tiempo real. Tiene en cuenta el tráfico en tiempo real o los datos de transporte público en tiempo real para las rutas de transporte público, con ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL.
Puntos de referencia intermedios por ruta Hasta 10 De 11 a 25 (más de 10 intermediate_waypoints)
API de Lookup weather y API de Resolution No hay opciones Pro. Todas las solicitudes se facturan con el SKU de Essentials.

Para conocer las opciones de solicitud que habilitan cada función, consulta Busca lugares y Calcula rutas.

Opciones de Pro durante la DG restringida

Durante la DG restringida, las opciones Pro solo están disponibles para los proyectos de Google Cloud incluidos en la lista de entidades permitidas de Pro. Comunícate con Ventas para solicitar acceso. Una vez que un proyecto esté en la lista de entidades permitidas, todas las claves de API y los clientes de OAuth que contenga podrán usar las opciones de Pro.

Si tu proyecto aún no está en la lista de entidades permitidas, las solicitudes que usan opciones de Pro se controlan de la siguiente manera:

  • Búsqueda de lugares: Se ignora include_extended_details y la respuesta contiene, como máximo, 5 lugares, incluso si estableces un valor más alto para page_size. La solicitud se factura con el SKU de Essentials.
  • Compute routes: ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL se trata como ROUTING_PREFERENCE_TRAFFIC_UNAWARE, y la solicitud se factura con el SKU de Essentials. Una solicitud con más de 10 puntos de referencia intermedios devuelve un error INVALID_ARGUMENT.

Para verificar si tu proyecto está en la lista de entidades permitidas, envía una solicitud search_places con page_size establecido en 10. Usa una consulta amplia, como restaurants in Chicago. Un proyecto incluido en la lista de entidades permitidas puede devolver más de 5 lugares, que se facturan con el SKU Pro. Otros proyectos devuelven un máximo de 5 lugares.

Controla el uso de Pro

Las opciones de Pro están desactivadas de forma predeterminada. Un LLM los establece cuando la solicitud del usuario los requiere y el esquema de la herramienta o tus instrucciones lo permiten. El esquema de la herramienta describe los valores de page_size hasta 5 y, como máximo, 10 puntos de referencia intermedios. Por lo tanto, los modelos usan los límites más altos de Pro solo cuando tus instrucciones lo requieren. Para administrar los costos, haz lo siguiente:

  • Indica al modelo cuándo son adecuadas las opciones Pro. Por ejemplo: "Establece include_extended_details solo cuando el usuario pregunte sobre opiniones, menús o el ambiente". O bien: "Usa ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL solo cuando el usuario solicite la duración actual del viaje".
  • Para mantener un agente en el SKU de Essentials, indícale al modelo que nunca use una opción de Pro. Las opciones de Pro son include_extended_details, page_size por encima de 5, ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL y más de 10 puntos de referencia intermedios. Si tu cliente de MCP puede restringir los argumentos de las herramientas, también puedes bloquear esos valores en su configuración.
  • Supervisa tu uso en los informes de facturación y configura alertas de presupuesto.

API de Resolution

Las herramientas de agente de Maps Experience proporcionan la API de Resolution. Resuelve el texto de ubicación de formato libre y las URLs en identificadores de lugares estructurados de Google Maps. La API de Resolution está disponible como métodos de REST y como herramientas en el servidor de MCP:

  • Resuelve nombres (REST, MCP): Resuelve un lote de nombres o direcciones de ubicaciones en entidades de lugares específicos en Google Maps. Esto es útil para fundamentar las consultas no estructuradas de los usuarios en IDs de lugar estables.
  • Resuelve URLs de Maps (REST, MCP): Resuelve un lote de URLs de Google Maps en entidades de lugares específicas. Los formatos admitidos incluyen URLs de lugares estándar y URLs abreviadas.

Puedes usar los IDs de lugar que se devuelven con otras APIs de Google Maps Platform. Cada respuesta también incluye un vínculo que guarda los lugares resueltos como una lista en Google Maps.

Para obtener más información, consulta la API de Maps Tools Resolution.

Prueba la app de ejemplo (se abre en una pestaña nueva)

Facturación y cuotas

Cómo se te factura

Con el modelo de precios de pago por uso de Google Maps Platform, el uso de las herramientas de agentes de Maps Experience se calcula para cada solicitud. Cada solicitud representa un evento de facturación. Se hace un seguimiento del uso de cada SKU de producto. En tu factura, se muestra un elemento de una sola línea para cada SKU, además de los cargos totales. Consulta la descripción general de los informes para obtener más información.

Cada solicitud de Search places, Compute routes o Lookup weather se factura con exactamente un SKU, Essentials o Pro. Una solicitud que usa cualquier opción de Pro se factura con el SKU de Pro. Nunca se factura con ambos SKU, y la cantidad de opciones de Pro no cambia el cargo. Las siguientes opciones determinan el SKU:

Herramienta Imprescindibles Pro
search_places Cualquier solicitud sin una opción Pro: page_size de 5 o menos, y include_extended_details sin configurar o false include_extended_details establecido en true o page_size de 6 a 10
compute_routes Cualquier solicitud sin una opción Pro: routing_preference sin configurar o ROUTING_PREFERENCE_TRAFFIC_UNAWARE, y 10 o menos puntos de referencia intermedios, con cualquier medio de transporte routing_preference establecido en ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, o entre 11 y 25 puntos de referencia intermedios
lookup_weather Cada solicitud —

Para conocer los precios de Essentials, consulta los detalles del SKU de Essentials. Las solicitudes de Pro se facturan a USD 14.00 por cada 1,000 solicitudes después de las primeras 5,000 solicitudes de cada mes. Comunícate con Ventas para obtener información sobre los precios por volumen.

Durante la fase de DG restringida, las opciones de Pro solo se aplican a los proyectos de la lista de entidades permitidas de Pro. Para obtener más detalles, consulta Opciones de Pro durante la DG restringida.

Consulta la tabla de precios principal y la tabla de precios de India para obtener detalles sobre los precios.

Las solicitudes a la API de Resolution (ResolveNames y ResolveMapsUrls) se facturan sin cargo con el SKU Places API Text Search Essentials (IDs Only).

El uso del SKU de Essentials también se incluye en los paquetes Suscríbete para ahorrar de Essentials y Pro. El SKU Pro no se incluye en los paquetes de Suscríbete y ahorra.

Cuotas

Las siguientes cuotas se aplican a las herramientas y APIs que proporcionan las herramientas de agentes de Maps Experience:

  • Search places: 300 consultas por minuto por proyecto
  • Búsqueda del clima: 300 consultas por minuto por proyecto
  • Calcular rutas: 300 consultas por minuto, por proyecto
  • Resolver nombres: 600 consultas por minuto por proyecto
  • Resolve Maps URLs: 600 búsquedas por minuto por proyecto

Las cuotas se cuentan por herramienta y se comparten entre los SKU de Essentials y Pro. Una solicitud de Pro consume la misma cuota que una solicitud de Essentials para la misma herramienta.

Cada solicitud a la API de Resolution cuenta como una consulta, independientemente de la cantidad de elementos que contenga.

Políticas y Condiciones del Servicio

Las herramientas de agentes de Maps Experience están sujetas a las Condiciones del Servicio de Google Maps Platform, incluidas las condiciones específicas del servicio. En esta sección, se describen los requisitos de uso adicionales para las herramientas de agentes de Maps Experience, incluidos los LLM compatibles y la atribución de fuentes. Los requisitos se aplican a todos los resultados, independientemente del SKU con el que se facture una solicitud.

Requisitos para los LLM compatibles

Solo puedes usar las herramientas de agente de Maps Experience con un LLM que cumpla con las Condiciones del Servicio de Google Maps Platform.

Por ejemplo, eres responsable de garantizar que el contenido de Google Maps no se almacene en caché, no se almacene ni se use para mejorar el LLM que elijas usar. Antes de usar las herramientas de agente de Maps Experience, deberás revisar las Condiciones del Servicio de cualquier modelo que quieras usar con las herramientas de agente de Maps Experience. No debes usar las herramientas de agentes de Maps Experience con ningún modelo que use los datos ingresados en el modelo para entrenarlo o mejorarlo. Eres responsable de garantizar que el uso que hagas del modelo cumpla por completo con las restricciones del contenido de Google Maps en las Condiciones del Servicio de Google Maps Platform, incluidas las condiciones específicas del servicio.

Requisitos de atribución para las fuentes de Google Maps

Cada respuesta de las herramientas del agente de Maps Experience incluye fuentes. Cuando presentes resultados de las herramientas de agentes de Maps Experience, debes incluir las fuentes de Google Maps asociadas y cumplir con los siguientes requisitos:

  • Las fuentes de Google Maps deben aparecer inmediatamente después del contenido generado que respaldan. Este contenido generado también se conoce como Resultado fundamentado.
  • Las fuentes de Google Maps deben poder verse en una interacción del usuario.

Fuentes de la herramienta Buscar lugares

El campo places de la herramienta search_places proporciona fuentes que respaldan la summary. Para places, se devuelven los siguientes metadatos:

  • place (nombre del recurso)
  • id
  • location
  • googleMapsLinks

Para cada lugar, debes generar una vista previa del vínculo que cumpla con estos requisitos:

Estos requisitos también se aplican a los resúmenes que incluyen detalles de lugares extendidos de Pro, como las estadísticas de las opiniones. El summary cita cada lugar con un índice basado en cero, por ejemplo, [0], que se asigna a una entrada en places. Cada lugar también incluye googleMapsLinks.reviewsUrl, que vincula a las opiniones del lugar en Google Maps. Los usuarios pueden seguirlo para ver las opiniones que respaldan una estadística.

Interfaces que priorizan la voz

Si tu app presenta resultados de las herramientas de agentes de Maps Experience por voz, también debes cumplir con los requisitos de las interfaces que priorizan la voz. Resumen:

  • Atribución: Muestra las fuentes de Google Maps en una IU complementaria que incluya un registro histórico textual de la conversación de voz.
  • Divulgación activa: En el momento de la interacción, informa a los usuarios que el contenido generado por IA puede incluir información de Google Maps. También diles que las fuentes detalladas están disponibles en la IU complementaria. Puedes hacerlo en la pantalla o por voz.
  • Divulgación persistente: Mantén una explicación persistente, por ejemplo, en un menú de configuración de voz, de que el contenido generado por IA puede incluir contenido de Google Maps.
  • Consultas de los usuarios: Responde con precisión las preguntas de los usuarios sobre la fuente del contenido y dirígelos a la IU complementaria para obtener detalles.

Configura los LLM para que usen el servidor de MCP

Para usar las herramientas de agente de Maps Experience, necesitas un proyecto de Google Cloud con el servicio de la API de las herramientas de agente de Maps Experience habilitado. También necesitas una clave de API o un ID de cliente de OAuth. Luego, puedes configurar los LLM para que accedan al servidor de MCP. El servidor de MCP usa el transporte HTTP transmisible.

Habilita las herramientas de agente de Maps Experience en tu proyecto de Google Cloud.

Para habilitar la API en tu proyecto, sigue estos pasos:

  1. En la consola de Google Cloud, elige el proyecto que quieras usar para las herramientas de agentes de Maps Experience.
  2. Habilita la facturación para el proyecto en la consola de Google Cloud.
  3. Habilita las herramientas de agente de Maps Experience en la biblioteca de APIs de la consola de Google Cloud.

Autentica con una clave de API

Puedes usar una clave de API existente con las herramientas de agentes de Maps Experience o crear una nueva. En cualquier caso, habilita el servicio de la API de herramientas de agente de Maps Experience tanto en el proyecto de Google Cloud como en la clave.

Para autenticarte con una clave de API, sigue estos pasos:

  1. Crea o configura una clave de API siguiendo los pasos que se indican en Comienza a usar Google Maps Platform.
  2. Pasa la clave al servidor de MCP con el encabezado X-Goog-Api-Key. Debes especificarlo como un encabezado HTTP personalizado en la configuración de la herramienta de MCP del LLM.

Autentica con OAuth

Para autenticarte con OAuth, crea credenciales de OAuth y pásalas a la aplicación host o de servidor de MCP.

Para autenticarte con OAuth, sigue estos pasos:

  1. En la consola de Google Cloud, elige el proyecto que quieras usar para las herramientas de agentes de Maps Experience.
  2. En el menú APIs y servicios, selecciona Credenciales.
  3. En el menú superior, selecciona Crear credenciales > ID de cliente de OAuth.
  4. Si el proyecto no tiene una pantalla de consentimiento configurada, haz clic en Configurar pantalla de consentimiento y sigue las instrucciones en pantalla.
  5. En la sección Métricas, haz clic en Crear cliente de OAuth.
  6. En la pantalla Crear ID de cliente de OAuth, selecciona un tipo de aplicación y, luego, ingresa un nombre para el ID de cliente.
  7. Especifica los detalles adicionales que sean pertinentes para tu tipo de aplicación. Por ejemplo, si creas una aplicación web, agrega URIs autorizados para las solicitudes del navegador y del servidor.
  8. Una vez que se cree tu cliente, guarda el ID de cliente y el secreto.
  9. Cuando configures tu aplicación de host de MCP o servidor de MCP, pasa tu ID y secreto de cliente de OAuth. También debes solicitar el siguiente permiso: https://www.googleapis.com/auth/maps-platform.mapstools.

Para obtener más información, consulta Usa OAuth 2.0 para acceder a las APIs de Google.

Configura los LLM para que accedan al servidor de MCP de herramientas del agente de Maps Experience

Después de habilitar el servicio de herramientas de agente de Maps Experience y crear credenciales, puedes configurar los LLM para que accedan al servidor de MCP. Sigue la documentación de configuración de MCP de tu LLM y usa la URL del servidor de MCP: https://mapstools.googleapis.com/mcp

Para obtener más información, consulta Configura MCP en una aplicación de IA.

Configura las herramientas de agentes de Maps Experience con Gemini CLI

En esta sección, se proporciona un ejemplo de cómo configurar el servidor de MCP de herramientas de agentes de Maps Experience con la CLI de Gemini. Para obtener más detalles, consulta Servidores de MCP con la CLI de Gemini.

  1. Después de instalar Gemini CLI, ejecuta gemini mcp add para configurar el servidor de MCP:

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

    Si la configuración se realizó correctamente, deberías ver una confirmación de que el servidor se agregó a tu configuración de usuario.

  2. Para validar que el servidor funcione correctamente, ejecuta el comando /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_places
    
  3. Comienza a hacer preguntas relacionadas con Maps con la CLI. Por ejemplo, prueba "Recomiéndame algunos restaurantes en Mountain View", que debería llamar a la herramienta search_places en tu nombre.

Configura las herramientas de agentes de Maps Experience con el Kit de desarrollo de agentes (ADK)

En esta sección, se muestra cómo configurar el servidor de MCP con el Kit de desarrollo de agentes (ADK) en Python, Java o TypeScript.

Python

Puedes encontrar una implementación completa de este ejemplo en GitHub, en el repositorio adk-samples.

Paso 1: Define tu agente con McpToolset para las herramientas de agente de Maps Experience

Modifica tu archivo agent.py. Reemplaza YOUR_GOOGLE_MAPS_API_KEY por tu clave 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"
                }
            )
        )
    ]
)
    
Paso 2: Asegúrate de que exista __init__.py

Asegúrate de tener un __init__.py en el mismo directorio que tu agent.py:

from . import agent
    
Paso 3: Ejecuta adk web y, luego, interactúa con ella
  1. Establece la variable de entorno:
    Establece tu clave de API de Google Maps como una variable de entorno en tu terminal:
    export GOOGLE_MAPS_API_KEY="YOUR_ACTUAL_GOOGLE_MAPS_API_KEY"
            
  2. Ejecuta adk web:
    Ejecuta el siguiente comando para iniciar la interfaz web del ADK:
    adk web
            
  3. Interactúa en la IU:
    • Selecciona la travel_planner_agent.
    • Prueba instrucciones como las siguientes:
      • "Mañana estaré en San Francisco. ¿Cómo está el clima?"
      • "Encuentra cafeterías cerca del parque Golden Gate".
      • "Obtén instrucciones sobre cómo llegar desde Googleplex hasta SFO".

Java

Define un agente que inicialice el McpToolset en Java. Reemplaza YOUR_GOOGLE_MAPS_API_KEY_HERE por la clave de API real que obtuviste si no usas una variable de entorno.

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

Define un agente que inicialice el 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"
            }
        })
    ],
});
    

Comparte tus comentarios

Para compartir comentarios sobre las herramientas de agentes de Maps Experience, usa los siguientes formularios: