Ferramenta: 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):
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').
- Exemplos:
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}}}}(omitindoradius_meters).
- Para definir um raio de 5 km:
- Formato:
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.
- 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,
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.
- Formato: um código de país com duas letras (ISO 3166-1 alfa-2), por exemplo,
page_size(número inteiro - OPCIONAL): o número máximo de lugares a serem retornados, de1a10. O padrão é5. Defina acima de5somente quando o usuário quiser comparar mais de 5 lugares. Valores de6a10têm custo e latência mais altos.include_extended_details(booleano - OPCIONAL): defina esse campo comotruequando 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 comotruegera 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âmetrolocation_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_querymais específico e rico em contexto possível.Use
location_biassomente 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.
O exemplo de código a seguir mostra como usar curl para chamar a ferramenta MCP search_places.
| 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_places", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Mensagem de solicitação para SearchText.
SearchTextRequest
| Representação JSON |
|---|
{ "textQuery": string, "languageCode": string, "regionCode": string, "pageSize": integer, "includeExtendedDetails": boolean, // Union field |
| Campos | |
|---|---|
textQuery |
Obrigatório. A consulta de texto. |
languageCode |
Opcional. O idioma em que o resumo será retornado. Se o código do idioma não for especificado ou reconhecido, o resumo será retornado em inglês. Por exemplo, "en" para inglês. Lista atual de idiomas disponíveis: https://developers.google.com/maps/faq#languagesupport. |
regionCode |
Opcional. O código Unicode de país/região (CLDR) do local de origem da solicitação. 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. Por exemplo, "US" para Estados Unidos. Para mais informações, consulte https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. No momento, não há suporte para códigos de região de três dígitos. |
pageSize |
Opcional. O número máximo de lugares a serem retornados, até 10. O serviço pode retornar um valor inferior a este. O valor padrão é cinco. Solicitar mais de 5 lugares vai acionar o nível Pro e gerar um custo faturado e uma latência maiores. |
includeExtendedDetails |
Opcional. Inclui detalhes estendidos do lugar na resposta. Defina esse campo como Deixe Ativar esse campo vai acionar o nível Pro e gerar um custo faturado mais alto e maior latência. |
Campo de união
|
|
locationBias |
Uma região opcional para priorizar os resultados da pesquisa. Se um local explícito estiver em |
LocationBias
| Representação JSON |
|---|
{
"circle": {
object ( |
| Campos | |
|---|---|
circle |
Opcional. Um círculo definido pelo ponto central e pelo raio. O |
Círculo
| Representação JSON |
|---|
{ "center": { object ( |
| Campos | |
|---|---|
center |
Obrigatório. O ponto central do círculo. |
Campo de união
|
|
radiusMeters |
O raio do círculo em metros. O raio precisa estar dentro de 50.000 metros. |
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]. |
Esquema de saída
Mensagem de resposta para SearchText.
SearchTextResponse
| Representação JSON |
|---|
{
"places": [
{
object ( |
| Campos | |
|---|---|
places[] |
Apenas saída. A lista de lugares mencionados no resumo. |
summary |
Apenas saída. Um resumo em linguagem natural dos resultados da pesquisa. O resumo pode conter citações baseadas em zero, como "[0]", "[1]", "[2]" etc. Essas citações são mapeadas para os lugares correspondentes no campo |
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. |
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. |
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: ❌