openmeteo_get_ensemble
ActiveTool of io.github.cyanheads/open-meteo-mcp-server
Probabilistic ensemble weather forecast — up to 51 ensemble members, up to 16 days ahead with optional past_days (0–92). Each member's values appear as separate columns named with a member suffix (e.g. temperature_2m_member01, temperature_2m_member02). Use the spread across members to compute exceedance probabilities, quantify forecast uncertainty, and build decision thresholds. Available models: "ecmwf_ifs025" (51 members, global, 0.25°), "gfs025" (31 members, global, 0.25°), "icon_seamless" (40 members, global/Europe blend), "gem_global" (21 members, global, 0.25°). Omit models to use the API default blend. Large multi-member, multi-day pulls produce thousands of records and spill to DataCanvas when canvas is enabled. 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": {
"models": {
"type": "string",
"description": "Ensemble model to use: \"ecmwf_ifs025\" (51 members, global 0.25°), \"gfs025\" (31 members), \"icon_seamless\" (40 members), \"gem_global\" (21 members). Omit to use the API default blend."
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Latitude in decimal degrees. 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\"."
},
"canvas_id": {
"type": "string",
"description": "DataCanvas token for large multi-member queries. When records exceed ~500, results spill to this canvas for SQL querying. Omit to create a fresh canvas."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Longitude in decimal degrees."
},
"past_days": {
"type": "integer",
"default": 0,
"maximum": 92,
"minimum": 0,
"description": "Include this many days of past ensemble data before today (0–92). Default 0."
},
"forecast_days": {
"type": "integer",
"default": 7,
"maximum": 16,
"minimum": 1,
"description": "Forecast horizon in days (1–16). Default 7."
},
"daily_variables": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "Daily variables to fetch across all ensemble members (e.g., [\"temperature_2m_max\", \"temperature_2m_min\", \"precipitation_sum\"]). Each variable appears as temperature_2m_max_member01, … At least one of hourly_variables or daily_variables required."
},
"wind_speed_unit": {
"enum": [
"kmh",
"mph",
"ms",
"kn"
],
"type": "string",
"default": "kmh",
"description": "Wind speed unit. Default \"kmh\"."
},
"hourly_variables": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "Hourly variables to fetch across all ensemble members (e.g., [\"temperature_2m\", \"precipitation\", \"wind_speed_10m\"]). Each variable appears as temperature_2m_member01, temperature_2m_member02, … in the output. At least one of hourly_variables or daily_variables 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. Default \"mm\"."
}
}
}Parent server
io.github.cyanheads/open-meteo-mcp-server
https://github.com/cyanheads/open-meteo-mcp-server
1/7 registries