Ferramenta: lookup_weather
Recupera dados meteorológicos abrangentes, incluindo condições atuais e previsões por hora 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 celestes (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 do local geocodificado.
Local e regras de local (CRÍTICO):
O local para o qual os dados meteorológicos são solicitados é especificado usando o campo location. Esse campo é uma estrutura "oneof", ou seja, você PRECISA fornecer um valor para APENAS UM dos três subcampos de local abaixo para garantir uma pesquisa precisa de dados meteorológicos.
Coordenadas geográficas (lat_lng)
- Use quando você receber coordenadas exatas de latitude/longitude.
- Exemplo: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Los Angeles
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: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Torre Eiffel
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: informe o endereço completo (por exemplo, "Avenida Brasil, 1234, Rio de Janeiro, RJ").
- Códigos postais/CEPs: precisam ser acompanhados do nome de um país (por exemplo, "90210, EUA", e não "90210").
- Exemplo: {"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}}
Modos de uso:
Clima atual:forneça apenas
location. Não especifiquedateehour.Previsão de hora em hora:forneça
location,dateehour(0 a 23). Use para horários específicos (por exemplo, "às 17h") ou termos como "nas próximas horas" ou "mais tarde hoje". Se o usuário especificar minutos, arredonde para baixo até a hora mais próxima. Não é possível fazer previsões horárias com mais de 120 horas de antecedência. O clima histórico por hora é compatível com até 24 horas atrás.Previsão diária:forneça
locationedate. Não especifiquehour. Use para solicitações gerais de dias (por exemplo, "previsão do tempo para amanhã", "previsão do tempo para sexta-feira", "previsão do tempo para 25/12"). Se a data de hoje não estiver no contexto, esclareça isso com o usuário. Previsão diária para mais de 10 dias, incluindo hoje, não é indisponível. Clima histórico não é compatível.
Restrições de parâmetro:
- Fusos horários:todas as entradas
dateehourprecisam ser relativas ao fuso horário local do local, não ao do usuário. - Formato de data:as entradas precisam ser separadas em
{year, month, day}números inteiros. - Unidades:o padrão é
METRIC. Definaunits_systemcomoIMPERIALpara Fahrenheit/Milhas se o usuário sugerir padrões dos EUA ou pedir explicitamente. A saída embasada precisa ser atribuída à fonte usando as informações do campo
attribution, quando disponíveis.
O exemplo a seguir demonstra como usar curl para invocar a ferramenta lookup_weather 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/call", "params": { "name": "lookup_weather", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Solicitação do método "LookupWeather", que representa as condições climáticas no local solicitado.
LookupWeatherRequest
| Representação JSON |
|---|
{ "DEPRECATEDAddress": string, "unitsSystem": enum ( |
| Campos | |
|---|---|
DEPRECATEDAddress |
OBSOLETO: use "location". |
unitsSystem |
Opcional. O sistema de unidades a ser usado para as condições climáticas retornadas. Se não for fornecido, as condições climáticas retornadas estarão no sistema métrico (padrão = METRIC). |
location |
Obrigatório. O local para receber as condições climáticas. |
Campo de união
|
|
date |
Opcional. A data das informações climáticas necessárias. Observação: essa data é relativa ao fuso horário local do local especificado no campo "Local". A data precisa estar entre 24 horas atrás e os próximos 10 dias. |
Campo de união
|
|
hour |
Opcional. A hora das informações climáticas solicitadas, no formato de 24 horas (0 a 23). Esse valor é relativo ao fuso horário local do local especificado no campo "Local". Não é possível fazer previsões horárias com mais de 120 horas de antecedência. O clima histórico por hora é compatível com até 24 horas atrás. |
Data
| Representação JSON |
|---|
{ "year": integer, "month": integer, "day": integer } |
| Campos | |
|---|---|
year |
Ano da data. Precisa ser de 1 a 9.999 ou 0 para especificar uma data sem ano. |
month |
Mês do ano. Precisa ser de 1 a 12, ou 0 para especificar um ano sem um mês e dia. |
day |
Dia do mês. Precisa ser de 1 a 31 e válido para o ano e o mês, ou 0 para especificar um ano sozinho ou um ano e mês em que o dia não é significativo. |
Local
| 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 local . |
address |
Endereço legível 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]. |
Esquema de saída
Resposta para o RPC LookupWeather, que representa as condições climáticas no local solicitado.
Essa resposta representa informações por hora e por dia. Portanto, ela é dividida em três seções: por hora, por dia e compartilhadas. Os campos "Somente por hora" e "Somente por dia" são marcados como opcionais. Para campos compartilhados entre informações horárias e diárias, alguns estão sempre presentes e não são marcados como opcionais. Os demais são marcados como opcionais porque nem sempre estão disponíveis.
LookupWeatherResponse
| Representação JSON |
|---|
{ "weatherCondition": { object ( |
| Campos | |
|---|---|
weatherCondition |
A condição climática |
precipitation |
A probabilidade e a quantidade de chuva acumulada |
wind |
As condições de vento |
DEPRECATEDGeocodedAddress |
OBSOLETO: use returned_location. |
returnedLocation |
Obrigatório. O local em que as informações meteorológicas são retornadas. Esse local é idêntico ao local na solicitação, mas pode ser diferente se o local solicitado for um endereço de texto livre que pesquisa uma localização aproximada (por exemplo, "Mountain View, CA"). |
attribution |
Atribuição obrigatória para mostrar com a previsão do tempo. |
Campo de união
|
|
temperature |
A temperatura por hora |
Campo de união
|
|
feelsLikeTemperature |
A medida horária da sensação térmica. |
Campo de união
|
|
heatIndex |
A temperatura do índice de calor por hora. |
Campo de união
|
|
airPressure |
As condições de pressão do ar por hora. |
Campo de união
|
|
maxTemperature |
A temperatura máxima (alta) ao longo do dia. |
Campo de união
|
|
minTemperature |
A temperatura mínima (baixa) ao longo do dia. |
Campo de união
|
|
feelsLikeMaxTemperature |
A sensação térmica máxima (alta) ao longo do dia. |
Campo de união
|
|
feelsLikeMinTemperature |
A sensação térmica mínima (baixa) ao longo do dia. |
Campo de união
|
|
maxHeatIndex |
A temperatura máxima do índice de calor ao longo do dia. |
Campo de união
|
|
sunEvents |
Os eventos relacionados ao sol (por exemplo, nascer e pôr do sol). |
Campo de união
|
|
moonEvents |
Os eventos relacionados à lua (por exemplo, nascer e pôr da lua). |
Campo de união
|
|
relativeHumidity |
A porcentagem de umidade relativa (valores de 0 a 100). Defina como opcional porque nem sempre está disponível. |
Campo de união
|
|
uvIndex |
O índice máximo de raios ultravioleta (UV). Defina como opcional porque nem sempre está disponível. |
Campo de união
|
|
thunderstormProbability |
A probabilidade de tempestade (valores de 0 a 100). Defina como opcional porque nem sempre está disponível. |
Campo de união
|
|
cloudCover |
A porcentagem do céu coberta por nuvens (valores de 0 a 100). Defina como opcional porque nem sempre está disponível. |
Temperatura
| Representação JSON |
|---|
{ "unit": enum ( |
| Campos | |
|---|---|
unit |
O código da unidade usada para medir o valor da temperatura. |
Campo de união
|
|
degrees |
O valor da temperatura (em graus) na unidade especificada. |
AirPressure
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união
|
|
meanSeaLevelMillibars |
A pressão atmosférica média ao nível do mar em milibares. |
SunEvents
| Representação JSON |
|---|
{ "sunriseTime": string, "sunsetTime": string } |
| Campos | |
|---|---|
sunriseTime |
O horário em que o sol nasce. OBSERVAÇÃO: em alguns casos únicos (por exemplo, ao norte do círculo ártico), pode não haver horário de nascer do sol em um dia. Nesses casos, esse campo não será definido. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
sunsetTime |
O horário em que o sol se põe. OBSERVAÇÃO: em alguns casos específicos (por exemplo, ao norte do círculo ártico), pode não haver horário de pôr do sol em um dia. Nesses casos, esse campo não será definido. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799 (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa estar entre 0 e 999.999.999 (inclusive). |
MoonEvents
| Representação JSON |
|---|
{
"moonriseTimes": [
string
],
"moonsetTimes": [
string
],
"moonPhase": enum ( |
| Campos | |
|---|---|
moonriseTimes[] |
O momento em que o limbo superior da lua aparece acima do horizonte. Consulte https://en.wikipedia.org/wiki/Moonrise_and_moonset). OBSERVAÇÃO: na maioria dos casos, há um único horário de nascer da lua por dia. Em outros casos, a lista pode estar vazia (por exemplo, quando a lua nasce depois da meia-noite do dia seguinte). No entanto, em casos únicos (por exemplo, nas regiões polares), a lista pode conter mais de um valor. Nesses casos, os valores são classificados em ordem crescente. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
moonsetTimes[] |
O momento em que o limbo superior da Lua desaparece abaixo do horizonte (consulte https://en.wikipedia.org/wiki/Moonrise_and_moonset). OBSERVAÇÃO: na maioria dos casos, há um único horário de pôr da lua por dia. Em outros casos, a lista pode estar vazia (por exemplo, quando a lua se põe depois da meia-noite do dia seguinte). No entanto, em casos únicos (por exemplo, nas regiões polares), a lista pode conter mais de um valor. Nesses casos, os valores são classificados em ordem crescente. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
moonPhase |
A fase da lua (também conhecida como fase lunar). |
WeatherCondition
| Representação JSON |
|---|
{ "iconBaseUri": string, "description": { object ( |
| Campos | |
|---|---|
iconBaseUri |
O URI base do ícone sem a extensão do tipo de arquivo. Para mostrar o ícone, anexe um tema, se quiser, e a extensão do tipo de arquivo ( |
description |
A descrição textual dessa condição climática (localizada). |
type |
O tipo de condição climática. |
LocalizedText
| Representação JSON |
|---|
{ "text": string, "languageCode": string } |
| Campos | |
|---|---|
text |
String localizada no idioma correspondente a |
languageCode |
O código de idioma BCP-47 do texto, como "en-US" ou "sr-Latn". Para mais informações, consulte http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
Precipitação
| Representação JSON |
|---|
{ "probability": { object ( |
| Campos | |
|---|---|
probability |
A probabilidade de precipitação (valores de 0 a 100). |
snowQpf |
A quantidade de neve, medida como equivalente de água líquida, que se acumulou durante um período. Observação: QPF é uma abreviação de previsão quantitativa de precipitação. Consulte a definição de "QuantitativePrecipitationForecast" para mais detalhes. |
qpf |
A quantidade de chuva, medida como equivalente de água líquida, que se acumulou durante um período. Observação: QPF é uma abreviação de previsão quantitativa de precipitação. Consulte a definição de "QuantitativePrecipitationForecast" para mais detalhes. |
PrecipitationProbability
| Representação JSON |
|---|
{ "type": enum ( |
| Campos | |
|---|---|
type |
Um código que indica o tipo de precipitação. |
Campo de união
|
|
percent |
Uma porcentagem de 0 a 100 que indica as chances de precipitação. |
QuantitativePrecipitationForecast
| Representação JSON |
|---|
{ "unit": enum ( |
| Campos | |
|---|---|
unit |
O código da unidade usada para medir a quantidade de precipitação acumulada. |
Campo de união
|
|
quantity |
A quantidade de precipitação, medida como equivalente de água líquida, que se acumulou durante um período. |
Wind
| Representação JSON |
|---|
{ "direction": { object ( |
| Campos | |
|---|---|
direction |
A direção do vento, o ângulo de onde ele vem. |
speed |
A velocidade do vento. |
gust |
A rajada de vento (aumento repentino na velocidade do vento). |
WindDirection
| Representação JSON |
|---|
{ "cardinal": enum ( |
| Campos | |
|---|---|
cardinal |
O código que representa a direção cardeal de onde o vento está soprando. |
Campo de união
|
|
degrees |
A direção do vento em graus (valores de 0 a 360). |
WindSpeed
| Representação JSON |
|---|
{ "unit": enum ( |
| Campos | |
|---|---|
unit |
O código que representa a unidade usada para medir a velocidade do vento. |
Campo de união
|
|
value |
O valor da velocidade do vento. |
Local
| 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 local . |
address |
Endereço legível 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]. |
Atribuição
| Representação JSON |
|---|
{ "title": string, "url": string } |
| Campos | |
|---|---|
title |
O título a ser exibido para a atribuição. |
url |
O URL do link para a atribuição. |
Anotações de ferramentas
Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ✅ | Dica de mundo aberto: ❌