MCP Reference: mapstools.googleapis.com

Este é um servidor MCP fornecido pelas ferramentas de agentes Maps Experience. O servidor oferece ferramentas para que os desenvolvedores criem aplicativos de LLM com base na Plataforma Google Maps.

Um servidor do Protocolo de Contexto de Modelo (MCP) atua como um proxy entre um serviço externo que fornece contexto, dados ou recursos para um modelo de linguagem grande (LLM) ou aplicativo de IA. Os servidores 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 MCP e configurar a autenticação antes do uso. Para mais informações sobre como usar servidores MCP remotos do Google e do Google Cloud, consulte Visão geral dos servidores MCP do Google Cloud.

Endpoints de servidor

Um endpoint de serviço MCP é o endereço de rede e a interface de comunicação (geralmente um URL) do servidor MCP que um aplicativo de IA (o host do cliente 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.

O servidor MCP das ferramentas de agente do Experimentos do Maps tem o seguinte endpoint MCP global:

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

Ferramentas do MCP

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

Ferramentas

O servidor 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ÍTICOS):

  1. text_query (string - OBRIGATÓRIO): a consulta de pesquisa principal. Isso 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 para priorizar resultados próximos a uma área geográfica específica.

    • Formato: {"location_bias": {"circle": {"center": {"latitude": [value], "longitude": [value]}, "radius_meters": [value (optional)]}}}
    • Uso:
      • Para definir um raio de 5 km: {"location_bias": {"circle": {"center": {"latitude": 34.052235, "longitude": -118.243683}, "radius_meters": 5000}}}
      • Para priorizar o 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), seguido opcionalmente 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 Place Details, como o nome específico da região, se disponível. O parâmetro pode afetar os resultados com base na legislação aplicável.

    • Formato: um código de país com duas letras (ISO 3166-1 alfa-2), por exemplo, US, CA.
  5. page_size (número inteiro - OPCIONAL): o número máximo de lugares a serem retornados, de 1 a 10. O padrão é 5. Defina acima de 5 somente quando o usuário quiser comparar mais de 5 lugares. Valores de 6 a 10 têm custo e latência mais altos.

  6. include_extended_details (booleano - OPCIONAL): defina esse campo como true quando a solicitação do usuário exigir insights qualitativos detalhados, dinâmicas em tempo real ou atributos de entidade especializados. O padrão é false. Definir como true gera custos e latência mais altos.

Instruções para 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"), é obrigatório especificá-lo no text_query (por exemplo, "pizzarias em Nova York") ou usar o parâmetro location_bias. Inclua o nome da cidade, do estado/província e da região/país, se necessário, para evitar ambiguidade.

  • Sempre forneça o text_query mais específico e rico em contexto possível.

  • Use location_bias somente se as coordenadas forem fornecidas explicitamente ou se for apropriado e necessário inferir um local com base no contexto conhecido de um usuário para ter resultados melhores.

  • A saída embasada precisa ser atribuída à fonte usando as informações do campo attribution, quando disponíveis.

