MCP Reference: mapstools.googleapis.com

Um servidor do Protocolo de Contexto de Modelo (MCP, na sigla em inglês) atua como um proxy entre um serviço externo que fornece contexto, dados ou recursos a um modelo de linguagem grande (LLM, na sigla em inglês) ou aplicativo de IA. Os servidores do MCP conectam aplicativos de IA a sistemas externos, como bancos de dados e serviços da Web, traduzindo as respostas em um formato que o aplicativo de IA possa entender.

Configuração do servidor

É necessário ativar os servidores do MCP e configurar a autenticação antes de usar. Para mais informações sobre como usar servidores remotos do MCP do Google e do Google Cloud, consulte Visão geral dos servidores do MCP do Google Cloud.

Este é um servidor do MCP fornecido pela API Maps Grounding Lite. O servidor oferece ferramentas para que os desenvolvedores criem aplicativos de LLM na Plataforma Google Maps.

Endpoints do servidor

Um endpoint de serviço do MCP é o endereço de rede e a interface de comunicação (geralmente um URL) do servidor do MCP que um aplicativo de IA (o host do cliente do MCP) usa para estabelecer uma conexão segura e padronizada. É o ponto de contato para o LLM solicitar contexto, chamar uma ferramenta ou acessar um recurso. Os endpoints do MCP do Google podem ser globais ou regionais.

O servidor do MCP mapstools.googleapis.com tem o seguinte endpoint do MCP:

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

Ferramentas do MCP

Uma ferramenta do MCP é uma função ou capacidade executável que um servidor do MCP expõe a um LLM ou aplicativo de IA para realizar uma ação no mundo real.

O servidor do MCP mapstools.googleapis.com tem as seguintes ferramentas:

Ferramentas do MCP
search_places

Chame essa ferramenta quando a solicitação do usuário for encontrar lugares, empresas, endereços, locais, pontos de interesse ou qualquer outra pesquisa relacionada ao Google Maps.

Requisitos de entrada (CRÍTICO) :

  1. text_query (string – OBRIGATÓRIO) : a consulta de pesquisa principal. Ela precisa definir claramente o que o usuário está procurando.

    • Exemplos: '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', 'accessible public libraries in Los Angeles'.
    • Para detalhes específicos do lugar: inclua o atributo solicitado (por exemplo, 'Google Store Mountain View opening hours', 'SF MoMa phone number', 'Shoreline Park Mountain View address').
  2. location_bias (objeto – OPCIONAL) : use esse parâmetro para priorizar os resultados perto de uma área geográfica específica.

    • Formato: {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • Uso:
      • Para direcionar a um raio de 5 km: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Para direcionar fortemente ao ponto central: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}}}} (omitindo radius_meters).
  3. language_code (string – OPCIONAL) : o idioma em que o resumo dos resultados da pesquisa será mostrado.

    • Formato: um código de idioma de duas letras (ISO 639-1), opcionalmente seguido por um sublinhado e um código de país de duas letras (ISO 3166-1 alfa-2), por exemplo, en, ja, en_US, zh_CN, es_MX. Se o código de idioma não for fornecido, os resultados serão em inglês.
  4. region_code (string – OPCIONAL) : o código de região CLDR Unicode do usuário. Esse parâmetro é usado para mostrar os detalhes do lugar, como o nome específico da região, se disponível. O parâmetro pode afetar os resultados com base na lei aplicável.

    • Formato:um código de país de duas letras (ISO 3166-1 alfa-2), por exemplo, US, CA.

Instruções para a chamada de ferramenta :

  • Informações de localização (CRÍTICO): a pesquisa precisa conter informações de localização suficientes. Se o local for ambíguo (por exemplo, apenas "pizzarias"), é necessário especificá-lo na text_query (por exemplo, "pizzarias em Nova York") ou usar o parâmetro location_bias. Inclua o nome da cidade, estado/província e região/país, se necessário para desambiguação.

  • Sempre forneça a text_query mais específica e contextual possível.

  • Use location_bias somente se as coordenadas forem fornecidas explicitamente ou se a inferência de um local do contexto conhecido de um usuário for apropriada e necessária para melhores resultados.

lookup_weather

Recupera dados meteorológicos abrangentes, incluindo condições atuais, previsões horárias e diárias.

