MCP Reference: mapstools.googleapis.com

Un servidor del Protocolo de contexto del modelo (MCP) actúa como proxy entre un servicio externo que proporciona contexto, datos o capacidades a un modelo de lenguaje grande (LLM) o una aplicación de IA. Los servidores de MCP conectan las aplicaciones de IA a sistemas externos, como bases de datos y servicios web, y traducen sus respuestas a un formato que la aplicación de IA pueda entender.

Configuración del servidor

Antes de usar los servidores de MCP, debes habilitarlos y configurar la autenticación. Para obtener más información sobre el uso de los servidores de MCP remotos de Google y Google Cloud, consulta Descripción general de los servidores de MCP de Google Cloud.

Este es un servidor de MCP que proporciona la API de Maps Grounding Lite. El servidor proporciona herramientas para que los desarrolladores creen aplicaciones basadas en LLM sobre Google Maps Platform.

Extremos del servidor

Un extremo de servicio de MCP es la dirección de red y la interfaz de comunicación (por lo general, una URL) del servidor de MCP que una aplicación de IA (el host para el cliente de MCP) usa para establecer una conexión segura y estandarizada. Es el punto de contacto para que el LLM solicite contexto, llame a una herramienta o acceda a un recurso. Los extremos de MCP de Google pueden ser globales o regionales.

El servidor de MCP de mapstools.googleapis.com tiene el siguiente extremo de MCP:

  • https://mapstools.googleapis.com/mcp

Herramientas de MCP

Una herramienta de MCP es una función o capacidad ejecutable que un servidor de MCP expone a un LLM o a una aplicación de IA para realizar una acción en el mundo real.

El servidor de MCP de mapstools.googleapis.com tiene las siguientes herramientas:

Herramientas de MCP
search_places

Llama a esta herramienta cuando la solicitud del usuario sea encontrar lugares, empresas, direcciones, ubicaciones, puntos de interés o cualquier otra búsqueda relacionada con Google Maps.

