<< All versions

Skill v1.0.2

currentAutomated scan100/100
cmer81/open-meteo-mcp/open-meteo-advanced

5 files

──Details
PublishedOctober 28, 2026 at 02:31 PM
Content Hashsha256:b5d481b94518472c...
Git SHAf6a30f90cfa1
Bump Typepatch
Compare with v1.0.1
──Files
Files (1 file, 9.5 KB)
SKILL.md9.5 KBactive
SKILL.md · 163 lines · 9.5 KB

name: open-meteo-advanced description: Use when the user wants a specific weather model, needs ensemble uncertainty ranges, requests seasonal outlooks, or asks for long-term climate projections. metadata: version: "1.0.2"


Open-Meteo MCP — Advanced

Overview

Use this skill when:

  • The user asks for a specific weather model (ECMWF, GFS, DWD ICON, Météo-France, JMA, MET Norway, GEM)
  • The user wants to compare models (make parallel calls, one per model tool)
  • Forecasts beyond 16 days are needed
  • Ensemble uncertainty / confidence intervals are requested
  • A seasonal outlook (1–7 months) or climate projection (to 2050) is needed

For everyday weather questions, use open-meteo instead.

Model Selection Guide

ToolProviderGeographic FocusHorizonBest For
ecmwf_forecastECMWF IFSGlobal15 daysHighest global accuracy
gfs_forecastNOAA GFSGlobal16 daysGlobal, especially Americas
dwd_icon_forecastDWD ICONEurope only2–7.5 daysHigh-res Europe
meteofrance_forecastMétéo-France AROME/ARPEGEFrance, DOM-TOM, Mediterranean/Europe2–4 daysFrance + nearby regions
jma_forecastJMAAsia-Pacific4–11 daysJapan and Asia-Pacific
metno_forecastMET NorwayNordic-primary (global extension via blending)2.5 daysNordic region precision
gem_forecastEnvironment Canada GEMNorth America2–10 daysCanada
ensemble_forecastMulti-modelGlobal35 daysForecast uncertainty ranges
seasonal_forecastECMWF SEAS5Globalup to 217 days1–7 month outlook
climate_projectionCMIP6Global1950–2050Multi-decade scenarios

Geographic constraints:

  • dwd_icon_forecast: Europe only — do not use for other regions.
  • metno_forecast with metno_nordic: Nordic region only. metno_seamless is Nordic-primary with global extension via blending, not a general-purpose global model.
  • meteofrance_forecast: France + DOM-TOM + Mediterranean/Europe coverage.

Key Parameters

Model-specific forecast tools

Applies to: dwd_icon_forecast, gfs_forecast, meteofrance_forecast, ecmwf_forecast, jma_forecast, metno_forecast, gem_forecast

All share the same parameters as weather_forecast (see open-meteo skill), plus:

ParameterRequiredNotes
latitude, longitudeYes
modelsYes*Exactly one model per request
hourly / daily / currentNo**Same variables as weather_forecast

\`metno_forecast` can omit `models` to use the default Met.no model. \\*At least one variable group required.

Multi-model comparison: Make parallel tool calls, one per model.

Model key examples:

ToolExample model keys
ecmwf_forecastecmwf_ifs, ecmwf_ifs04, ecmwf_ifs025, ecmwf_aifs025, ecmwf_aifs025_single, ecmwf_ifs_europe_ensemble_mean, ecmwf_aifs_europe_ensemble_mean, best_match
dwd_icon_forecastdwd_icon_seamless, dwd_icon_global, dwd_icon_eu, dwd_icon_d2
gfs_forecastncep_gfs_global, ncep_gfs_seamless, ncep_hrrr_conus
meteofrance_forecastmeteofrance_seamless, meteofrance_arome_france, meteofrance_arpege_europe
jma_forecastjma_seamless, jma_msm, jma_gsm
metno_forecastmetno_nordic, metno_seamless
gem_forecastgem_global, gem_regional, gem_seamless

ECMWF warning: model IDs with an underscore before the resolution digits (ecmwf_ifs_025, ecmwf_aifs_025_single) and ecmwf_ifs_hres_9km are NOT valid on ecmwf_forecast. Use ecmwf_ifs025 / ecmwf_aifs025_single / ecmwf_ifs.

ensemble_forecast

ParameterRequiredNotes
latitude, longitudeYes
modelsYesOne ensemble model (e.g. icon_seamless_eps, ncep_gefs_seamless, ecmwf_ifs025_ensemble), or an array of models to compare several ensemble systems in one call. The ensemble API has no default model: omitting it fails
hourlyNo*Same variables as weather_forecast
forecast_daysNo0–36, default 7
past_days / past_hoursNoRecent history, day or hour granularity
forecast_hoursNoHour-granularity alternative to forecast_days
start_date / end_dateNoYYYY-MM-DD alternative to forecast_days
temporal_resolutionNonative (default), hourly, hourly_3, or hourly_6
cell_selectionNoland, sea, or nearest grid cell preference

