Skip to main content
Glama

lookup_weather

Read-only

Retrieves comprehensive weather data including current conditions, hourly, and daily forecasts.

Specific Data Available: Temperature (Current, Feels Like, Max/Min, Heat Index), Wind (Speed, Gusts, Direction), Celestial Events (Sunrise/Sunset, Moon Phase), Precipitation (Type, Probability, Quantity/QPF), Atmospheric Conditions (UV Index, Humidity, Cloud Cover, Thunderstorm Probability), and Geocoded Location Address.

Location & Location Rules (CRITICAL):

The location for which weather data is requested is specified using the location field. This field is a 'oneof' structure, meaning you MUST provide a value for ONLY ONE of the three location sub-fields below to ensure an accurate weather data lookup.

  1. Geographic Coordinates (lat_lng)

    • Use it when you are provided with exact lat/lng coordinates.

    • Example: {"location": {"lat_lng": {"latitude": 34.0522, "longitude": -118.2437}}} // Los Angeles

  2. Place ID (place_id)

    • An unambiguous string identifier (Google Maps Place ID).

    • The place_id can be fetched from the search_places tool.

    • Example: {"location": {"place_id": "ChIJLU7jZClu5kcR4PcOOO6p3I0"}} // Eiffel Tower

  3. Address String (address)

    • A free-form string that requires specificity for geocoding.

    • City & Region: Always include region/country (e.g., "London, UK", not "London").

    • Street Address: Provide the full address (e.g., "1600 Pennsylvania Ave NW, Washington, DC").

    • Postal/Zip Codes: MUST be accompanied by a country name (e.g., "90210, USA", NOT "90210").

    • Example: {"location": {"address": "1600 Pennsylvania Ave NW, Washington, DC"}}

Usage Modes:

  • Current Weather: Provide location only. Do not specify date and hour.

  • Hourly Forecast: Provide location, date, and hour (0-23). Use for specific times (e.g., "at 5 PM") or terms like "next few hours" or "later today". If the user specifies minute, round down to the nearest hour. Hourly forecast beyond 120 hours from now is not supported. Historical hourly weather is supported up to 24 hours in the past.

  • Daily Forecast: Provide location and date. Do not specify hour. Use for general day requests (e.g., "weather for tomorrow", "weather on Friday", "weather on 12/25"). If today's date is not in the context, you should clarify it with the user. Daily forecast beyond 10 days including today is not supported. Historical weather is not supported.

Parameter Constraints:

  • Timezones: All date and hour inputs must be relative to the location's local time zone, not the user's time zone.

  • Date Format: Inputs must be separated into {year, month, day} integers.

  • Units: Defaults to METRIC. Set units_system to IMPERIAL for Fahrenheit/Miles if the user implies US standards or explicitly requests it.

  • The grounded output must be attributed to the source using the information from the attribution field when available.

Input Schema

NameRequiredDescriptionDefault
dateNoOptional. The date of the required weather information. Note: This date is relative to the local timezone of the location specified in the location field. The date must be between 24 hours in the past and the next 10 days.
hourNoOptional. The hour of the requested weather information, in 24-hour format (0-23). This value is relative to the local timezone of the location specified in the location field. Hourly forecast beyond 120 hours from now is not supported. Historical hourly weather is supported up to 24 hours in the past.
locationYesRequired. The location to get the weather conditions for.
unitsSystemNoOptional. The units system to use for the returned weather conditions. If not provided, the returned weather conditions will be in the metric system (default = METRIC).
capabilitiesNoOptional. The environmental capabilities to include in the response.
languageCodeNoOptional. The BCP-47 language code for localized text in the response (e.g. "en", "ja", "fr-CA"). Defaults to "en" if not specified.
weatherOptionsNoOptional. Options specific to weather requests. `weather_options.units_system` is supported in tandem with top-level `units_system` (tag 4) to preserve backwards compatibility for existing callers; returns INVALID_ARGUMENT if both specify conflicting unit systems. Ignored if `WEATHER` is not requested in `capabilities`.
airQualityOptionsNoOptional. Options specific to air quality requests. Ignored if `AIR_QUALITY` is not requested in `capabilities`.

Output Schema

