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. Localização 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", 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. 1. Coordenadas geográficas (lat_lng): use quando tiver coordenadas exatas de latitude/longitude. * Exemplo: "lat_lng": { "latitude": 34.0522, "longitude": -118.2437 } // Los Angeles 2. ID do lugar (place_id): um identificador de string não ambíguo (ID do lugar do Google Maps). * O place_id pode ser buscado na ferramenta search_places. * Exemplo: "place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0" // Torre Eiffel 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: informe o endereço completo (por exemplo, "1600 Pennsylvania Ave NW, Washington, DC"). * Códigos postais/CEPs: precisam ser acompanhados do nome de um país (por exemplo, "90210, EUA", NÃO "90210"). Modos de uso:1. Clima atual:forneça apenas address. Não especifique date e hour. 2. Previsão de hora em hora:forneça address, date e hour (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 de hora em hora para mais de 48 horas a partir de agora. 3. Previsão diária:forneça address e date. Não especifique hour. Use para solicitações gerais de dia (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. Não é possível fazer previsões diárias para mais de 7 dias, incluindo o dia de hoje. Não há suporte para clima histórico. Restrições de parâmetros: * Fusos horários:todas as entradas date e hour precisam 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. Defina units_system como IMPERIAL para Fahrenheit/Milhas se o usuário sugerir padrões dos EUA ou pedir explicitamente.
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 ser nos próximos sete dias. |
Campo de união
|
|
hour |
Opcional. A hora das informações meteorológicas solicitadas, no formato de 24 horas (0 a 23). Esse valor é relativo ao fuso horário local do local especificado no campo "Local". A previsão por hora só é válida para as próximas 48 horas a partir do horário atual. |
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 do 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. 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, por isso, 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 um local aproximado (por exemplo, "Mountain View, CA"). |
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, adicione 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 acumulada em um período, medida como equivalente de água líquida. 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 do 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]. |
Anotações de ferramentas
Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ✅ | Dica de mundo aberto: ❌