Response format: Each variable is returned as one array per ensemble member, suffixed with the model name when models contains more than one entry:

json
{
"hourly": {
"time": ["2024-01-01T00:00", "2024-01-01T01:00", "..."],
"temperature_2m_member01": [2.1, 2.3, "..."],
"temperature_2m_member02": [1.8, 2.0, "..."],
"temperature_2m_member03": [2.4, 2.6, "..."]
}
}

To derive uncertainty ranges, calculate min/max/percentiles across all _memberNN arrays for each timestep.

seasonal_forecast

ParameterRequiredNotes
latitude, longitudeYes
hourlyNo*6-hourly variables: temperature_2m, precipitation, wind_speed_10m, relative_humidity_2m, cloud_cover, pressure_msl, dew_point_2m, sea_surface_temperature, wave_height, soil_moisture_0_to_7cm and other depth buckets
dailyNo*temperature_2m_max, temperature_2m_min, temperature_2m_mean, sunrise, sunset, weather_code, dew_point_2m_mean, sea_surface_temperature_mean
weeklyNo*Weekly means/anomalies, e.g. temperature_2m_mean, temperature_2m_anomaly, precipitation_anomaly, precipitation_efi
monthlyNo*Monthly means/anomalies, e.g. temperature_2m_mean, temperature_2m_anomaly, sea_ice_cover_mean, evapotranspiration_mean
modelsNobest_match (default), ecmwf_seas5, ecmwf_ec46, or their ensemble-mean variants
forecast_daysNo0–217, default 183
cell_selectionNoland, sea, or nearest grid cell preference

\*At least one of hourly, daily, weekly, or monthly is required.

Output represents ensemble anomalies relative to climatology, not absolute forecasts.

climate_projection

ParameterRequiredNotes
latitude, longitudeYes
start_dateYesYYYY-MM-DD (supported range: 1950-01-01 to 2050-12-31)
end_dateYesYYYY-MM-DD
dailyNoOne or more of: temperature_2m_max, temperature_2m_min, temperature_2m_mean, precipitation_sum, wind_speed_10m_mean, wind_speed_10m_max, cloud_cover_mean, relative_humidity_2m_mean, shortwave_radiation_sum, soil_moisture_0_to_7cm_mean, pressure_msl_mean
modelsNoCMIP6 models (array): CMCC_CM2_VHR4, MRI_AGCM3_2_S, EC_Earth3P_HR, MPI_ESM1_2_XR, NICAM16_8S, FGOALS_f3_H, HiRAM_SIT_HR. Omit to use the server default.
timezoneNoUse auto for local time
cell_selectionNoland, sea, or nearest grid cell preference

Data note: Dates before the current year represent CMIP6 model simulation output for validation purposes, not observed historical measurements. For real historical weather data, use weather_archive.

Examples

"Get the ECMWF forecast for Bordeaux tomorrow"

  1. geocoding with name: "Bordeaux" → coordinates
  2. ecmwf_forecast with coordinates + models: "ecmwf_ifs", daily: ["temperature_2m_max", "temperature_2m_min", "precipitation_sum", "weather_code"], forecast_days: 2, timezone: "auto"

"Compare DWD ICON and GFS forecasts for Berlin this week"

  1. geocoding with name: "Berlin" → coordinates
  2. Two parallel calls:
  • dwd_icon_forecast with models: "dwd_icon_seamless", daily: ["temperature_2m_max", "precipitation_sum"], forecast_days: 7, timezone: "auto"
  • gfs_forecast with models: "ncep_gfs_global", daily: ["temperature_2m_max", "precipitation_sum"], forecast_days: 7, timezone: "auto"

"Show me forecast uncertainty for Paris next week"

  1. geocoding with name: "Paris" → coordinates
  2. ensemble_forecast with coordinates + models: "ecmwf_ifs025_ensemble", hourly: ["temperature_2m"], forecast_days: 10

The response will contain temperature_2m_member01, temperature_2m_member02, etc. — calculate spread across members for uncertainty.

"What will the climate be like in Lyon in 2040?"

  1. geocoding with name: "Lyon" → coordinates
  2. climate_projection with coordinates + start_date: "2040-01-01", end_date: "2040-12-31", models: ["MRI_AGCM3_2_S"], daily: ["temperature_2m_max", "temperature_2m_min", "precipitation_sum"]

Best Practices

  • Don't use regional model tools outside their geographic coverage — dwd_icon_forecast for Asia will return empty or incorrect data.
  • `ecmwf_forecast` accepts only the ECMWF model IDs listed above (IFS, AIFS and the Europe ensemble means). Any other key causes HTTP 400.
  • Ensemble output is member arrays, not scalar values — process all _memberNN keys to derive uncertainty ranges.
  • Climate data before the current year is CMIP6 simulation, not observed data — use weather_archive for real historical measurements.
  • `seasonal_forecast` outputs anomalies, not absolute values — it answers "warmer than usual?" not "what temperature exactly?".
  • Geocode first if you only have a city name.
← v1.0.1All versions