NameRequiredDescriptionDefault
windNoThe wind conditions
pollenNoPollen information at the requested location.
uvIndexNoThe maximum ultraviolet (UV) index. define optional because it is not always available
weatherNoWeather conditions at the requested location.
timeZoneNoResolved IANA timezone string for the location (e.g., "America/New_York", "Asia/Tokyo").
heatIndexNoThe hourly heat index temperature.
sunEventsNoThe events related to the sun (e.g. sunrise, sunset).
airQualityNoAir quality information at the requested location.
cloudCoverNoThe percentage of the sky covered by clouds (values from 0 to 100). define optional because it is not always available
moonEventsNoThe events related to the moon (e.g. moonrise, moonset).
airPressureNoThe hourly air pressure conditions.
attributionNoRequired attribution to show with the weather.
temperatureNoThe hourly temperature
maxHeatIndexNoThe maximum heat index temperature throughout the day.
precipitationNoThe precipitation probability and amount of precipitation accumulated
maxTemperatureNoThe maximum (high) temperature throughout the day.
minTemperatureNoThe minimum (low) temperature throughout the day.
relativeHumidityNoThe percent of relative humidity (values from 0 to 100). define optional because it is not always available
returnedLocationNoRequired. The location where the weather information is returned. This location is identical to the location in the request, but can be different from it if the requested location is a free text address that looks up to a coarse location (e.g. "Mountain View, CA").
weatherConditionNoThe weather condition
feelsLikeTemperatureNoThe hourly measure of how the temperature feels like.
feelsLikeMaxTemperatureNoThe maximum (high) feels-like temperature throughout the day.
feelsLikeMinTemperatureNoThe minimum (low) feels-like temperature throughout the day.
thunderstormProbabilityNoThe thunderstorm probability (values from 0 to 100). define optional because it is not always available

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / $defs / WeatherCondition / properties / type / enum
      Previous value: -[
      -  "TYPE_UNSPECIFIED",
      -  "CLEAR",
      -  "MOSTLY_CLEAR",
      -  "PARTLY_CLOUDY",
      -  "MOSTLY_CLOUDY",
      -  "CLOUDY",
      -  "WINDY",
      -  "WIND_AND_RAIN",
      -  "LIGHT_RAIN_SHOWERS",
      -  "CHANCE_OF_SHOWERS",
      -  "SCATTERED_SHOWERS",
      -  "RAIN_SHOWERS",
      -  "HEAVY_RAIN_SHOWERS",
      -  "LIGHT_TO_MODERATE_RAIN",
      -  "MODERATE_TO_HEAVY_RAIN",
      -  "RAIN",
      -  "LIGHT_RAIN",
      -  "HEAVY_RAIN",
      -  "RAIN_PERIODICALLY_HEAVY",
      -  "LIGHT_SNOW_SHOWERS",
      -  "CHANCE_OF_SNOW_SHOWERS",
      -  "SCATTERED_SNOW_SHOWERS",
      -  "SNOW_SHOWERS",
      -  "HEAVY_SNOW_SHOWERS",
      -  "LIGHT_TO_MODERATE_SNOW",
      -  "MODERATE_TO_HEAVY_SNOW",
      -  "SNOW",
      -  "LIGHT_SNOW",
      -  "HEAVY_SNOW",
      -  "SNOWSTORM",
      -  "SNOW_PERIODICALLY_HEAVY",
      -  "HEAVY_SNOW_STORM",
      -  "BLOWING_SNOW",
      -  "RAIN_AND_SNOW",
      -  "HAIL",
      -  "HAIL_SHOWERS",
      -  "THUNDERSTORM",
      -  "THUNDERSHOWER",
      -  "LIGHT_THUNDERSTORM_RAIN",
      -  "SCATTERED_THUNDERSTORMS",
      -  "HEAVY_THUNDERSTORM"
      -]New value: +[
      +  "TYPE_UNSPECIFIED",
      +  "CLEAR",
      +  "MOSTLY_CLEAR",
      +  "PARTLY_CLOUDY",
      +  "MOSTLY_CLOUDY",
      +  "CLOUDY",
      +  "WINDY",
      +  "WIND_AND_RAIN",
      +  "LIGHT_RAIN_SHOWERS",
      +  "CHANCE_OF_SHOWERS",
      +  "SCATTERED_SHOWERS",
      +  "RAIN_SHOWERS",
      +  "HEAVY_RAIN_SHOWERS",
      +  "LIGHT_TO_MODERATE_RAIN",
      +  "MODERATE_TO_HEAVY_RAIN",
      +  "RAIN",
      +  "LIGHT_RAIN",
      +  "HEAVY_RAIN",
      +  "RAIN_PERIODICALLY_HEAVY",
      +  "LIGHT_SNOW_SHOWERS",
      +  "CHANCE_OF_SNOW_SHOWERS",
      +  "SCATTERED_SNOW_SHOWERS",
      +  "SNOW_SHOWERS",
      +  "HEAVY_SNOW_SHOWERS",
      +  "LIGHT_TO_MODERATE_SNOW",
      +  "MODERATE_TO_HEAVY_SNOW",
      +  "SNOW",
      +  "LIGHT_SNOW",
      +  "HEAVY_SNOW",
      +  "SNOWSTORM",
      +  "SNOW_PERIODICALLY_HEAVY",
      +  "HEAVY_SNOW_STORM",
      +  "BLOWING_SNOW",
      +  "RAIN_AND_SNOW",
      +  "HAIL",
      +  "HAIL_SHOWERS",
      +  "THUNDERSTORM",
      +  "THUNDERSHOWER",
      +  "LIGHT_THUNDERSTORM_RAIN",
      +  "SCATTERED_THUNDERSTORMS",
      +  "HEAVY_THUNDERSTORM",
      +  "CLEAR_AFTER_FOG_IN_THE_MORNING",
      +  "CLEAR_BUT_LATER_TURNING_CLOUDY",
      +  "CLEAR_BUT_LATER_TURNING_TO_RAIN_AND_SNOW_MAIN_CONSTITUENT_RAIN",
      +  "CLEAR_BUT_LATER_TURNING_TO_SNOW_AND_RAIN_MAIN_CONSTITUENT_SNOW",
      +  "CLEAR_BUT_THUNDERSTORMS_LATER",
      +  "CLEAR_IN_THE_MORNING_BUT_CLOUDY_IN_THE_EVENING",
      +  "CLEAR_IN_THE_MORNING_WITH_BRIEF_RAIN_IN_THE_EVENING",
      +  "CLEAR_MORNING_WITH_BRIEF_RAIN",
      +  "CLEAR_WITH_BRIEF_RAIN",
      +  "CLEAR_WITH_BRIEF_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT",
      +  "CLEAR_WITH_BRIEF_RAIN_LATER",
      +  "CLEAR_WITH_BRIEF_SNOW",
      +  "CLEAR_WITH_BRIEF_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT",
      +  "CLEAR_WITH_BRIEF_SNOW_LATER",
      +  "CLEAR_WITH_PERIODIC_CLOUDS_LATER",
      +  "CLEAR_WITH_PERIODIC_RAIN",
      +  "CLEAR_WITH_PERIODIC_RAIN_ACCOMPANIED_BY_THUNDER",
      +  "CLEAR_WITH_PERIODIC_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT",
      +  "CLEAR_WITH_PERIODIC_RAIN_LATER",
      +  "CLEAR_WITH_PERIODIC_SNOW",
      +  "CLEAR_WITH_PERIODIC_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT",
      +  "CLEAR_WITH_PERIODIC_SNOW_LATER",
      +  "CLEAR_WITH_RAIN_AFTER_MIDNIGHT",
      +  "CLEAR_WITH_RAIN_IN_THE_NIGHT",
      +  "CLEAR_WITH_RAIN_LATER",
      +  "CLEAR_WITH_SNOW_ALONG_THE_MOUNTAINS",
      +  "CLEAR_WITH_SNOW_LATER",
      +  "CLEAR_WITH_THUNDERSTORMS_ALONG_THE_MOUNTAINS",
      +  "CLEAR_WITH_THUNDERSTORMS_IN_THE_AFTERNOON",
      +  "CLOUDY_BUT_CLEAR_LATER",
      +  "CLOUDY_BUT_LATER_TURNING_TO_RAIN_AND_SNOW_MAIN_CONSTITUENT_RAIN",
      +  "CLOUDY_BUT_LATER_TURNING_TO_SNOW_AND_RAIN_MAIN_CONSTITUENT_SNOW",
      +  "CLOUDY_BUT_PERIODICALLY_CLEAR_LATER",
      +  "CLOUDY_BUT_THUNDERSTORMS_LATER",
      +  "CLOUDY_MORNING_WITH_BRIEF_RAIN",
      +  "CLOUDY_PERIODICALLY_CLEAR",
      +  "CLOUDY_SNOWING_IN_THE_EVENING",
      +  "CLOUDY_SNOWING_IN_THE_NIGHT",
      +  "CLOUDY_WITH_BRIEF_RAIN",
      +  "CLOUDY_WITH_BRIEF_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT",
      +  "CLOUDY_WITH_BRIEF_RAIN_LATER",
      +  "CLOUDY_WITH_BRIEF_SNOW",
      +  "CLOUDY_WITH_BRIEF_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT",
      +  "CLOUDY_WITH_BRIEF_SNOW_LATER",
      +  "CLOUDY_WITH_BRIEF_THUNDERSTORM",
      +  "CLOUDY_WITH_FOG_ON_THE_OCEAN_AND_AT_THE_SEASHORE",
      +  "CLOUDY_WITH_PERIODIC_RAIN",
      +  "CLOUDY_WITH_PERIODIC_RAIN_ACCOMPANIED_BY_THUNDER",
      +  "CLOUDY_WITH_PERIODIC_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT",
      +  "CLOUDY_WITH_PERIODIC_RAIN_LATER",
      +  "CLOUDY_WITH_PERIODIC_SNOW",
      +  "CLOUDY_WITH_PERIODIC_SNOW_ACCOMPANIED_BY_THUNDER",
      +  "CLOUDY_WITH_PERIODIC_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT",
      +  "CLOUDY_WITH_PERIODIC_SNOW_LATER",
      +  "CLOUDY_WITH_RAIN_AFTER_MIDNIGHT",
      +  "CLOUDY_WITH_RAIN_FROM_ABOUT_NOON",
      +  "CLOUDY_WITH_RAIN_FROM_EVENING",
      +  "CLOUDY_WITH_RAIN_LATER",
      +  "CLOUDY_WITH_SNOW_FROM_AROUND_NOON",
      +  "CLOUDY_WITH_SNOW_LATER",
      +  "FOG",
      +  "RAINSNOW_MIX_LATER_BECOMING_CLEAR_RAIN_AS_MAIN",
      +  "RAINSNOW_MIX_RAIN_AS_MAIN",
      +  "RAINY_BUT_PERIODICALLY_CLEAR",
      +  "RAIN_ACCOMPANIED_BY_LIGHTNING",
      +  "RAIN_ACCOMPANIED_BY_WINDSTORM",
      +  "RAIN_CLEAR_AT_NIGHT",
      +  "RAIN_CLEAR_FROM_AROUND_EVENING",
      +  "RAIN_CLEAR_FROM_AROUND_NOON",
      +  "RAIN_LATER_BECOMING_CLEAR",
      +  "RAIN_LATER_BECOMING_CLOUDY",
      +  "RAIN_LATER_BECOMING_SNOW",
      +  "RAIN_LATER_WITH_PERIODIC_SNOW",
      +  "RAIN_SNOW_AT_NIGHT",
      +  "RAIN_SNOW_IN_THE_EVENING",
      +  "RAIN_TEMPORARILY_BECOMING_SLEET",
      +  "RAIN_THAT_PERIODICALLY_STOPS",
      +  "RAIN_WITH_BRIEF_SNOW",
      +  "RAIN_WITH_PERIODIC_SNOW",
      +  "SNOWRAIN_MIX_LATER_BECOMING_CLEAR_SNOW_AS_MAIN",
      +  "SNOWRAIN_MIX_LATER_BECOMING_CLOUDY_SNOW_AS_MAIN",
      +  "SNOWRAIN_MIX_SNOW_AS_MAIN",
      +  "SNOW_ACCOMPANIED_BY_LIGHTNING",
      +  "SNOW_BECOMING_SLEET",
      +  "SNOW_LATER_CLEAR",
      +  "SNOW_LATER_CLOUDY",
      +  "SNOW_LATER_RAIN",
      +  "SNOW_PERIODICALLY_CLEAR",
      +  "SNOW_THAT_PERIODICALLY_STOPS",
      +  "SNOW_TURNING_TO_RAIN_AROUND_NOON",
      +  "SNOW_TURNING_TO_RAIN_IN_THE_EVENING",
      +  "SNOW_TURNING_TO_RAIN_IN_THE_NIGHT",
      +  "SNOW_WITH_BRIEF_RAIN",
      +  "SNOW_WITH_BRIEF_SLEET",
      +  "SNOW_WITH_PERIODIC_RAIN",
      +  "VERY_HOT",
      +  "SLEET",
      +  "HEAVY_RAIN_TO_RAINSTORM"
      +]
    • changedOutput schema / $defs / WeatherCondition / properties / type / x-google-enum-descriptions
      Previous value: -[
      -  "The weather condition is unspecified.",
      -  "No clouds.",
      -  "Periodic clouds.",
      -  "Party cloudy (some clouds).",
      -  "Mostly cloudy (more clouds than sun).",
      -  "Cloudy (all clouds, no sun).",
      -  "High wind.",
      -  "High wind with precipitation.",
      -  "Light intermittent rain.",
      -  "Chance of intermittent rain.",
      -  "Intermittent rain.",
      -  "Showers are considered to be rainfall that has a shorter duration than rain, and is characterized by suddenness in terms of start and stop times, and rapid changes in intensity.",
      -  "Intense showers.",
      -  "Rain (light to moderate in quantity).",
      -  "Rain (moderate to heavy in quantity).",
      -  "Moderate rain.",
      -  "Light rain.",
      -  "Heavy rain.",
      -  "Rain periodically heavy.",
      -  "Light snow that is falling at varying intensities for brief periods of time.",
      -  "Chance of snow showers.",
      -  "Snow that is falling at varying intensities for brief periods of time.",
      -  "Snow showers.",
      -  "Heavy snow showers.",
      -  "Light to moderate snow.",
      -  "Moderate to heavy snow.",
      -  "Moderate snow.",
      -  "Light snow.",
      -  "Heavy snow.",
      -  "Snow with possible thunder and lightning.",
      -  "Snow, at times heavy.",
      -  "Heavy snow with possible thunder and lightning.",
      -  "Snow with intense wind.",
      -  "Rain and snow mix.",
      -  "Hail.",
      -  "Hail that is falling at varying intensities for brief periods of time.",
      -  "Thunderstorm.",
      -  "A shower of rain accompanied by thunder and lightning.",
      -  "Light thunderstorm rain.",
      -  "Thunderstorms that has rain in various intensities for brief periods of time.",
      -  "Heavy thunderstorm."
      -]New value: +[
      +  "The weather condition is unspecified.",
      +  "No clouds.",
      +  "Periodic clouds.",
      +  "Party cloudy (some clouds).",
      +  "Mostly cloudy (more clouds than sun).",
      +  "Cloudy (all clouds, no sun).",
      +  "High wind.",
      +  "High wind with precipitation.",
      +  "Light intermittent rain.",
      +  "Chance of intermittent rain.",
      +  "Intermittent rain.",
      +  "Showers are considered to be rainfall that has a shorter duration than rain, and is characterized by suddenness in terms of start and stop times, and rapid changes in intensity.",
      +  "Intense showers.",
      +  "Rain (light to moderate in quantity).",
      +  "Rain (moderate to heavy in quantity).",
      +  "Moderate rain.",
      +  "Light rain.",
      +  "Heavy rain.",
      +  "Rain periodically heavy.",
      +  "Light snow that is falling at varying intensities for brief periods of time.",
      +  "Chance of snow showers.",
      +  "Snow that is falling at varying intensities for brief periods of time.",
      +  "Snow showers.",
      +  "Heavy snow showers.",
      +  "Light to moderate snow.",
      +  "Moderate to heavy snow.",
      +  "Moderate snow.",
      +  "Light snow.",
      +  "Heavy snow.",
      +  "Snow with possible thunder and lightning.",
      +  "Snow, at times heavy.",
      +  "Heavy snow with possible thunder and lightning.",
      +  "Snow with intense wind.",
      +  "Rain and snow mix.",
      +  "Hail.",
      +  "Hail that is falling at varying intensities for brief periods of time.",
      +  "Thunderstorm.",
      +  "A shower of rain accompanied by thunder and lightning.",
      +  "Light thunderstorm rain.",
      +  "Thunderstorms that has rain in various intensities for brief periods of time.",
      +  "Heavy thunderstorm.",
      +  "Clear after fog in the morning.",
      +  "Clear but later turning cloudy.",
      +  "Clear but later turning to rain and snow, with rain as the main constituent.",
      +  "Clear but later turning to snow and rain, with snow as the main constituent.",
      +  "Clear but thunderstorms later.",
      +  "Clear in the morning but cloudy in the evening.",
      +  "Clear in the morning with brief rain in the evening.",
      +  "Clear morning with brief rain.",
      +  "Clear with brief rain.",
      +  "Clear with brief rain and snow, with rain as the main constituent.",
      +  "Clear with brief rain later.",
      +  "Clear with brief snow.",
      +  "Clear with brief snow and rain, with snow as the main constituent.",
      +  "Clear with brief snow later.",
      +  "Clear with periodic clouds later.",
      +  "Clear with periodic rain.",
      +  "Clear with periodic rain accompanied by thunder.",
      +  "Clear with periodic rain and snow, with rain as the main constituent.",
      +  "Clear with periodic rain later.",
      +  "Clear with periodic snow.",
      +  "Clear with periodic snow and rain, with snow as the main constituent.",
      +  "Clear with periodic snow later.",
      +  "Clear with rain after midnight.",
      +  "Clear with rain in the night.",
      +  "Clear with rain later.",
      +  "Clear with snow along the mountains.",
      +  "Clear with snow later.",
      +  "Clear with thunderstorms along the mountains.",
      +  "Clear with thunderstorms in the afternoon.",
      +  "Cloudy but clear later.",
      +  "Cloudy but later turning to rain and snow, with rain as the main constituent.",
      +  "Cloudy but later turning to snow and rain, with snow as the main constituent.",
      +  "Cloudy but periodically clear later.",
      +  "Cloudy but thunderstorms later.",
      +  "Cloudy morning with brief rain.",
      +  "Cloudy, periodically clear.",
      +  "Cloudy, with snow in the evening.",
      +  "Cloudy, with snow at night.",
      +  "Cloudy with brief rain.",
      +  "Cloudy with brief rain and snow, with rain as the main constituent.",
      +  "Cloudy with brief rain later.",
      +  "Cloudy with brief snow.",
      +  "Cloudy with brief snow and rain, with snow as the main constituent.",
      +  "Cloudy with brief snow later.",
      +  "Cloudy with brief thunderstorm.",
      +  "Cloudy with fog on the ocean and at the seashore.",
      +  "Cloudy with periodic rain.",
      +  "Cloudy with periodic rain accompanied by thunder.",
      +  "Cloudy with periodic rain and snow, with rain as the main constituent.",
      +  "Cloudy with periodic rain later.",
      +  "Cloudy with periodic snow.",
      +  "Cloudy with periodic snow accompanied by thunder.",
      +  "Cloudy with periodic snow and rain, with snow as the main constituent.",
      +  "Cloudy with periodic snow later.",
      +  "Cloudy with rain after midnight.",
      +  "Cloudy with rain from about noon.",
      +  "Cloudy with rain from evening.",
      +  "Cloudy with rain later.",
      +  "Cloudy with snow from around noon.",
      +  "Cloudy with snow later.",
      +  "Fog.",
      +  "Rain-snow mix, later becoming clear, with rain as the main constituent.",
      +  "Rain-snow mix, with rain as the main constituent.",
      +  "Rainy but periodically clear.",
      +  "Rain accompanied by lightning.",
      +  "Rain accompanied by windstorm.",
      +  "Rain, clearing at night.",
      +  "Rain, clearing from around evening.",
      +  "Rain, clearing from around noon.",
      +  "Rain, later becoming clear.",
      +  "Rain, later becoming cloudy.",
      +  "Rain, later becoming snow.",
      +  "Rain, later with periodic snow.",
      +  "Rain and snow at night.",
      +  "Rain and snow in the evening.",
      +  "Rain, temporarily becoming sleet.",
      +  "Rain that periodically stops.",
      +  "Rain with brief snow.",
      +  "Rain with periodic snow.",
      +  "Snow-rain mix, later becoming clear, with snow as the main constituent.",
      +  "Snow-rain mix, later becoming cloudy, with snow as the main constituent.",
      +  "Snow-rain mix, with snow as the main constituent.",
      +  "Snow accompanied by lightning.",
      +  "Snow, becoming sleet.",
      +  "Snow, later clearing.",
      +  "Snow, later becoming cloudy.",
      +  "Snow, later becoming rain.",
      +  "Snow, periodically clearing.",
      +  "Snow that periodically stops.",
      +  "Snow turning to rain around noon.",
      +  "Snow turning to rain in the evening.",
      +  "Snow turning to rain at night.",
      +  "Snow with brief rain.",
      +  "Snow with brief sleet.",
      +  "Snow with periodic rain.",
      +  "Very hot.",
      +  "Sleet.",
      +  "Heavy rain to rainstorm."
      +]
  2. Changed6 schema fields changed
    • changedInput schema / $defs / Location / properties / address / description
      Previous value: -"Human readable address or a plus code. See https://plus.codes for details."New value: +"Human readable address or a plus code. See https://plus.codes for details. Only one of the following fields should be set: this field, latLng, placeId."
    • changedInput schema / $defs / Location / properties / latLng / description
      Previous value: -"A point specified using geographic coordinates."New value: +"A point specified using geographic coordinates. Only one of the following fields should be set: this field, placeId, address."
    • changedInput schema / $defs / Location / properties / placeId / description
      Previous value: -"The Place ID associated with the location ."New value: +"The Place ID associated with the location . Only one of the following fields should be set: this field, latLng, address."
    • changedOutput schema / $defs / Location / properties / address / description
      Previous value: -"Human readable address or a plus code. See https://plus.codes for details."New value: +"Human readable address or a plus code. See https://plus.codes for details. Only one of the following fields should be set: this field, latLng, placeId."
    • changedOutput schema / $defs / Location / properties / latLng / description
      Previous value: -"A point specified using geographic coordinates."New value: +"A point specified using geographic coordinates. Only one of the following fields should be set: this field, placeId, address."
    • changedOutput schema / $defs / Location / properties / placeId / description
      Previous value: -"The Place ID associated with the location ."New value: +"The Place ID associated with the location . Only one of the following fields should be set: this field, latLng, address."
  3. Changed24 schema fields changed
    • addedInput schema / $defs / AirQualityOptions
      Added value: +{
      +  "description": "Options specific to air quality requests.",
      +  "properties": {
      +    "includePollutantConcentration": {
      +      "description": "Optional. If true, includes detailed pollutant concentrations and additional information (sources and effects) in the air quality response.",
      +      "type": "boolean"
      +    },
      +    "indexRegionCode": {
      +      "description": "Optional. Two-letter ISO 3166-1 alpha-2 country/region code (e.g. \"US\", \"FR\", \"CN\") used to select the preferred local Air Quality Index (AQI) scale alongside the Universal AQI (UAQI). If not specified, defaults to the region of the requested location.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / WeatherOptions
      Added value: +{
      +  "description": "Options specific to weather requests.",
      +  "properties": {
      +    "unitsSystem": {
      +      "description": "Optional. The units system to use for the returned weather conditions. If not provided, the returned weather conditions will be in the metric system (default = METRIC).",
      +      "enum": [
      +        "UNITS_SYSTEM_UNSPECIFIED",
      +        "IMPERIAL",
      +        "METRIC"
      +      ],
      +      "type": "string",
      +      "x-google-enum-descriptions": [
      +        "The units system is unspecified.",
      +        "The imperial units system (e.g. Fahrenheit, miles, etc).",
      +        "The metric units system (e.g. Celsius, kilometers, etc)."
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / airQualityOptions
      Added value: +{
      +  "$ref": "#/$defs/AirQualityOptions",
      +  "description": "Optional. Options specific to air quality requests. Ignored if `AIR_QUALITY` is not requested in `capabilities`."
      +}
    • addedInput schema / properties / capabilities
      Added value: +{
      +  "description": "Optional. The environmental capabilities to include in the response.",
      +  "items": {
      +    "enum": [
      +      "CAPABILITY_UNSPECIFIED",
      +      "WEATHER",
      +      "AIR_QUALITY",
      +      "POLLEN"
      +    ],
      +    "type": "string",
      +    "x-google-enum-descriptions": [
      +      "Unspecified capability.",
      +      "Weather conditions (temperature, precipitation, wind, UV, etc.).",
      +      "Air quality information (AQI, pollutants, and health recommendations).",
      +      "Pollen information (tree, grass, weed, and plant species allergen levels)."
      +    ]
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / languageCode
      Added value: +{
      +  "description": "Optional. The BCP-47 language code for localized text in the response (e.g. \"en\", \"ja\", \"fr-CA\"). Defaults to \"en\" if not specified.",
      +  "type": "string"
      +}
    • addedInput schema / properties / weatherOptions
      Added value: +{
      +  "$ref": "#/$defs/WeatherOptions",
      +  "description": "Optional. Options specific to weather requests. `weather_options.units_system` is supported in tandem with top-level `units_system` (tag 4) to preserve backwards compatibility for existing callers; returns INVALID_ARGUMENT if both specify conflicting unit systems. Ignored if `WEATHER` is not requested in `capabilities`."
      +}
    • addedOutput schema / $defs / AdditionalInfo
      Added value: +{
      +  "description": "Sources and health effects of a pollutant.",
      +  "properties": {
      +    "effects": {
      +      "description": "Potential health effects of exposure to the pollutant.",
      +      "type": "string"
      +    },
      +    "sources": {
      +      "description": "Main emission sources of the pollutant.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / AirQualityHourlyResult
      Added value: +{
      +  "description": "Hourly air quality information.",
      +  "properties": {
      +    "dateTime": {
      +      "description": "The timestamp for this hourly air quality entry.",
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "healthRecommendations": {
      +      "$ref": "#/$defs/HealthRecommendations",
      +      "description": "Health recommendations for different population groups."
      +    },
      +    "indexes": {
      +      "description": "Air quality indexes (e.g. Universal AQI and local AQI).",
      +      "items": {
      +        "$ref": "#/$defs/AirQualityIndex"
      +      },
      +      "type": "array"
      +    },
      +    "pollutants": {
      +      "description": "Detailed pollutant information, populated when `air_quality_options.include_pollutant_concentration` is true.",
      +      "items": {
      +        "$ref": "#/$defs/Pollutant"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / AirQualityIndex
      Added value: +{
      +  "description": "Represents an Air Quality Index (AQI) measurement.",
      +  "properties": {
      +    "category": {
      +      "description": "Textual air quality category (e.g. \"Good air quality\", \"Moderate air quality\").",
      +      "type": "string"
      +    },
      +    "displayName": {
      +      "description": "The index's display name (e.g. \"Universal AQI\", \"US EPA AQI\").",
      +      "type": "string"
      +    },
      +    "dominantPollutant": {
      +      "description": "The code of the dominant pollutant (e.g. \"pm25\", \"o3\").",
      +      "type": "string"
      +    },
      +    "value": {
      +      "description": "Numeric AQI value.",
      +      "format": "int32",
      +      "type": "integer"
      +    },
      +    "valueDisplay": {
      +      "description": "Formatted string representation of the AQI value.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / AirQualityResultData
      Added value: +{
      +  "description": "Air quality payload for the requested location.",
      +  "properties": {
      +    "attribution": {
      +      "$ref": "#/$defs/Attribution",
      +      "description": "Required attribution to show with the air quality data."
      +    },
      +    "hourlyResults": {
      +      "description": "Hourly air quality data for the requested time (contains 1 entry for Current Conditions or single-hour queries, up to 24 entries for a past or future date-only query, or current + remaining hours when date is today).",
      +      "items": {
      +        "$ref": "#/$defs/AirQualityHourlyResult"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Concentration
      Added value: +{
      +  "description": "Concentration measurement of a pollutant.",
      +  "properties": {
      +    "unit": {
      +      "description": "Measurement unit of the concentration.",
      +      "enum": [
      +        "UNIT_UNSPECIFIED",
      +        "PARTS_PER_BILLION",
      +        "MICROGRAMS_PER_CUBIC_METER"
      +      ],
      +      "type": "string",
      +      "x-google-enum-descriptions": [
      +        "Unspecified concentration unit.",
      +        "Parts per billion (ppb).",
      +        "Micrograms per cubic meter (µg/m³)."
      +      ]
      +    },
      +    "value": {
      +      "description": "Numeric concentration value.",
      +      "format": "float",
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / DailyPollenForecast
      Added value: +{
      +  "description": "Pollen forecast for a single calendar day.",
      +  "properties": {
      +    "categories": {
      +      "description": "Broad pollen category breakdown (Tree, Grass, Weed).",
      +      "items": {
      +        "$ref": "#/$defs/PollenCategoryInfo"
      +      },
      +      "type": "array"
      +    },
      +    "date": {
      +      "$ref": "#/$defs/Date",
      +      "description": "Civil calendar date of the forecast."
      +    },
      +    "plantSpecies": {
      +      "description": "Granular plant species breakdown.",
      +      "items": {
      +        "$ref": "#/$defs/PlantSpeciesInfo"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Date
      Added value: +{
      +  "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
      +  "properties": {
      +    "day": {
      +      "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
      +      "format": "int32",
      +      "type": "integer"
      +    },
      +    "month": {
      +      "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
      +      "format": "int32",
      +      "type": "integer"
      +    },
      +    "year": {
      +      "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
      +      "format": "int32",
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / HealthRecommendations
      Added value: +{
      +  "description": "Health recommendations tailored to specific population groups.",
      +  "properties": {
      +    "athletes": {
      +      "description": "Guidance for athletes and active outdoor individuals.",
      +      "type": "string"
      +    },
      +    "children": {
      +      "description": "Guidance for children.",
      +      "type": "string"
      +    },
      +    "elderly": {
      +      "description": "Guidance for the elderly population.",
      +      "type": "string"
      +    },
      +    "generalPopulation": {
      +      "description": "Guidance for the general population.",
      +      "type": "string"
      +    },
      +    "heartDiseasePopulation": {
      +      "description": "Guidance for individuals with cardiovascular or heart disease.",
      +      "type": "string"
      +    },
      +    "lungDiseasePopulation": {
      +      "description": "Guidance for individuals with lung disease or respiratory conditions.",
      +      "type": "string"
      +    },
      +    "pregnantWomen": {
      +      "description": "Guidance for pregnant women.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / PlantSpeciesInfo
      Added value: +{
      +  "description": "Information for a specific allergenic plant species.",
      +  "properties": {
      +    "code": {
      +      "description": "Machine-readable species code (e.g. \"BIRCH\", \"JAPANESE_CEDAR\", \"RAGWEED\").",
      +      "type": "string"
      +    },
      +    "crossReactions": {
      +      "description": "Known cross-reactive allergens (e.g. \"Alder, Hazel, Beech, and Oak pollen\").",
      +      "type": "string"
      +    },
      +    "displayName": {
      +      "description": "Localized display name of the plant species (e.g. \"Birch\").",
      +      "type": "string"
      +    },
      +    "family": {
      +      "description": "Botanical family name (e.g. \"Betulaceae (the Birch family)\").",
      +      "type": "string"
      +    },
      +    "inSeason": {
      +      "description": "Whether this plant species is currently in season.",
      +      "type": "boolean"
      +    },
      +    "index": {
      +      "$ref": "#/$defs/PollenIndex",
      +      "description": "Universal Pollen Index (UPI) measurement for this species."
      +    },
      +    "season": {
      +      "description": "Typical blooming season description (e.g. \"Late winter, spring\").",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / PollenCategoryInfo
      Added value: +{
      +  "description": "Information for a broad pollen category (e.g. Tree, Grass, Weed).",
      +  "properties": {
      +    "displayName": {
      +      "description": "Display name of the category (e.g. \"Tree\", \"Grass\", \"Weed\").",
      +      "type": "string"
      +    },
      +    "healthRecommendations": {
      +      "description": "Actionable health advice for pollen-sensitive groups.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "inSeason": {
      +      "description": "Whether this pollen category is actively blooming in the region.",
      +      "type": "boolean"
      +    },
      +    "index": {
      +      "$ref": "#/$defs/PollenIndex",
      +      "description": "Universal Pollen Index (UPI) measurement for this category."
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / PollenIndex
      Added value: +{
      +  "description": "Standardized Universal Pollen Index (UPI) measurement.",
      +  "properties": {
      +    "category": {
      +      "description": "Localized category classification (e.g. \"None\", \"Very Low\", \"Low\", \"Moderate\", \"High\", \"Very High\").",
      +      "type": "string"
      +    },
      +    "description": {
      +      "description": "Description of the pollen risk level.",
      +      "type": "string"
      +    },
      +    "value": {
      +      "description": "Numeric UPI value (0 to 5 scale).",
      +      "format": "int32",
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / PollenResultData
      Added value: +{
      +  "description": "Pollen payload for the requested location.",
      +  "properties": {
      +    "attribution": {
      +      "$ref": "#/$defs/Attribution",
      +      "description": "Required attribution to show with the pollen data."
      +    },
      +    "dailyForecast": {
      +      "$ref": "#/$defs/DailyPollenForecast",
      +      "description": "Daily pollen forecast for the requested date."
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Pollutant
      Added value: +{
      +  "description": "Represents a specific air pollutant and its concentration.",
      +  "properties": {
      +    "additionalInfo": {
      +      "$ref": "#/$defs/AdditionalInfo",
      +      "description": "Additional information about the pollutant's sources and health effects."
      +    },
      +    "concentration": {
      +      "$ref": "#/$defs/Concentration",
      +      "description": "Measured concentration of the pollutant."
      +    },
      +    "displayName": {
      +      "description": "Short display name of the pollutant (e.g. \"PM2.5\", \"O3\").",
      +      "type": "string"
      +    },
      +    "fullName": {
      +      "description": "Full chemical or common name of the pollutant (e.g. \"Fine particulate matter (<2.5µm)\", \"Ozone\").",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / WeatherResultData
      Added value: +{
      +  "description": "Weather conditions payload for the requested location.",
      +  "properties": {
      +    "airPressure": {
      +      "$ref": "#/$defs/AirPressure",
      +      "description": "The hourly air pressure conditions."
      +    },
      +    "attribution": {
      +      "$ref": "#/$defs/Attribution",
      +      "description": "Required attribution to show with the weather."
      +    },
      +    "cloudCover": {
      +      "description": "The percentage of the sky covered by clouds (values from 0 to 100).",
      +      "format": "int32",
      +      "type": "integer"
      +    },
      +    "date": {
      +      "$ref": "#/$defs/Date",
      +      "description": "Civil calendar date of the daily weather forecast."
      +    },
      +    "dateTime": {
      +      "description": "The timestamp for this hourly or current weather entry.",
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "feelsLikeMaxTemperature": {
      +      "$ref": "#/$defs/Temperature",
      +      "description": "The maximum (high) feels-like temperature throughout the day."
      +    },
      +    "feelsLikeMinTemperature": {
      +      "$ref": "#/$defs/Temperature",
      +      "description": "The minimum (low) feels-like temperature throughout the day."
      +    },
      +    "feelsLikeTemperature": {
      +      "$ref": "#/$defs/Temperature",
      +      "description": "The hourly measure of how the temperature feels like."
      +    },
      +    "heatIndex": {
      +      "$ref": "#/$defs/Temperature",
      +      "description": "The hourly heat index temperature."
      +    },
      +    "maxHeatIndex": {
      +      "$ref": "#/$defs/Temperature",
      +      "description": "The maximum heat index temperature throughout the day."
      +    },
      +    "maxTemperature": {
      +      "$ref": "#/$defs/Temperature",
      +      "description": "The maximum (high) temperature throughout the day."
      +    },
      +    "minTemperature": {
      +      "$ref": "#/$defs/Temperature",
      +      "description": "The minimum (low) temperature throughout the day."
      +    },
      +    "moonEvents": {
      +      "$ref": "#/$defs/MoonEvents",
      +      "description": "The events related to the moon (e.g. moonrise, moonset)."
      +    },
      +    "precipitation": {
      +      "$ref": "#/$defs/Precipitation",
      +      "description": "The precipitation probability and amount of precipitation accumulated."
      +    },
      +    "relativeHumidity": {
      +      "description": "The percent of relative humidity (values from 0 to 100).",
      +      "format": "int32",
      +      "type": "integer"
      +    },
      +    "sunEvents": {
      +      "$ref": "#/$defs/SunEvents",
      +      "description": "The events related to the sun (e.g. sunrise, sunset)."
      +    },
      +    "temperature": {
      +      "$ref": "#/$defs/Temperature",
      +      "description": "The hourly temperature."
      +    },
      +    "thunderstormProbability": {
      +      "description": "The thunderstorm probability (values from 0 to 100).",
      +      "format": "int32",
      +      "type": "integer"
      +    },
      +    "uvIndex": {
      +      "description": "The maximum ultraviolet (UV) index.",
      +      "format": "int32",
      +      "type": "integer"
      +    },
      +    "weatherCondition": {
      +      "$ref": "#/$defs/WeatherCondition",
      +      "description": "The weather condition."
      +    },
      +    "wind": {
      +      "$ref": "#/$defs/Wind",
      +      "description": "The wind conditions."
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / airQuality
      Added value: +{
      +  "$ref": "#/$defs/AirQualityResultData",
      +  "description": "Air quality information at the requested location."
      +}
    • addedOutput schema / properties / pollen
      Added value: +{
      +  "$ref": "#/$defs/PollenResultData",
      +  "description": "Pollen information at the requested location."
      +}
    • addedOutput schema / properties / timeZone
      Added value: +{
      +  "description": "Resolved IANA timezone string for the location (e.g., \"America/New_York\", \"Asia/Tokyo\").",
      +  "type": "string"
      +}
    • addedOutput schema / properties / weather
      Added value: +{
      +  "$ref": "#/$defs/WeatherResultData",
      +  "description": "Weather conditions at the requested location."
      +}
  4. Changed10 schema fields changed
    • changedOutput schema / $defs / MoonEvents / properties / moonPhase / description
      Previous value: -"The moon phase (a.k.a. lunar phase)."New value: +"Optional. The moon phase (a.k.a. lunar phase)."
    • changedOutput schema / $defs / MoonEvents / properties / moonPhase / enum
      Previous value: -[
      -  "MOON_PHASE_UNSPECIFIED",
      -  "NEW_MOON",
      -  "WAXING_CRESCENT",
      -  "FIRST_QUARTER",
      -  "WAXING_GIBBOUS",
      -  "FULL_MOON",
      -  "WANING_GIBBOUS",
      -  "LAST_QUARTER",
      -  "WANING_CRESCENT"
      -]New value: +[
      +  "PHASE_UNSPECIFIED",
      +  "NEW_MOON",
      +  "WAXING_CRESCENT",
      +  "FIRST_QUARTER",
      +  "WAXING_GIBBOUS",
      +  "FULL_MOON",
      +  "WANING_GIBBOUS",
      +  "LAST_QUARTER",
      +  "WANING_CRESCENT"
      +]
    • changedOutput schema / $defs / PrecipitationProbability / properties / type / description
      Previous value: -"A code that indicates the type of precipitation."New value: +"Optional. A code that indicates the type of precipitation."
    • changedOutput schema / $defs / PrecipitationProbability / properties / type / enum
      Previous value: -[
      -  "PRECIPITATION_TYPE_UNSPECIFIED",
      -  "NONE",
      -  "SNOW",
      -  "RAIN",
      -  "LIGHT_RAIN",
      -  "HEAVY_RAIN",
      -  "RAIN_AND_SNOW",
      -  "SLEET",
      -  "FREEZING_RAIN",
      -  "PRECIPITATION_TYPE_HAIL"
      -]New value: +[
      +  "TYPE_UNSPECIFIED",
      +  "NONE",
      +  "SNOW",
      +  "RAIN",
      +  "LIGHT_RAIN",
      +  "HEAVY_RAIN",
      +  "RAIN_AND_SNOW",
      +  "SLEET",
      +  "FREEZING_RAIN",
      +  "PRECIPITATION_TYPE_HAIL"
      +]
    • changedOutput schema / $defs / Temperature / properties / unit / description
      Previous value: -"The code for the unit used to measure the temperature value."New value: +"Optional. The code for the unit used to measure the temperature value."
    • changedOutput schema / $defs / Temperature / properties / unit / enum
      Previous value: -[
      -  "TEMPERATURE_UNIT_UNSPECIFIED",
      -  "CELSIUS",
      -  "FAHRENHEIT"
      -]New value: +[
      +  "UNIT_UNSPECIFIED",
      +  "CELSIUS",
      +  "FAHRENHEIT"
      +]
    • changedOutput schema / $defs / WindDirection / properties / cardinal / description
      Previous value: -"The code that represents the cardinal direction from which the wind is blowing."New value: +"Optional. The code that represents the cardinal direction from which the wind is blowing."
    • changedOutput schema / $defs / WindDirection / properties / cardinal / enum
      Previous value: -[
      -  "CARDINAL_DIRECTION_UNSPECIFIED",
      -  "NORTH",
      -  "NORTH_NORTHEAST",
      -  "NORTHEAST",
      -  "EAST_NORTHEAST",
      -  "EAST",
      -  "EAST_SOUTHEAST",
      -  "SOUTHEAST",
      -  "SOUTH_SOUTHEAST",
      -  "SOUTH",
      -  "SOUTH_SOUTHWEST",
      -  "SOUTHWEST",
      -  "WEST_SOUTHWEST",
      -  "WEST",
      -  "WEST_NORTHWEST",
      -  "NORTHWEST",
      -  "NORTH_NORTHWEST"
      -]New value: +[
      +  "CARDINAL_UNSPECIFIED",
      +  "NORTH",
      +  "NORTH_NORTHEAST",
      +  "NORTHEAST",
      +  "EAST_NORTHEAST",
      +  "EAST",
      +  "EAST_SOUTHEAST",
      +  "SOUTHEAST",
      +  "SOUTH_SOUTHEAST",
      +  "SOUTH",
      +  "SOUTH_SOUTHWEST",
      +  "SOUTHWEST",
      +  "WEST_SOUTHWEST",
      +  "WEST",
      +  "WEST_NORTHWEST",
      +  "NORTHWEST",
      +  "NORTH_NORTHWEST"
      +]
    • changedOutput schema / $defs / WindSpeed / properties / unit / description
      Previous value: -"The code that represents the unit used to measure the wind speed."New value: +"Optional. The code that represents the unit used to measure the wind speed."
    • changedOutput schema / $defs / WindSpeed / properties / unit / enum
      Previous value: -[
      -  "SPEED_UNIT_UNSPECIFIED",
      -  "KILOMETERS_PER_HOUR",
      -  "MILES_PER_HOUR"
      -]New value: +[
      +  "UNIT_UNSPECIFIED",
      +  "KILOMETERS_PER_HOUR",
      +  "MILES_PER_HOUR"
      +]
  5. Changed2 schema fields changed
    • changedOutput schema / $defs / PrecipitationProbability / properties / type / enum
      Previous value: -[
      -  "PRECIPITATION_TYPE_UNSPECIFIED",
      -  "NONE",
      -  "SNOW",
      -  "RAIN",
      -  "LIGHT_RAIN",
      -  "HEAVY_RAIN",
      -  "RAIN_AND_SNOW",
      -  "SLEET",
      -  "FREEZING_RAIN"
      -]New value: +[
      +  "PRECIPITATION_TYPE_UNSPECIFIED",
      +  "NONE",
      +  "SNOW",
      +  "RAIN",
      +  "LIGHT_RAIN",
      +  "HEAVY_RAIN",
      +  "RAIN_AND_SNOW",
      +  "SLEET",
      +  "FREEZING_RAIN",
      +  "PRECIPITATION_TYPE_HAIL"
      +]
    • changedOutput schema / $defs / PrecipitationProbability / properties / type / x-google-enum-descriptions
      Previous value: -[
      -  "Unspecified precipitation type.",
      -  "No precipitation.",
      -  "Snow precipitation.",
      -  "Rain precipitation.",
      -  "Light rain precipitation.",
      -  "Heavy rain precipitation.",
      -  "Both rain and snow precipitations.",
      -  "Sleet precipitation.",
      -  "Freezing rain precipitation."
      -]New value: +[
      +  "Unspecified precipitation type.",
      +  "No precipitation.",
      +  "Snow precipitation.",
      +  "Rain precipitation.",
      +  "Light rain precipitation.",
      +  "Heavy rain precipitation.",
      +  "Both rain and snow precipitations.",
      +  "Sleet precipitation.",
      +  "Freezing rain precipitation.",
      +  "Hail precipitation."
      +]
  6. Changed4 schema fields changed
    • changedInput schema / properties / date / description
      Previous value: -"Optional. The date of the required weather information. Note: This date is relative to the local timezone of the location specified in the location field. The date must be within the next 7 days."New value: +"Optional. The date of the required weather information. Note: This date is relative to the local timezone of the location specified in the location field. The date must be between 24 hours in the past and the next 10 days."
    • changedInput schema / properties / hour / description
      Previous value: -"Optional. The hour of the requested weather information, in 24-hour format (0-23). This value is relative to the local timezone of the location specified in the location field. Hourly forecast is only supported for the next 48 hours from the current time."New value: +"Optional. The hour of the requested weather information, in 24-hour format (0-23). This value is relative to the local timezone of the location specified in the location field. Hourly forecast beyond 120 hours from now is not supported. Historical hourly weather is supported up to 24 hours in the past."
    • addedOutput schema / $defs / Attribution
      Added value: +{
      +  "description": "Required attribution to show with maps content.",
      +  "properties": {
      +    "title": {
      +      "description": "The title to display for the attribution.",
      +      "type": "string"
      +    },
      +    "url": {
      +      "description": "The URL to link to for the attribution.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / attribution
      Added value: +{
      +  "$ref": "#/$defs/Attribution",
      +  "description": "Required attribution to show with the weather."
      +}
  7. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description goes well beyond them by disclosing forecast horizon limits, the timezone-relativity rule for date/hour, the default unit system, and the attribution obligation on grounded output. Those are operational constraints an agent cannot infer from the annotations or schema alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but strongly front-loaded and organized under bold headings, with the critical location rule called out first after the data summary. Some content is redundant with the schema (units default, date format) and the data-availability list is verbose, but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value explanation is correctly omitted, and the location/time/units semantics are thoroughly covered. The notable gap is that the schema also supports WEATHER / AIR_QUALITY / POLLEN capabilities and localized output via languageCode, none of which the description acknowledges, leaving an agent unaware it could request air quality or pollen from this endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description earns extra credit by explaining the oneof exclusivity of the location sub-fields, the specificity required for a free-form address (region/country, full street address, zip must carry country), and the {year, month, day} shape plus local-timezone semantics for date/hour. It loses a point for never mentioning the `capabilities`, `airQualityOptions`, or `languageCode` parameters, and its examples use `lat_lng`/`place_id` while the schema uses `latLng`/`placeId`.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Retrieves) and resource (weather data) and enumerates the concrete data classes returned (temperature, wind, celestial, precipitation, atmospheric, geocoded address). This is plainly distinct from the sibling tools (compute_routes, resolve_maps_urls, resolve_names, search_places), so an agent can route without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The Usage Modes section gives explicit when-to-use rules keyed on which parameters to supply: location only for current, location+date+hour for hourly, location+date for daily, with the natural-language phrasing that maps to each ('at 5 PM', 'next few hours', 'weather on Friday'). It also names the boundary conditions (hourly >120h unsupported, historical hourly up to 24h back, daily >10 days unsupported, historical daily unsupported) and points to search_places as the source for place_id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources