MCP Tools Reference: mapstools.googleapis.com

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 (UnitsSystem),
  "location": {
    object (Location)
  },

  // Union field _date can be only one of the following:
  "date": {
    object (google.type.Date)
  }
  // End of list of possible types for union field _date.

  // Union field _hour can be only one of the following:
  "hour": integer
  // End of list of possible types for union field _hour.
}
Campos
DEPRECATEDAddress
(deprecated)

string

OBSOLETO: use "location".

unitsSystem

enum (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

object (Location)

Obrigatório. O local para receber as condições climáticas.

Campo de união _date.

_date pode ser apenas de um dos tipos a seguir:

date

object (google.type.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.

_hour pode ser apenas de um dos tipos a seguir:

hour

integer

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

integer

Ano da data. Precisa ser de 1 a 9.999 ou 0 para especificar uma data sem ano.

month

integer

Mês do ano. Precisa ser de 1 a 12, ou 0 para especificar um ano sem um mês e dia.

day

integer

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 location_type can be only one of the following:
  "latLng": {
    object (google.type.LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
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

object (google.type.LatLng)

Um ponto especificado usando coordenadas geográficas.

placeId

string

O ID do lugar associado ao local .

address

string

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

number

A latitude em graus. Precisa estar no intervalo [-90,0, +90,0].

longitude

number

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 (WeatherCondition)
  },
  "precipitation": {
    object (Precipitation)
  },
  "wind": {
    object (Wind)
  },
  "DEPRECATEDGeocodedAddress": string,
  "returnedLocation": {
    object (Location)
  },

  // Union field _temperature can be only one of the following:
  "temperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _temperature.

  // Union field _feels_like_temperature can be only one of the following:
  "feelsLikeTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _feels_like_temperature.

  // Union field _heat_index can be only one of the following:
  "heatIndex": {
    object (Temperature)
  }
  // End of list of possible types for union field _heat_index.

  // Union field _air_pressure can be only one of the following:
  "airPressure": {
    object (AirPressure)
  }
  // End of list of possible types for union field _air_pressure.

  // Union field _max_temperature can be only one of the following:
  "maxTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _max_temperature.

  // Union field _min_temperature can be only one of the following:
  "minTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _min_temperature.

  // Union field _feels_like_max_temperature can be only one of the following:
  "feelsLikeMaxTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _feels_like_max_temperature.

  // Union field _feels_like_min_temperature can be only one of the following:
  "feelsLikeMinTemperature": {
    object (Temperature)
  }
  // End of list of possible types for union field _feels_like_min_temperature.

  // Union field _max_heat_index can be only one of the following:
  "maxHeatIndex": {
    object (Temperature)
  }
  // End of list of possible types for union field _max_heat_index.

  // Union field _sun_events can be only one of the following:
  "sunEvents": {
    object (SunEvents)
  }
  // End of list of possible types for union field _sun_events.

  // Union field _moon_events can be only one of the following:
  "moonEvents": {
    object (MoonEvents)
  }
  // End of list of possible types for union field _moon_events.

  // Union field _relative_humidity can be only one of the following:
  "relativeHumidity": integer
  // End of list of possible types for union field _relative_humidity.

  // Union field _uv_index can be only one of the following:
  "uvIndex": integer
  // End of list of possible types for union field _uv_index.

  // Union field _thunderstorm_probability can be only one of the following:
  "thunderstormProbability": integer
  // End of list of possible types for union field _thunderstorm_probability.

  // Union field _cloud_cover can be only one of the following:
  "cloudCover": integer
  // End of list of possible types for union field _cloud_cover.
}
Campos
weatherCondition

object (WeatherCondition)

A condição climática

precipitation

object (Precipitation)

A probabilidade e a quantidade de chuva acumulada

wind

object (Wind)

As condições de vento

DEPRECATEDGeocodedAddress
(deprecated)

string

OBSOLETO: use returned_location.

returnedLocation

object (Location)

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.

_temperature pode ser apenas de um dos tipos a seguir:

temperature

object (Temperature)

A temperatura por hora

Campo de união _feels_like_temperature.

_feels_like_temperature pode ser apenas de um dos tipos a seguir:

feelsLikeTemperature

object (Temperature)

A medida horária da sensação térmica.

Campo de união _heat_index.

_heat_index pode ser apenas de um dos tipos a seguir:

heatIndex

object (Temperature)

A temperatura do índice de calor por hora.

Campo de união _air_pressure.

_air_pressure pode ser apenas de um dos tipos a seguir:

airPressure

object (AirPressure)

As condições de pressão do ar por hora.

Campo de união _max_temperature.

_max_temperature pode ser apenas de um dos tipos a seguir:

maxTemperature

object (Temperature)

A temperatura máxima (alta) ao longo do dia.

Campo de união _min_temperature.

_min_temperature pode ser apenas de um dos tipos a seguir:

minTemperature

object (Temperature)

A temperatura mínima (baixa) ao longo do dia.

Campo de união _feels_like_max_temperature.

_feels_like_max_temperature pode ser apenas de um dos tipos a seguir:

feelsLikeMaxTemperature

object (Temperature)

A sensação térmica máxima (alta) ao longo do dia.

Campo de união _feels_like_min_temperature.

_feels_like_min_temperature pode ser apenas de um dos tipos a seguir:

feelsLikeMinTemperature

object (Temperature)

A sensação térmica mínima (baixa) ao longo do dia.

Campo de união _max_heat_index.

_max_heat_index pode ser apenas de um dos tipos a seguir:

maxHeatIndex

object (Temperature)

A temperatura máxima do índice de calor ao longo do dia.

Campo de união _sun_events.

_sun_events pode ser apenas de um dos tipos a seguir:

sunEvents

object (SunEvents)

Os eventos relacionados ao sol (por exemplo, nascer e pôr do sol).

Campo de união _moon_events.

_moon_events pode ser apenas de um dos tipos a seguir:

moonEvents

object (MoonEvents)

Os eventos relacionados à lua (por exemplo, nascer e pôr da lua).

Campo de união _relative_humidity.

_relative_humidity pode ser apenas de um dos tipos a seguir:

relativeHumidity

integer

A porcentagem de umidade relativa (valores de 0 a 100). Defina como opcional porque nem sempre está disponível.

Campo de união _uv_index.

_uv_index pode ser apenas de um dos tipos a seguir:

uvIndex

integer

O índice máximo de raios ultravioleta (UV). Defina como opcional porque nem sempre está disponível.

Campo de união _thunderstorm_probability.

_thunderstorm_probability pode ser apenas de um dos tipos a seguir:

thunderstormProbability

integer

A probabilidade de tempestade (valores de 0 a 100). Defina como opcional porque nem sempre está disponível.

Campo de união _cloud_cover.

_cloud_cover pode ser apenas de um dos tipos a seguir:

cloudCover

integer

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 (TemperatureUnit),

  // Union field _degrees can be only one of the following:
  "degrees": number
  // End of list of possible types for union field _degrees.
}
Campos
unit

enum (TemperatureUnit)

O código da unidade usada para medir o valor da temperatura.

Campo de união _degrees.

_degrees pode ser apenas de um dos tipos a seguir:

degrees

number

O valor da temperatura (em graus) na unidade especificada.

AirPressure

Representação JSON
{

  // Union field _mean_sea_level_millibars can be only one of the following:
  "meanSeaLevelMillibars": number
  // End of list of possible types for union field _mean_sea_level_millibars.
}
Campos

Campo de união _mean_sea_level_millibars.

_mean_sea_level_millibars pode ser apenas de um dos tipos a seguir:

meanSeaLevelMillibars

number

A pressão atmosférica média ao nível do mar em milibares.

SunEvents

Representação JSON
{
  "sunriseTime": string,
  "sunsetTime": string
}
Campos
sunriseTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

sunsetTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Carimbo de data/hora

Representação JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

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

integer

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 (MoonPhase)
}
Campos
moonriseTimes[]

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

