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, and country.
weather_forecast
| Parameter |
Required |
Notes |
latitude, longitude |
Yes |
WGS84 coordinates |
hourly |
No* |
Hourly time series |
daily |
No* |
Day-level aggregates |
current |
No* |
Current conditions |
forecast_days |
No |
1-16, default 7 |
past_days |
No |
1-92 recent history |
timezone |
No** |
Required for daily; use auto |
* At least one of hourly, daily, or current is required.
** Always set timezone=auto for daily variables.
weather_archive
Use for older historical dates with start_date and end_date.
air_quality
Common variables include pm2_5, pm10, european_aqi, us_aqi, carbon_monoxide, nitrogen_dioxide, ozone, uv_index, and pollen indicators.
marine_weather
Use for wave_height, wave_period, swell_wave_height, sea_surface_temperature, and current variables.
flood_forecast
Use for river_discharge, river_discharge_mean, river_discharge_max, and related flood variables.
Examples
- "What is the weather like in Lyon tomorrow?"
geocoding
weather_forecast with daily variables and timezone: "auto"
- "Is the air quality good in Paris right now?"
geocoding
air_quality
- "What are the wave conditions near Biarritz this weekend?"
geocoding
marine_weather
Best Practices
- Geocode first when the user provides only a place name.
- Request only the variables you need.
- Use
current for instant conditions, hourly for time series, daily for summaries.
- For model comparison, ensemble uncertainty, seasonal outlooks, or climate projections, use
open-meteo-advanced.
1---2name: open-meteo3description: Use when the user asks about current weather, forecasts, historical weather, air quality, marine conditions, flooding, or elevation for any location worldwide.4---56# Open-Meteo MCP78## Overview910This 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.1112If you only have a city name, call `geocoding` first to obtain coordinates and timezone.1314## Which Tool to Use1516| Scenario | Tool |17|----------|------|18| City name -> coordinates + timezone | `geocoding` |19| Current weather or forecast (up to 16 days) | `weather_forecast` |20| Historical weather (past dates) | `weather_archive` |21| Air quality, pollutants, pollen | `air_quality` |22| Wave height, swell, sea temperature, currents | `marine_weather` |23| River discharge, flood risk (up to 210 days) | `flood_forecast` |24| Elevation / altitude of a location | `elevation` |25| Specific model, forecast > 16 days, seasonal, or climate projection | -> use `open-meteo-advanced` |2627## Key Parameters2829### `geocoding`3031| Parameter | Required | Notes |32|-----------|----------|-------|33| `name` | Yes | City or place name |34| `count` | No | Max results (default 1) |35| `language` | No | Response language (e.g., `fr`, `en`) |3637Returns `latitude`, `longitude`, `timezone`, and `country`.3839### `weather_forecast`4041| Parameter | Required | Notes |42|-----------|----------|-------|43| `latitude`, `longitude` | Yes | WGS84 coordinates |44| `hourly` | No* | Hourly time series |45| `daily` | No* | Day-level aggregates |46| `current` | No* | Current conditions |47| `forecast_days` | No | 1-16, default 7 |48| `past_days` | No | 1-92 recent history |49| `timezone` | No** | Required for `daily`; use `auto` |5051\* At least one of `hourly`, `daily`, or `current` is required. 52\** Always set `timezone=auto` for daily variables.5354### `weather_archive`5556Use for older historical dates with `start_date` and `end_date`.5758### `air_quality`5960Common variables include `pm2_5`, `pm10`, `european_aqi`, `us_aqi`, `carbon_monoxide`, `nitrogen_dioxide`, `ozone`, `uv_index`, and pollen indicators.6162### `marine_weather`6364Use for `wave_height`, `wave_period`, `swell_wave_height`, `sea_surface_temperature`, and current variables.6566### `flood_forecast`6768Use for `river_discharge`, `river_discharge_mean`, `river_discharge_max`, and related flood variables.6970## Examples7172- "What is the weather like in Lyon tomorrow?"73 1. `geocoding`74 2. `weather_forecast` with `daily` variables and `timezone: "auto"`75- "Is the air quality good in Paris right now?"76 1. `geocoding`77 2. `air_quality`78- "What are the wave conditions near Biarritz this weekend?"79 1. `geocoding`80 2. `marine_weather`8182## Best Practices8384- Geocode first when the user provides only a place name.85- Request only the variables you need.86- Use `current` for instant conditions, `hourly` for time series, `daily` for summaries.87- For model comparison, ensemble uncertainty, seasonal outlooks, or climate projections, use `open-meteo-advanced`.