Requisitos de entrada (CRÍTICOS):

  1. text_query (cadena - OBLIGATORIO): Es la búsqueda principal. Debe definir claramente lo que busca el usuario.

    • Ejemplos: 'restaurants in New York', 'coffee shops near Golden Gate Park', 'SF MoMA', '1600 Amphitheatre Pkwy, Mountain View, CA, USA', 'pets friendly parks in Manhattan, New York', 'date night restaurants in Chicago' y 'accessible public libraries in Los Angeles'.
    • Para detalles de lugares específicos: Incluye el atributo solicitado (p.ej., 'Google Store Mountain View opening hours', 'SF MoMa phone number', 'Shoreline Park Mountain View address').
  2. location_bias (objeto; OPCIONAL): Usa este parámetro para priorizar los resultados cerca de un área geográfica específica.

    • Formato: {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • Uso:
      • Para sesgar los resultados hacia un radio de 5 km, haz lo siguiente: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Para sesgar fuertemente hacia el punto central: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (se omite radius_meters).
  3. language_code (cadena - OPCIONAL): Es el idioma en el que se mostrará el resumen de los resultados de la búsqueda.

    • Formato: Un código de idioma de dos letras (ISO 639-1), seguido opcionalmente de un guion bajo y un código de país de dos letras (ISO 3166-1 alpha-2), p.ej., en, ja, en_US, zh_CN, es_MX. Si no se proporciona el código de idioma, los resultados se mostrarán en inglés.
  4. region_code (cadena - OPCIONAL): Es el código regional CLDR de Unicode del usuario. Este parámetro se usa para mostrar los detalles del lugar, como el nombre específico de la región, si está disponible. El parámetro puede afectar los resultados según la legislación aplicable.

    • Formato: Código de país de dos letras (ISO 3166-1 alpha-2), p.ej., US o CA.

Instrucciones para la llamada a la herramienta:

  • Información de ubicación (CRÍTICA): La búsqueda debe contener suficiente información de ubicación. Si la ubicación es ambigua (p.ej., solo "pizzerías"), debes especificarla en text_query (p.ej., "pizzerías en Nueva York") o usar el parámetro location_bias. Incluye el nombre de la ciudad, el estado o la provincia, y la región o el país si es necesario para evitar ambigüedades.

  • Siempre proporciona el text_query más específico y enriquecido contextualmente posible.

  • Solo usa location_bias si se proporcionan coordenadas de forma explícita o si es adecuado y necesario inferir una ubicación a partir del contexto conocido de un usuario para obtener mejores resultados.

lookup_weather

Recupera datos meteorológicos integrales, incluidas las condiciones actuales y los pronósticos por hora y por día.

Datos específicos disponibles: Temperatura (actual, sensación térmica, máxima/mínima, índice de calor), viento (velocidad, ráfagas, dirección), eventos celestes (amanecer/atardecer, fase lunar), precipitación (tipo, probabilidad, cantidad/QPF), condiciones atmosféricas (índice UV, humedad, cobertura de nubes, probabilidad de tormentas eléctricas) y dirección de ubicación geocodificada.

Ubicación y reglas de ubicación (CRÍTICO):

La ubicación para la que se solicitan datos del clima se especifica con el campo "location". Este campo es una estructura "oneof", lo que significa que DEBES proporcionar un valor para SOLO UNO de los tres subcampos de ubicación que se indican a continuación para garantizar una búsqueda precisa de datos meteorológicos.

  1. Coordenadas geográficas (lat_lng)

    • Úsala cuando se te proporcionen coordenadas exactas de latitud y longitud.
    • Ejemplo: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // Los Angeles
  2. ID de lugar (place_id)

    • Es un identificador de cadena inequívoco (ID de lugar de Google Maps).
    • El place_id se puede recuperar de la herramienta search_places.
    • Ejemplo: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Eiffel Tower
  3. Cadena de dirección (address)

    • Es una cadena de formato libre que requiere especificidad para la geocodificación.
    • Ciudad y región: Siempre incluye la región o el país (p.ej., "Londres, Reino Unido", no "Londres").
    • Dirección: Proporciona la dirección completa (p.ej., "1600 Pennsylvania Ave NW, Washington, DC").
    • Códigos postales: DEBEN estar acompañados del nombre del país (p. ej., "90210, EE.UU.", NO "90210").

Modos de uso:

  1. Clima actual: Proporciona solo location. No especifiques date ni hour.

  2. Pronóstico por hora: Proporciona location, date y hour (de 0 a 23). Úsalo para horarios específicos (p. ej., "a las 5 p.m.") o términos como "en las próximas horas" o "más tarde hoy". Si el usuario especifica minutos, redondea hacia abajo a la hora más cercana. No se admite la previsión por hora más allá de las 120 horas a partir de ahora. El clima histórico por hora se admite hasta 24 horas en el pasado.

  3. Pronóstico diario: Proporciona location y date. No especifiques hour. Se usa para solicitudes generales del día (p.ej., "clima para mañana", "clima el viernes", "clima el 25/12"). Si la fecha actual no está en el contexto, debes aclararla con el usuario. No se admite la previsión diaria más allá de los 10 días, incluido el día de hoy. No se admite el clima histórico.

Restricciones de parámetros:

  • Zonas horarias: Todas las entradas de date y hour deben ser relativas a la zona horaria local de la ubicación, no a la zona horaria del usuario.
  • Formato de fecha: Las entradas deben separarse en {year, month, day} números enteros.
  • Unidades: El valor predeterminado es METRIC. Establece units_system en IMPERIAL para Fahrenheit/millas si el usuario implica estándares de EE.UU. o lo solicita de forma explícita.
compute_routes

Calcula una ruta de viaje entre un origen y un destino especificados. Modos de viaje admitidos: DRIVE (predeterminado), WALK.

Requisitos de entrada (CRÍTICOS): Requiere origen y destino. Cada uno debe proporcionarse con uno de los siguientes métodos, anidado dentro de su campo respectivo:

  • address: (cadena, p.ej., "Torre Eiffel, París"). Nota: Cuanto más detallada o específica sea la dirección de entrada, mejores serán los resultados.

  • lat_lng: (objeto, {"latitude": número, "longitude": número})

  • place_id: (cadena, p.ej., "ChIJOwE_Id1w5EAR4Q27FkL6T_0") Nota: Este ID se puede obtener de la herramienta search_places. Se permite cualquier combinación de tipos de entrada (p.ej., origen por dirección, destino por lat_lng). Si falta el origen o el destino, DEBES pedirle al usuario que te aclare la información antes de intentar llamar a la herramienta.

Ejemplo de llamada a la herramienta: {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

Obtén las especificaciones de la herramienta de MCP

Para obtener las especificaciones de las herramientas de MCP para todas las herramientas en un servidor de MCP, usa el método tools/list. En el siguiente ejemplo, se muestra cómo usar curl para enumerar todas las herramientas y sus especificaciones disponibles actualmente en el servidor de MCP.

Solicitud de Curl
                      curl --location 'https://mapstools.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'