lookup_weather Recupera informações ambientais abrangentes de um local, incluindo clima, qualidade do ar (IQA e poluentes) e pólen (níveis de alérgenos de árvores, grama, ervas daninhas e espécies de plantas): condições atuais, previsões/histórico por hora e previsões diárias de clima e qualidade do ar. O pólen é apenas uma previsão diária (de hoje até +4 dias, sem dados por hora ou anteriores). Domínios e recursos ambientais disponíveis (capabilities: WEATHER, AIR_QUALITY, POLLEN — CRÍTICO): * Seleção explícita obrigatória: você PRECISA incluir pelo menos um dos seguintes valores: WEATHER, AIR_QUALITY ou POLLEN em capabilities em cada chamada. NÃO é permitido omitir capabilities. * Consultas amplas/ambíguas sobre atividades ao ar livre (conjunto completo de ambiente externo): se o usuário fizer uma pergunta geral sobre atividades ao ar livre, viagens ou situações sem restringir a um domínio específico (por exemplo, "Como estão as condições externas agora para uma corrida?"), inclua explicitamente os três recursos (capabilities: ["WEATHER", "AIR_QUALITY", "POLLEN"]) para retornar o conjunto completo de ambiente externo (clima + qualidade do ar + pólen). Para um date/hour anterior, deixe de fora POLLEN, que não tem histórico. * Seleção de domínio segmentado (consultas específicas): se o usuário pedir especificamente apenas um ou dois domínios (por exemplo, "Qual é o IQA em Seattle agora?"), inclua apenas os recursos solicitados (WEATHER, AIR_QUALITY e/ou POLLEN). Somente os domínios solicitados serão executados e retornados. Dados específicos disponíveis por domínio: * Clima (weather): temperatura (atual, sensação térmica, máxima/mínima, índice de calor), vento (velocidade, rajadas, direção), eventos celestes (nascer/pôr do sol, fase da lua), precipitação (tipo, probabilidade, quantidade/QPF) e condições atmosféricas (índice UV, umidade, cobertura de nuvens, probabilidade de tempestade, pressão do ar). * Qualidade do ar (air_quality): índices de qualidade do ar (IQA) universais e locais (valor do IQA, categoria, poluente dominante), recomendações de saúde para sete grupos de sensibilidade e concentrações de poluentes (include_pollutant_concentration: true). Cada índice tem o próprio poluente dominante. Informe-o por índice (por exemplo, não use o poluente do IQA universal para o IQA dos EUA). * Pólen (pollen): Índice Universal de Pólen (UPI, na sigla em inglês, de 0 a 5) diário por categoria de árvore, grama e erva daninha e por espécie de planta (index.value com o index.category, por exemplo, 1 = "Muito baixo"), status de temporada, reações cruzadas e recomendações de saúde. * Campos de pólen ausentes: um in_season ausente significa que não está para esta temporada. Não mencione as espécies de plantas retornadas sem um index, a menos que o usuário pergunte sobre essa planta. Nesse caso, diga que não há dados de pólen informados para ela hoje (não deduza um nível). Regras de local (CRÍTICO): a região de segmentação PRECISA ser especificada em location usando APENAS UM dos seguintes subcampos de oneof: 1. Coordenadas geográficas (lat_lng): use quando as coordenadas exatas de latitude/longitude forem conhecidas. * Exemplo: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} 2. ID de lugar (place_id): * Um ID de lugar do Google Maps inequívoco (por exemplo, obtido em search_places ou resolve_names). * Exemplo: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} 3. String de endereço (address): uma cidade/região, bairro, ponto de referência ou de interesse, endereço ou código postal, de preferência com a cidade/país. * Exemplo: {"location": {"address": "Paris, France"}} Modos de horário e uso (date e hour — CRÍTICO): * Referência de fuso horário local: todas as entradas de date ({year, month, day}) e hour (0-23) PRECISAM ser expressas no fuso horário civil local do location solicitado (por exemplo, uma consulta para "Paris tomorrow at 13:00" usa a data e hora local de Europe/Paris 13), nunca o UTC ou o fuso horário do autor da chamada. * 1. Condições atuais (date omitido E hour omitido): * Forneça location e o capabilities de destino (WEATHER, AIR_QUALITY, POLLEN). NÃO especifique date ou hour. * Retorna as condições atuais (CC) em tempo real para os domínios solicitados (clima atual, qualidade do ar na hora atual e/ou previsão de pólen para hoje). * Para Qualidade do ar, as condições atuais são de uma única hora: NÃO use isso sozinho para responder a perguntas sobre a qualidade do ar ou sobre o clima externo em geral de hoje como um todo (use as consultas diárias abaixo). * 2. Previsão/histórico por hora (date especificado E hour especificado 0-23): * Forneça location, date ({year, month, day}), hour (0-23) e o destino capabilities. Se os minutos forem mencionados, arredonde para baixo até a hora mais próxima. * RESTRIÇÃO CRÍTICA (date é OBRIGATÓRIO quando hour é definido): fornecer hour sem date (date omitido, hour definido) NÃO é permitido e vai resultar em um erro. Mesmo quando o usuário perguntar sobre um horário específico hoje (por exemplo, "at 13:00 today"), você PRECISA preencher date (data de hoje às location) e hour. * Executa uma consulta por hora para o clima e/ou a qualidade do ar solicitados em YYYY-MM-DD-HH e uma consulta diária para o pólen solicitado em YYYY-MM-DD. * Perguntas sobre "quando" em relação ao clima: para perguntas sobre clima que perguntam quando / que horas / melhor horário (por exemplo, "what time will it stop raining?"), use chamadas de WEATHER por hora (date + hour) para as horas relevantes. Uma previsão do tempo diária não tem valores por hora. Para perguntas gerais sobre atividades ao ar livre do tipo "quando / melhor horário" (por exemplo, "when is the best time to go walking today?"), faça estas chamadas de hora em hora WEATHER, além da chamada de dia inteiro para qualidade do ar (e pólen) descrita em "Consultas diárias". * 3. Consultas diárias (date especificado E hour omitido): * Forneça location, date ({year, month, day} no horário civil local do location solicitado) sem hour e o capabilities de destino para consultas de dia inteiro (por exemplo, "weather and pollen in London tomorrow"). * Perguntas sobre qualidade do ar e atividades ao ar livre em geral para hoje: para perguntas sobre qualidade do ar e atividades ao ar livre em geral (que incluem qualidade do ar) para hoje (por exemplo, "how will the air quality change today", "is today a good day for a picnic?"), defina date como a data de hoje em location (hora omitida) para receber a série de qualidade do ar por hora do dia. Uma chamada de condições atuais retorna apenas a hora atual da qualidade do ar e não é suficiente. Você pode adicionar uma se o usuário também perguntar sobre "agora". * Janelas de tempo de qualidade do ar: para uma pergunta sobre a qualidade do ar em uma janela de um dia (por exemplo, "air quality between noon and 6 PM"), prefira uma chamada diária para essa data e leia as horas da janela na série de qualidade do ar, em vez de amostrar horas individuais. Se você usar chamadas por hora, cubra todas as horas do período. * Retorna previsões diárias para Clima e/ou Pólen solicitados, além da série de Qualidade do ar por hora do dia, cobrindo todo o dia local (00:00–23:00 local): 24 horas históricas para uma data passada, 24 horas previstas para uma data futura e, para hoje, as horas anteriores (histórico), a hora atual e as horas restantes (previsão). Horizontes de tempo aceitos por domínio: * Clima: de hora em hora, de 24 horas atrás até 240 horas (10 dias) à frente (as horas passadas precisam de date e hour); diariamente até 10 dias, incluindo hoje (de hoje até +9 dias); sem histórico diário. * Qualidade do ar: de hora em hora, de 720 horas (30 dias) atrás até 96 horas (4 dias) à frente. Uma chamada de dia inteiro precisa se encaixar nessa janela (na prática, de 29 dias atrás até 3 dias à frente). * Pólen: somente diário, de hoje até +4 dias (5 dias, incluindo hoje). Sem datas passadas, e hour é ignorado. * Observação: se vários recursos forem solicitados e o date/hour estiver fora de um dos intervalos, a chamada ainda será bem-sucedida e retornará apenas os recursos compatíveis. * Solicitações fora do intervalo: se uma data ou hora solicitada estiver fora do intervalo aceito de um domínio acima (por exemplo, Pollen para uma data anterior), ainda chame lookup_weather para a data/hora solicitada. O estado de erro indica o intervalo aceito. Não ligue para uma data, hora ou domínio diferente como substituto. Opções de domínio e atribuição: * Idioma (language_code): código de idioma BCP-47 opcional (por exemplo, "fr"). O padrão é "en". * Unidades de clima (weather_options.units_system ou units_system): o padrão é METRIC. Defina como IMPERIAL (Fahrenheit/mph) se o usuário sugerir padrões dos EUA ou solicitar explicitamente unidades imperiais. Compatível com weather_options.units_system (preferencial) e units_system de nível superior. Se ambos forem especificados, eles não poderão entrar em conflito. * Opções de qualidade do ar (air_quality_options): defina include_pollutant_concentration: true quando forem necessárias concentrações específicas de poluentes (PM2.5, PM10, O3, NO2, SO2, CO). Se quiser, defina index_region_code (código ISO de duas letras do país, por exemplo, "US") para solicitar uma escala de IQA regional específica. Por padrão, a resposta inclui o IQA universal e o IQA regional do local. * Atribuição: a saída embasada PRECISA ser atribuída à fonte usando o campo attribution dentro de cada contêiner de domínio retornado (weather.attribution, air_quality.attribution, pollen.attribution). * Horários retornados: os valores de qualidade do ar date_time já estão no horário local do local (utc_offset incluído). Apresente-os como estão. O clima date_time (atual e por hora) e os horários do nascer/pôr do sol estão em UTC. Converta-os para o horário local do local usando time_zone. Rotule todos os horários como locais.
compute_routes