moonsetTimes[]

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

moonPhase

enum (MoonPhase)

A fase da lua (também conhecida como fase lunar).

WeatherCondition

Representação JSON
{
  "iconBaseUri": string,
  "description": {
    object (google.type.LocalizedText)
  },
  "type": enum (Type)
}
Campos
iconBaseUri

string

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 (.png ou .svg) a esse URI. Por padrão, o ícone tem um tema claro, mas _dark pode ser anexado para o modo escuro. Por exemplo: "https://maps.gstatic.com/weather/v1/dust.svg" ou "https://maps.gstatic.com/weather/v1/dust_dark.svg", em que icon_base_uri é "https://maps.gstatic.com/weather/v1/dust".

description

object (google.type.LocalizedText)

A descrição textual dessa condição climática (localizada).

type

enum (Type)

O tipo de condição climática.

LocalizedText

Representação JSON
{
  "text": string,
  "languageCode": string
}
Campos
text

string

String localizada no idioma correspondente a google.type.LocalizedText.language_code abaixo.

languageCode

string

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 (PrecipitationProbability)
  },
  "snowQpf": {
    object (QuantitativePrecipitationForecast)
  },
  "qpf": {
    object (QuantitativePrecipitationForecast)
  }
}
Campos
probability

object (PrecipitationProbability)