Dados específicos disponíveis:temperatura (atual, sensação térmica, máxima/mínima, índice de calor), vento (velocidade, rajadas, direção), eventos celestiais (nascer/pôr do sol, fase da lua), precipitação (tipo, probabilidade, quantidade/QPF), condições atmosféricas (índice UV, umidade, cobertura de nuvens, probabilidade de tempestade) e endereço de localização geocodificado.

Local e regras de localização (CRÍTICO) :

O local para o qual os dados meteorológicos são solicitados é especificado usando o campo "location". Esse campo é uma estrutura "oneof", o que significa que você PRECISA fornecer um valor para APENAS UM dos três subcampos de localização abaixo para garantir uma pesquisa precisa de dados meteorológicos.

  1. Coordenadas geográficas (lat_lng)

    • Use quando você receber coordenadas de latitude/longitude exatas.
    • Exemplo: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // Los Angeles
  2. ID de lugar (place_id)

    • Um identificador de string não ambíguo (ID de lugar do Google Maps).
    • O place_id pode ser buscado na ferramenta search_places.
    • Exemplo: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Eiffel Tower
  3. String de endereço (address)

    • Uma string de formato livre que exige especificidade para geocodificação.
    • Cidade e região: sempre inclua a região/país (por exemplo, "Londres, Reino Unido", não "Londres").
    • Endereço da rua: forneça o endereço completo (por exemplo, "1600 Pennsylvania Ave NW, Washington, DC").
    • Códigos postais/CEP: PRECISAM ser acompanhados de um nome de país (por exemplo, "90210, EUA", NÃO "90210").

Modos de uso :

  1. Clima atual:forneça apenas location. Não especifique date e hour.

  2. Previsão de hora em hora:forneça location, date e hour (0 a 23). Use para horários específicos (por exemplo, "às 17h") ou termos como "próximas horas" ou "mais tarde hoje". Se o usuário especificar o minuto, arredonde para a hora mais próxima. A previsão de hora em hora além de 120 horas a partir de agora não é aceita. O clima histórico por hora é aceito até 24 horas no passado.

  3. Previsão diária:forneça location e date. Não especifique hour. Use para solicitações gerais do dia (por exemplo, "clima para amanhã", "clima na sexta-feira", "clima em 25/12"). Se a data de hoje não estiver no contexto, esclareça com o usuário. A previsão diária além de 10 dias, incluindo hoje, não é aceita. O clima histórico está indisponível.

Restrições de parâmetros :

  • Fusos horários: todas as entradas de date e hour precisam ser relativas ao fuso horário local do local, não ao fuso horário do usuário.
  • Formato de data:as entradas precisam ser separadas em números inteiros {year, month, day}.
  • Unidades:o padrão é METRIC. Defina units_system como IMPERIAL para Fahrenheit/Milhas se o usuário implicar padrões dos EUA ou solicitar explicitamente.
compute_routes

Calcula um trajeto de viagem entre uma origem e um destino especificados. Modos de viagem aceitos:DRIVE (padrão), WALK.

Requisitos de entrada (CRÍTICO) : exige origem e destino. Cada um precisa ser fornecido usando um dos métodos a seguir, aninhado no respectivo campo:

  • address : (string, por exemplo, "Torre Eiffel, Paris"). Observação: quanto mais granular ou específico for o endereço de entrada, melhores serão os resultados.

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

  • place_id: : (string, por exemplo, "ChIJOwE_Id1w5EAR4Q27FkL6T_0") Observação: esse ID pode ser obtido na ferramenta search_places. Qualquer combinação de tipos de entrada é permitida (por exemplo, origem por endereço, destino por lat_lng). Se a origem ou o destino estiver ausente, é necessário pedir esclarecimentos ao usuário antes de tentar chamar a ferramenta.

Exemplo de chamada de ferramenta : {"origin":{"address":"Eiffel Tower"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"travel_mode":"DRIVE"}

Receber especificações da ferramenta MCP

Para receber as especificações da ferramenta MCP de todas as ferramentas em um servidor do MCP, use o método tools/list. O exemplo a seguir demonstra como usar curl para listar todas as ferramentas e especificações disponíveis no momento no servidor do MCP.

Solicitação 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
}'