Calcula trajetos entre uma origem e um destino, com a opção de incluir paradas intermediárias. Retorna a distância e a duração de cada trajeto.

Requisitos de entrada (CRÍTICOS):

  1. origin e destination (objetos - OBRIGATÓRIO): cada um precisa ser fornecido usando exatamente um dos seguintes:

    • address (string, por exemplo, 'Eiffel Tower, Paris'). Lugares, pontos de referência e empresas com nome são resolvidos diretamente. Portanto, NÃO chame search_places primeiro apenas para geocodificar um waypoint. Inclua qualquer cidade, região ou país mencionado pelo usuário.
    • lat_lng (objeto, {"latitude": number, "longitude": number}).
    • place_id (string, por exemplo, 'ChIJOwE_Id1w5EAR4Q27FkL6T_0'), por exemplo, de search_places.
  2. intermediate_waypoints (matriz de objetos, OPCIONAL): até 25 paradas para passar, em ordem, entre a origem e o destino. Mesmo formato de origin. Não é compatível com TRANSIT. Inclua apenas as paradas solicitadas pelo usuário. Especificar mais de 10 waypoints intermediários vai resultar em um custo mais alto e maior latência.

  3. travel_mode (tipo enumerado - OPCIONAL): DRIVE (padrão), WALK, BICYCLE ou TRANSIT.

  4. Horário (OPCIONAL - defina no máximo UM): carimbos de data/hora RFC 3339 com um ajuste de UTC, por exemplo, '2026-09-19T08:00:00-07:00'. O padrão é "partindo agora". Para TRANSIT, o horário pode ser de até 7 dias no passado ou até 100 dias no futuro. Para outros modos, o horário pode ser de até 365 dias no futuro e não pode ser no passado.

    • departure_time: use quando o usuário disser quando vai sair (por exemplo, "amanhã às 8h").
    • arrival_time: use quando o usuário disser o horário em que precisa chegar (por exemplo, "chegar às 9h").
  5. routing_preference (tipo enumerado - OPCIONAL):

    • ROUTING_PREFERENCE_TRAFFIC_UNAWARE (padrão): ignora o trânsito em tempo real, os incidentes e as interdições. Latência mais baixa.
    • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: usa as condições de trânsito em tempo real quando disponíveis. Não há suporte para WALK ou BICYCLE. Defina isso APENAS quando o usuário perguntar sobre o trânsito, congestionamento ou um HEC ajustado ao trânsito. Ela gera custos e latência mais altos.
  6. location_bias (objeto, OPCIONAL): {"latitude": number, "longitude": number} usado para eliminar a ambiguidade de nomes de lugares em endereços de waypoints. Se um nome for ambíguo (por exemplo, "Springfield") e o usuário não tiver informado uma região, mantenha o nome como fornecido em address e defina location_bias para a área pretendida em vez de adivinhar uma região.

  7. compute_alternative_routes (booleano, OPCIONAL): defina como true somente quando o usuário pedir opções ou alternativas de trajeto. O padrão é false, que retorna apenas o trajeto recomendado.

  8. include_polyline (booleano, OPCIONAL): defina como true somente quando a geometria do trajeto (encoded_polyline) for necessária. O padrão é false.

Instruções para chamada de ferramenta:

  • Se a origem ou o destino estiverem ausentes, você PRECISA pedir esclarecimentos ao usuário antes de chamar a ferramenta.
  • Para perguntas como "Qual é a distância de A até B?", use B como origin e A como destination.

Exemplo de chamada de ferramenta: {"origin":{"address":"Torre Eiffel"},"destination":{"place_id":"ChIJt_5xIthw5EARoJ71mGq7t74"},"intermediate_waypoints":[{"address":"Museu do Louvre"}],"travel_mode":"DRIVE","departure_time":"2026-09-19T08:00:00+02:00"}

Instruções para resposta:

  • Quando rotas alternativas são solicitadas, elas são ordenadas da mais para a menos recomendada.
  • Se routes estiver vazio, informe ao usuário que nenhuma rota foi encontrada. Não adivinhe um trajeto.
  • Para encontrar lugares ao longo de um trajeto do DRIVE, transmita o retrieval_token do trajeto para search_along_route. O token é válido por 10 minutos.
  • Apenas declare os fatos retornados pela ferramenta. NÃO invente navegação guiada, linhas de transporte público, estações, plataformas ou baldeações.
  • A saída embasada precisa ser atribuída à fonte usando o campo attribution de cada rota, quando disponível.
search_along_route

Chame essa ferramenta quando o usuário quiser encontrar lugares, empresas ou pontos de interesse ao longo de um trajeto de viagem (por exemplo, "postos de gasolina no meu caminho para Tahoe", "cafeterias entre SF e San Jose"). Chamar essa ferramenta tem um custo maior do que search_places. Por isso, use search_places ao pesquisar perto de um único local, em vez de ao longo de um trajeto.

Requisitos de entrada (CRÍTICOS):

  1. text_query (string - OBRIGATÓRIO): uma descrição em linguagem natural do que pesquisar ao longo do trajeto.

    • Exemplos: 'ev chargers', 'coffee', 'vegetarian restaurants', 'rest stops'.
  2. Especificação de rota (OBRIGATÓRIO: forneça exatamente UMA das seguintes opções):

    • retrieval_token (string): o retrieval_token retornado por uma chamada compute_routes anterior para um trajeto DRIVE. Prefira essa opção sempre que o trajeto já tiver sido calculado. O token é válido por 10 minutos.
    • route_endpoints (objeto): o origin e o destination da rota. Cada um precisa ser fornecido usando address, lat_lng ou place_id.
      • Exemplo: {"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}.
    • encoded_polyline (string): uma polilinha codificada que representa um trajeto DRIVE.
  3. travel_mode (tipo enumerado - OPCIONAL): DRIVE (padrão), WALK ou BICYCLE. WALK e BICYCLE só são compatíveis com route_endpoints. TRANSIT não é compatível.

  4. routing_preference (tipo enumerado - OPCIONAL):

    • ROUTING_PREFERENCE_TRAFFIC_UNAWARE (padrão): calcula o trajeto e os desvios sem trânsito em tempo real. Latência mais baixa.
    • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL: usa as condições de trânsito em tempo real quando disponíveis. Não há suporte para WALK ou BICYCLE. Defina isso APENAS quando o usuário perguntar sobre trânsito, congestionamento ou tempos de desvio ajustados ao trânsito. A latência é maior.
  5. include_extended_details (booleano, OPCIONAL): defina como true somente quando a solicitação exigir insights de avaliações qualitativas, itens de menu ou ofertas específicas, atmosfera, dicas ou movimento de visitantes, disponibilidade de carregador de VE, preços de combustível ou outros detalhes qualitativos avançados. O padrão é false. Ativar essa opção pode aumentar a latência.

  6. language_code (string - OPCIONAL): o idioma do resumo dos resultados e dos Place Details, por exemplo, en, ja, en-US. O valor padrão é en-US.

  7. region_code (string - OPCIONAL): o código regional CLDR Unicode do usuário, por exemplo, US, CA.

Instruções para chamada de ferramenta:

  • Cada resultado inclui um detour_summary (quando disponível) que descreve a distância extra (localized_detour_distance) e, a menos que o trajeto tenha sido fornecido como encoded_polyline, o tempo extra (detour_duration) incorrido ao parar nesse local. Use-a para comparar opções.
  • A resposta summary pode conter citações baseadas em zero (por exemplo, "[0]") que fazem referência a entradas em results.
  • A saída embasada precisa ser atribuída à fonte usando o campo attribution de cada results[].place, quando disponível.
resolve_names

Resolve uma lista em lote de consultas de locais específicos (nomes de pontos de referência ou endereços exatos) em IDs de lugar canônicos do Google Maps.

Requisitos de entrada (CRÍTICOS):

  1. queries (matriz de objetos - OBRIGATÓRIO): uma lista de consultas de local para resolver. É possível especificar até 20 consultas.

    • Cada objeto de consulta precisa ter:
      • text (string - OBRIGATÓRIO): a consulta de texto que representa um nome de lugar ou endereço específico a ser resolvido.
        • Exemplos: 'Googleplex, Mountain View, CA', '1600 Amphitheatre Pkwy, Mountain View, CA', 'Eiffel Tower, Paris'.
  2. location_bias (objeto - OPCIONAL): use para priorizar resultados próximos a uma área geográfica específica.

    • Formato: {"viewport": {"low": {"latitude": [value], "longitude": [value]}, "high": {"latitude": [value], "longitude": [value]}}}
  3. region_code (string - OPCIONAL): o código de região CLDR Unicode (código de país de duas letras, por exemplo, US, CA) do usuário para influenciar os resultados.

Instruções para chamada de ferramenta:

  • Especificidade (CRÍTICO): as consultas precisam representar um nome ou endereço de lugar específico. Pesquisas genéricas como 'restaurants' ou nomes de redes como 'Starbucks' não são aceitos.
  • NÃO chame essa ferramenta se as ferramentas downstream que você planeja invocar já aceitarem strings de endereço ou nome de lugar diretamente.

Salvar no Google Maps:

  • A resposta inclui um campo save_to_maps_url: um único link do Google Maps com todos os lugares resolvidos.
  • Quando o usuário quiser salvar, compartilhar ou abrir os lugares resolvidos como uma lista no Google Maps, apresente esse link para ele. NÃO construa esse link por conta própria.

Tratamento de erros (CRÍTICO):

  • Essa é uma ferramenta de processamento em lote. Uma solicitação pode retornar "resultados mistos" (por exemplo, algumas consultas são resolvidas com sucesso, enquanto outras falham).
  • A lista de saída de results é garantida para mapear 1:1 com os índices de entrada queries. Uma consulta com falha vai resultar em uma mensagem Result vazia (sem entity definido) no índice correspondente na lista results.
  • Você PRECISA verificar o campo de mapa failed_requests na resposta para identificar qual índice de consulta específico falhou. A chave de failed_requests representa o índice com base em 0 da consulta com falha na solicitação. Não presuma que toda a chamada em lote falhou devido a uma falha parcial.
resolve_maps_urls

Resolve uma lista de URLs do Google Maps em IDs de lugar canônicos do Google Maps.

Quando chamar essa ferramenta (CRÍTICO):

  • Use esta ferramenta quando o usuário fornecer um ou mais links ou URLs de compartilhamento do Google Maps (por exemplo, "https://maps.app.goo.gl/...", "https://www.google.com/maps/place/..." ou "https://maps.google.com/...") e precisa extrair os IDs de lugar canônicos.
  • É possível especificar até 20 URLs para resolver em uma única solicitação em lote.

Requisitos de entrada (CRÍTICOS):

  • urls (matriz de strings - OBRIGATÓRIO): a lista de URLs do Google Maps a serem resolvidos. Cada URL precisa ser um URL válido do Google Maps para um único lugar.

Salvar no Google Maps:

  • A resposta inclui um campo save_to_maps_url: um único link do Google Maps com todos os lugares resolvidos.
  • Quando o usuário quiser salvar, compartilhar ou abrir os lugares resolvidos como uma lista no Google Maps (por exemplo, coletar lugares compartilhados em uma conversa), apresente esse link para ele. NÃO construa esse link por conta própria.

Tratamento de erros (CRÍTICO):

  • Essa é uma ferramenta de processamento em lote. Uma solicitação pode retornar "resultados mistos" (por exemplo, alguns URLs são resolvidos com sucesso, enquanto outros falham).
  • A lista de saída de entities é garantida para mapear 1:1 com os índices de entrada urls. Uma resolução de URL com falha vai resultar em uma mensagem Entity vazia (nenhum campo definido) no índice correspondente na lista entities.
  • Você PRECISA verificar o campo de mapa failed_requests na resposta para identificar qual índice de URL específico falhou. A chave de failed_requests representa o índice com base em 0 do URL com falha na solicitação. Não presuma que toda a chamada em lote falhou devido a uma falha parcial.

Receber especificações da ferramenta MCP

Para receber as especificações de todas as ferramentas em um servidor MCP, use o método tools/list. O exemplo a seguir demonstra como usar curl para listar todas as ferramentas e as especificações delas disponíveis no servidor 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
}'