A probabilidade de precipitação (valores de 0 a 100).

snowQpf

object (QuantitativePrecipitationForecast)

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

object (QuantitativePrecipitationForecast)

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 (PrecipitationType),

  // Union field _percent can be only one of the following:
  "percent": integer
  // End of list of possible types for union field _percent.
}
Campos
type

enum (PrecipitationType)

Um código que indica o tipo de precipitação.

Campo de união _percent.

_percent pode ser apenas de um dos tipos a seguir:

percent

integer

Uma porcentagem de 0 a 100 que indica as chances de precipitação.

QuantitativePrecipitationForecast

Representação JSON
{
  "unit": enum (Unit),

  // Union field _quantity can be only one of the following:
  "quantity": number
  // End of list of possible types for union field _quantity.
}
Campos
unit

enum (Unit)

O código da unidade usada para medir a quantidade de precipitação acumulada.

Campo de união _quantity.

_quantity pode ser apenas de um dos tipos a seguir:

quantity

number

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 (WindDirection)
  },
  "speed": {
    object (WindSpeed)
  },
  "gust": {
    object (WindSpeed)
  }
}
Campos
direction

object (WindDirection)

A direção do vento, o ângulo de onde ele vem.

speed

object (WindSpeed)

A velocidade do vento.

gust

object (WindSpeed)

A rajada de vento (aumento repentino na velocidade do vento).

WindDirection

Representação JSON
{
  "cardinal": enum (CardinalDirection),

  // Union field _degrees can be only one of the following:
  "degrees": integer
  // End of list of possible types for union field _degrees.
}
Campos
cardinal

enum (CardinalDirection)

O código que representa a direção cardeal de onde o vento está soprando.

Campo de união _degrees.

_degrees pode ser apenas de um dos tipos a seguir:

degrees

integer

A direção do vento em graus (valores de 0 a 360).

WindSpeed

Representação JSON
{
  "unit": enum (SpeedUnit),

  // Union field _value can be only one of the following:
  "value": number
  // End of list of possible types for union field _value.
}
Campos
unit

enum (SpeedUnit)

O código que representa a unidade usada para medir a velocidade do vento.

Campo de união _value.

_value pode ser apenas de um dos tipos a seguir:

value

number

O valor da velocidade do vento.

Local

Representação JSON
{

  // Union field location_type can be only one of the following:
  "latLng": {
    object (google.type.LatLng)
  },
  "placeId": string,
  "address": string
  // End of list of possible types for union field location_type.
}
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

object (google.type.LatLng)

Um ponto especificado usando coordenadas geográficas.

placeId

string

O ID do lugar associado ao local .

address

string

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

number

A latitude em graus. Precisa estar no intervalo [-90,0, +90,0].

longitude

number

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: ❌