openmeteo_get_forecast
ActiveTool of io.github.cyanheads/open-meteo-mcp-server
Weather forecast for coordinates: hourly and/or daily variables for up to 16 days ahead, with optional past_days (up to 92) for recent history. Use past_days instead of openmeteo_get_historical for dates within the last 1–5 days, since ERA5 has a variable lag. Returns per-timestamp records — each hourly entry contains a "time" field (ISO 8601) plus one key per requested variable; each daily entry contains a "time" field (YYYY-MM-DD) plus requested variables. Common hourly variables: temperature_2m, precipitation, wind_speed_10m, relative_humidity_2m, cloud_cover, uv_index, apparent_temperature, precipitation_probability, weather_code, surface_pressure, visibility, wind_direction_10m, wind_gusts_10m, dew_point_2m. Common daily variables: temperature_2m_max, temperature_2m_min, precipitation_sum, wind_speed_10m_max, sunrise, sunset, uv_index_max, precipitation_hours, weather_code. At least one of hourly_variables or daily_variables is required.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"latitude",
"longitude"
],
"properties": {
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees (e.g., 47.6062 for Seattle). Use openmeteo_geocode to resolve a place name to coordinates."
},
"timezone": {
"type": "string",
"default": "auto",
"description": "IANA timezone (e.g., \"America/Los_Angeles\") or \"auto\" to use the location's local timezone. Default \"auto\". The timezone from openmeteo_geocode is ideal to pass here."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees (e.g., -122.3321 for Seattle)."
},
"past_days": {
"type": "integer",
"default": 0,
"maximum": 92,
"minimum": 0,
"description": "Include this many days of past data before today (0–92). Use for recent history — ERA5 archive has a variable ~5-day lag. Default 0."
},
"forecast_days": {
"type": "integer",
"default": 7,
"maximum": 16,
"minimum": 1,
"description": "Number of forecast days (1–16). Default 7."
},
"daily_variables": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "Daily summary variables (e.g., [\"temperature_2m_max\", \"temperature_2m_min\", \"precipitation_sum\", \"wind_speed_10m_max\", \"sunrise\", \"sunset\", \"uv_index_max\"]). At least one of hourly_variables or daily_variables is required."
},
"wind_speed_unit": {
"enum": [
"kmh",
"mph",
"ms",
"kn"
],
"type": "string",
"default": "kmh",
"description": "Wind speed unit: \"kmh\" (km/h), \"mph\", \"ms\" (m/s), or \"kn\" (knots). Default \"kmh\"."
},
"hourly_variables": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "Hourly variables to fetch (e.g., [\"temperature_2m\", \"precipitation\", \"wind_speed_10m\", \"relative_humidity_2m\", \"cloud_cover\", \"uv_index\", \"apparent_temperature\"]). At least one of hourly_variables or daily_variables is required."
},
"temperature_unit": {
"enum": [
"celsius",
"fahrenheit"
],
"type": "string",
"default": "celsius",
"description": "Temperature unit. Default \"celsius\"."
},
"precipitation_unit": {
"enum": [
"mm",
"inch"
],
"type": "string",
"default": "mm",
"description": "Precipitation unit: \"mm\" or \"inch\". Default \"mm\"."
}
}
}Parent server
io.github.cyanheads/open-meteo-mcp-server
https://github.com/cyanheads/open-meteo-mcp-server
1/7 registries