Ferramenta: 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 gera um custo maior do que search_places. Portanto, use search_places ao pesquisar perto de um único local, em vez de ao longo de um trajeto.
Requisitos de entrada (CRÍTICOS):
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'.
- Exemplos:
Especificação de rota (OBRIGATÓRIO: forneça exatamente UMA das seguintes opções):
retrieval_token(string): oretrieval_tokenretornado por uma chamadacompute_routesanterior para um trajetoDRIVE. Prefira essa opção sempre que o trajeto já tiver sido calculado. O token é válido por 10 minutos.route_endpoints(objeto): oorigine odestinationda rota. Cada um precisa ser fornecido usandoaddress,lat_lngouplace_id.- Exemplo:
{"route_endpoints": {"origin": {"address": "San Francisco, CA"}, "destination": {"address": "Lake Tahoe, CA"}}}.
- Exemplo:
encoded_polyline(string): uma polilinha codificada que representa um trajetoDRIVE.
travel_mode(tipo enumerado - OPCIONAL):DRIVE(padrão),WALKouBICYCLE.WALKeBICYCLEsó são compatíveis comroute_endpoints.TRANSITnão é compatível.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 paraWALKouBICYCLE. Defina isso APENAS quando o usuário perguntar sobre trânsito, congestionamento ou tempos de desvio ajustados ao trânsito. A latência é maior.
include_extended_details(booleano - OPCIONAL): defina comotruesomente quando a solicitação exigir insights de avaliações qualitativas, itens de menu ou ofertas específicas, atmosfera, dicas ou movimentação 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.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.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 comoencoded_polyline, o tempo extra (detour_duration) incorrido ao parar nesse local. Use-a para comparar opções. - A resposta
summarypode conter citações baseadas em zero (por exemplo, "[0]") que fazem referência a entradas emresults. - A saída embasada precisa ser atribuída à fonte usando o campo
attributionde cadaresults[].place, quando disponível.
O exemplo de código a seguir mostra como usar curl para chamar a ferramenta MCP search_along_route.
| 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/call", "params": { "name": "search_along_route", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Mensagem de solicitação para SearchAlongRoute.
SearchAlongRouteRequest
| Representação JSON |
|---|
{ "textQuery": string, "languageCode": string, "regionCode": string, "routingPreference": enum ( |
| Campos | |
|---|---|
textQuery |
Obrigatório. Consulta de pesquisa com linguagem natural (por exemplo, "carregadores de VE", "café"). |
languageCode |
Opcional. O idioma do resumo e dos Place Details. O padrão é "en-US". |
regionCode |
Opcional. Código do país/região (CLDR) do local (por exemplo, "US"). |
routingPreference |
Opcional. Preferência de roteamento opcional que especifica como os dados de trânsito são usados. O padrão é TRAFFIC_UNAWARE. |
includeExtendedDetails |
Opcional. Inclui detalhes estendidos do lugar na resposta. Defina esse campo como Deixe Ativar esse campo pode aumentar a latência. |
travelMode |
Opcional. Especifica o meio de transporte usado para calcular o trajeto e os desvios. O valor padrão é |
Campo de união route_spec. Especificação do trajeto: um trajeto atual, um token de trajeto ou endpoints de origem/destino. route_spec pode ser apenas de um dos tipos a seguir: |
|
encodedPolyline |
Uma string de polilinha codificada que representa o trajeto. Consulte https://developers.google.com/maps/documentation/utilities/polylinealgorithm |
retrievalToken |
Um token de recuperação retornado de uma chamada ComputeRoutes anterior que representa o trajeto. |
routeEndpoints |
Endpoints de rota explícitos (origem e destino). |
RouteEndpoints
| Representação JSON |
|---|
{ "origin": { object ( |
| Campos | |
|---|---|
origin |
Obrigatório. Ponto de partida (endereço, ID de lugar ou coordenadas geográficas). |
destination |
Obrigatório. Ponto de destino (endereço, ID de lugar ou coordenadas geográficas). |
Ponto de referência
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união location_type. Diferentes maneiras de representar um local. location_type pode ser apenas de um dos tipos a seguir: |
|
latLng |
Um ponto especificado usando coordenadas geográficas. |
placeId |
O ID de lugar associado ao waypoint. |
address |
Endereço legível por humanos ou um Plus Code. Para mais detalhes, consulte https://plus.codes. |
LatLng
| Representação JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campos | |
|---|---|
latitude |
A latitude em graus. Precisa estar no intervalo [-90,0, +90,0]. |
longitude |
A longitude em graus. Precisa estar no intervalo [-180,0, +180,0]. |
RoutingPreference
Um conjunto de valores que especificam fatores a serem considerados ao calcular o trajeto.
| Tipos enumerados | |
|---|---|
ROUTING_PREFERENCE_UNSPECIFIED |
Nenhuma preferência de roteamento especificada. O valor padrão é ROUTING_PREFERENCE_TRAFFIC_UNAWARE. |
ROUTING_PREFERENCE_TRAFFIC_UNAWARE |
Calcula rotas sem considerar as condições de trânsito em tempo real. Adequado quando as condições de trânsito não importam ou não são relevantes. O uso desse valor produz a menor latência. |
ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL |
Calcula rotas considerando as condições de trânsito em tempo real, quando os dados de trânsito estão disponíveis. Para Esse valor vai acionar o nível Pro e gerar um custo faturado e uma latência maiores. |
RouteTravelMode
Um conjunto de valores usado para especificar o meio de transporte.
| Tipos enumerados | |
|---|---|
ROUTE_TRAVEL_MODE_UNSPECIFIED |
Nenhum meio de transporte especificado. O valor padrão é DRIVE. |
DRIVE |
Viajar de carro de passeio. |
WALK |
Viaje a pé. OBSERVAÇÃO: as rotas de WALK estão na versão Beta e, às vezes, podem não ter calçadas ou caminhos para pedestres claros. Você precisa mostrar esse aviso ao usuário em todas as caminhadas exibidas no seu app. |
BICYCLE |
Viajar de bicicleta. |
TRANSIT |
Viajar usando o transporte público. |
Esquema de saída
Mensagem de resposta para SearchAlongRoute.
SearchAlongRouteResponse
| Representação JSON |
|---|
{
"results": [
{
object ( |
| Campos | |
|---|---|
results[] |
Apenas saída. A lista classificada de resultados da pesquisa encontrados ao longo do trajeto. |
summary |
Apenas saída. Resumo em linguagem natural dos resultados da pesquisa e das vantagens e desvantagens dos desvios. Pode conter citações baseadas em zero (por exemplo, "[0]", "[1]") que fazem referência às entradas correspondentes na lista |
contentToken |
Apenas saída. Um token criptografado que encapsula o contexto da pesquisa e pode ser transmitido para serviços de renderização visual do Google Maps, SDKs ou o Maps Agentic UI Toolkit (A2UI) para mostrar componentes interativos da interface para os resultados da pesquisa retornados. |
Resultado
| Representação JSON |
|---|
{ "place": { object ( |
| Campos | |
|---|---|
place |
Apenas saída. Detalhes sobre o lugar encontrado ao longo do trajeto. |
detourSummary |
Apenas saída. Métricas de desvio geradas ao adicionar esse lugar como uma parada intermediária no trajeto. Omitido ou vazio se não for possível calcular as métricas de desvio. |
PlaceView
| Representação JSON |
|---|
{ "place": string, "id": string, "googleMapsLinks": { object ( |
| Campos | |
|---|---|
place |
O nome do recurso do lugar, no formato "places/{id}". |
id |
O ID de lugar do lugar subjacente. |
googleMapsLinks |
Links para acionar diferentes ações do Google Maps. |
attribution |
Atribuição obrigatória para mostrar com o lugar. |
Campo de união
|
|
location |
A posição desse lugar. |
LatLng
| Representação JSON |
|---|
{ "latitude": number, "longitude": number } |
| Campos | |
|---|---|
latitude |
A latitude em graus. Precisa estar no intervalo [-90,0, +90,0]. |
longitude |
A longitude em graus. Precisa estar no intervalo [-180,0, +180,0]. |
GoogleMapsLinks
| Representação JSON |
|---|
{ "directionsUrl": string, "placeUrl": string, "writeAReviewUrl": string, "reviewsUrl": string, "photosUrl": string } |
| Campos | |
|---|---|
directionsUrl |
Um link para mostrar as rotas até o lugar. O link preenche apenas o local de destino e usa o modo de viagem padrão |
placeUrl |
Um link para mostrar esse lugar. |
writeAReviewUrl |
Um link para escrever uma avaliação sobre esse lugar no Google Maps. |
reviewsUrl |
Um link para mostrar as avaliações desse lugar no Google Maps. |
photosUrl |
Um link para mostrar fotos desse lugar no Google Maps. |
Atribuição
| Representação JSON |
|---|
{ "title": string, "url": string } |
| Campos | |
|---|---|
title |
O título a ser exibido para a atribuição. |
url |
O URL para vincular à atribuição. |
DetourSummary
| Representação JSON |
|---|
{ "detourDuration": string, "localizedDetourDistance": string } |
| Campos | |
|---|---|
detourDuration |
O tempo de viagem adicional necessário para desviar para esse lugar do trajeto principal. Esse valor não será definido se a rota for especificada por Duração em segundos com até nove dígitos fracionários, terminando em " |
localizedDetourDistance |
A distância adicional necessária para desviar para esse lugar do trajeto principal, formatada para exibição no idioma da solicitação (por exemplo, "1,2 mi" ou "1,9 km"). |
Duração
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Segundos assinados do período. Precisa ser de -315.576.000.000 a +315.576.000.000, inclusive. Observação: esses limites são calculados da seguinte forma: 60 s/min * 60 min/h * 24 h/dia * 365,25 dias/ano * 10.000 anos |
nanos |
Frações assinadas de um segundo com resolução de nanossegundos do período. As durações menores que um segundo são representadas com um campo |
Anotações de ferramentas
As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando uma solicitação de confirmação pode ser enviada a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas:
readOnlyHint: se for verdadeiro, a ferramenta não vai modificar o ambiente. (Padrão: falso).destructiveHint: se for verdadeiro, a ferramenta poderá realizar ações destrutivas. Se for falso, a ferramenta só poderá realizar ações aditivas. Padrão: verdadeiro.idempotentHint: se for verdadeiro, chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente. (Padrão: falso).openWorldHint: se for verdadeiro, a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for falso, a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.
Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ✅ | Dica de jogos de mundo aberto: ❌