cmer81/open-meteo-mcp/open-meteo-advanced

Claude Code and agent skill by cmer81/open-meteo-mcp

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when the user wants a specific weather model, needs ensemble uncertainty ranges, requests seasonal outlooks, or asks for long-term climate projections.

Install

npx vskill@latest install cmer81/open-meteo-mcp/open-meteo-advanced

SKILL.md

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.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
72
Repository forks
27
7-day trend score
21

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/cmer81/open-meteo-mcp/open-meteo-advanced/badge)](https://verified-skill.com/skills/cmer81/open-meteo-mcp/open-meteo-advanced)

Something wrong with this skill or its page? Tell us.