cmer81/open-meteo-mcp/open-meteo
Claude Code and agent skill by cmer81/open-meteo-mcp
- community
Checking that the SKILL.md file is still in the repository.
Use when the user asks about current weather, forecasts, historical weather, air quality, marine conditions, flooding, or elevation for any location worldwide.
Install
npx vskill@latest install cmer81/open-meteo-mcp/open-meteoSKILL.md
Open-Meteo MCP
Overview
This MCP server provides direct access to Open-Meteo weather APIs via dedicated tools. No direct API calls needed — call the appropriate tool with coordinates and the variables you want.
If you only have a city name, call geocoding first to obtain coordinates and timezone.
Which Tool to Use
| Scenario | Tool | |
|---|---|---|
| City name → coordinates + timezone | geocoding | |
| Current weather or forecast (up to 16 days) | weather_forecast | |
| Historical weather (past dates) | weather_archive | |
| Air quality, pollutants, pollen | air_quality | |
| Wave height, swell, sea temperature, currents | marine_weather | |
| River discharge, flood risk (up to 210 days) | flood_forecast | |
| Elevation / altitude of a location | elevation | |
| Specific model, forecast > 16 days, seasonal, or climate projection | → use open-meteo-advanced |
Key Parameters
geocoding
| Parameter | Required | Notes | |
|---|---|---|---|
name | Yes | City or place name | |
count | No | Max results (default 1) | |
language | No | Response language (e.g., fr, en) |
Returns: latitude, longitude, timezone, country. Attribution: geocoding data from GeoNames.
weather_forecast
| Parameter | Required | Notes | |
|---|---|---|---|
latitude, longitude | Yes | WGS84 coordinates | |
hourly | No* | Hourly time series | |
daily | No* | Day-level aggregates | |
current | No* | Current conditions (any hourly variable) | |
minutely_15 | No | 15-minute resolution variables (subset of hourly) | |
forecast_days | No | 1–16, default 7 | |
past_days | No | 1–92 (recent history without archive) | |
timezone | No** | Required for daily; use auto for local time | |
temperature_unit | No | celsius (default) or fahrenheit | |
wind_speed_unit | No | kmh (default), ms, mph, kn | |
precipitation_unit | No | mm (default) or inch | |
start_date / end_date | No | YYYY-MM-DD alternative to forecast_days | |
past_hours / forecast_hours | No | Hour-granularity alternative to past_days/forecast_days | |
cell_selection | No | land, sea, or nearest grid cell preference | |
tilt / azimuth | No | Panel angle for global_tilted_irradiance |
\At least one of `hourly`, `daily`, or `current` is required. \\*Always set timezone=auto when requesting daily variables.
One model per request. For multi-model comparison, use open-meteo-advanced model tools in parallel.
Common hourly variables: temperature_2m, relative_humidity_2m, apparent_temperature, precipitation, precipitation_probability, wind_speed_10m, wind_direction_10m, weather_code, cloud_cover, uv_index, visibility, is_day. Upper-air pressure-level variables are also available, e.g. temperature_850hPa, wind_speed_500hPa, geopotential_height_200hPa (levels: 1000 down to 30 hPa).
Common daily variables: temperature_2m_max, temperature_2m_min, apparent_temperature_max, precipitation_sum, precipitation_probability_max, wind_speed_10m_max, wind_gusts_10m_max, weather_code, sunrise, sunset, uv_index_max, shortwave_radiation_sum
weather_archive
Same parameters as weather_forecast, with these differences:
| Parameter | Required | Notes | |
|---|---|---|---|
start_date | Yes | YYYY-MM-DD | |
end_date | Yes | YYYY-MM-DD | |
models | No | Reanalysis dataset: best_match (default), era5, era5_land, ecmwf_ifs, cerra, era5_ensemble |
Use past_days on weather_forecast for recent history (up to 92 days back). Use weather_archive for older dates.
air_quality
| Parameter | Required | Notes | |
|---|---|---|---|
latitude, longitude | Yes | ||
hourly | No* | Air quality variables (time series) | |
current | No* | Current conditions (any hourly variable) | |
domains | No | auto (default), cams_europe, or cams_global | |
forecast_days | No | 0–7, default 5 | |
past_days | No | 0–92 | |
start_date / end_date | No | YYYY-MM-DD alternative to forecast_days | |
timezone | No | Use auto for local time |
\*At least one of hourly or current is required.
Common variables: pm2_5, pm10, european_aqi, us_aqi, carbon_monoxide, nitrogen_dioxide, ozone, sulphur_dioxide, dust, uv_index, alder_pollen, birch_pollen, grass_pollen, mugwort_pollen, olive_pollen, ragweed_pollen
Attribution: air quality data from CAMS (Copernicus Atmosphere Monitoring Service).
marine_weather
| Parameter | Required | Notes | |
|---|---|---|---|
latitude, longitude | Yes | Use sea/ocean coordinates | |
hourly | No* | Hourly ocean/wave variables | |
current | No* | Current ocean/wave conditions | |
daily | No* | Daily aggregates | |
minutely_15 | No | 15-minute resolution: ocean_current_velocity, ocean_current_direction, sea_level_height_msl | |
models | No | Wave model: best_match (default), meteofrance_wave, dwd_ewam, ecmwf_wam, ncep_gfswave025, era5_ocean | |
length_unit | No | metric (default) or imperial for wave height/sea level | |
forecast_days | No | 0–16, default 7 | |
past_days | No | 0–92 | |
start_date / end_date | No | YYYY-MM-DD alternative to forecast_days | |
cell_selection | No | land, sea, or nearest grid cell preference | |
timezone | No | Use auto for daily variables |
\*At least one of hourly, current, or daily is required.
Common hourly variables: wave_height, wave_direction, wave_period, wind_wave_height, wind_wave_direction, wind_wave_period, swell_wave_height, swell_wave_direction, swell_wave_period, sea_surface_temperature, ocean_current_velocity, ocean_current_direction
Common daily variables: wave_height_max, wave_direction_dominant, wave_period_max, swell_wave_height_max
flood_forecast
| Parameter | Required | Notes | |
|---|---|---|---|
latitude, longitude | Yes | ||
daily | No* | River discharge variables | |
models | No | GloFAS version: seamless_v4 (default), forecast_v4, consolidated_v4, or the _v3 equivalents | |
forecast_days | No | 0–366, default 92 | |
past_days | No | 0–92 | |
ensemble | No | Set true to return all ensemble members |
Variables: river_discharge (deterministic), river_discharge_mean, river_discharge_median, river_discharge_max, river_discharge_min, river_discharge_p25, river_discharge_p75
Data source: GloFAS (Global Flood Awareness System).
elevation
| Parameter | Required | Notes | |
|---|---|---|---|
latitude, longitude | Yes | A single coordinate pair, or two equal-length arrays for batch lookups |
Returns altitude in metres (one value per coordinate pair).
Examples
"What is the weather like in Lyon tomorrow?"
geocodingwithname: "Lyon"→latitude,longitude,timezoneweather_forecastwith those coordinates +daily: ["temperature_2m_max", "temperature_2m_min", "precipitation_sum", "weather_code"],forecast_days: 2,timezone: "auto"
"Is the air quality good in Paris right now?"
geocodingwithname: "Paris"→ coordinatesair_qualitywith coordinates +current: ["european_aqi", "pm2_5", "pm10"]
"What was the average temperature in Berlin in July 2024?"
geocodingwithname: "Berlin"→ coordinates, timezoneweather_archivewith coordinates +daily: ["temperature_2m_max", "temperature_2m_min"],start_date: "2024-07-01",end_date: "2024-07-31",timezone: "auto"
"What are the wave conditions near Biarritz this weekend?"
geocodingwithname: "Biarritz"→ coordinatesmarine_weatherwith coordinates +hourly: ["wave_height", "wave_direction", "wave_period", "swell_wave_height"],forecast_days: 3
Best Practices
- Always geocode first if you only have a city or place name.
- Always set `timezone=auto` when requesting
dailyvariables — otherwise results are in UTC and day boundaries will be wrong for non-UTC locations. - Request only the variables you need — smaller payloads are faster and easier to parse.
- Use `current` for instant conditions,
hourlyfor time series,dailyfor day-level summaries. - `forecast_days: 1` returns today only;
forecast_days: 2returns today + tomorrow. - For multi-model comparison or forecasts beyond 16 days, use
open-meteo-advanced.
Security
- Security scanPassed, 93 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
- SKILL.md in the repositoryCheckingskills/open-meteo/SKILL.md
Popularity
- Repository stars
- 66
- Repository forks
- 18
- 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
[](https://verified-skill.com/skills/cmer81/open-meteo-mcp/open-meteo)