Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Geocode places, fetch global weather forecasts, ERA5 historical climate, marine conditions, air quality, and terrain elevation via MCP. STDIO or Streamable HTTP.
Public Hosted Server: https://open-meteo.caseyjhand.com/mcp
Eleven tools covering geocoding, weather forecasts, historical climate, probabilistic ensemble forecasts, marine conditions, air quality, terrain elevation, river discharge, CMIP6 climate projections, and SQL analytics over large datasets:
| Tool | Description |
|---|---|
openmeteo_search_locations | Resolve a place name to ranked coordinate matches with country, region, elevation, timezone, and population |
openmeteo_get_forecast | Weather forecast for coordinates: hourly and/or daily variables for up to 16 days, with optional recent past data; wide windows spill to DataCanvas |
openmeteo_get_historical | Historical weather from the ERA5 reanalysis archive (1940βpresent); large ranges spill to DataCanvas |
openmeteo_get_marine | Marine wave and ocean conditions for coastal or ocean coordinates: wave height, period, direction, swell, and sea-surface temperature; up to 8 forecast days, past_days, or a start_date/end_date archive range; large windows spill to DataCanvas |
openmeteo_get_air_quality | Modeled CAMS air quality: PM2.5, PM10, NO2, O3, CO, dust, pollen, and European/US AQI indices; up to 7 forecast days, past_days, or a start_date/end_date archive range; large windows spill to DataCanvas |
openmeteo_get_elevation | Terrain elevation from Copernicus DEM (~90m resolution) for up to 100 coordinate pairs per call |
openmeteo_get_ensemble | Probabilistic ensemble forecast: per-member hourly/daily time series (up to 51 members, 16 days) for exceedance and uncertainty analysis |
openmeteo_get_flood | GloFAS river discharge forecast (up to 210 days) or reanalysis (1984βpresent); coordinate-based, snaps to nearest river; large ranges spill to DataCanvas |
openmeteo_get_climate | Bias-corrected daily CMIP6 climate projections (1950β2050) across up to 7 models; large ranges spill to DataCanvas |
openmeteo_dataframe_describe | List tables and columns on a DataCanvas staged by openmeteo_get_forecast, openmeteo_get_historical, openmeteo_get_marine, openmeteo_get_air_quality, openmeteo_get_ensemble, openmeteo_get_flood, or openmeteo_get_climate |
openmeteo_dataframe_query | Run a read-only SQL SELECT against tables staged on a DataCanvas |
openmeteo_search_locationsResolve a free-text place name to ranked coordinate matches. Required first step for name-based queries β all weather tools accept latitude/longitude, not place names.
country filter (ISO 3166-1 alpha-2, e.g. US) or by raising count (default 5, up to 10) and reading the admin1/country fields on each result β those are output fields for choosing among matches, not search inputsopenmeteo_search_locations result directly to weather tools as the timezone parameterno_results error (not an empty array) when nothing matches β retry the bare place name without qualifiers, or for a physical feature/landmark search the nearest populated place insteadopenmeteo_get_forecastWeather forecast for a coordinate pair with hourly and/or daily variable selection.
forecast_days 1β16, default 7)past_days (0β92) covers recent history via the forecast model β use instead of openmeteo_get_historical for dates within the last ~5 days to avoid ERA5 lagtemperature_2m, precipitation, wind_speed_10m, relative_humidity_2m, cloud_cover, uv_index, apparent_temperature, precipitation_probability, weather_code, surface_pressure, visibility, wind_direction_10m, wind_gusts_10m, dew_point_2mtemperature_2m_max, temperature_2m_min, precipitation_sum, wind_speed_10m_max, sunrise, sunset, uv_index_max, precipitation_hours, weather_codehourly_variables or daily_variables is requiredcloud_cover in daily_variables β cloud_cover_max/_mean/_min). Names in neither set are passed upstream unchangedhourly_units / daily_units mappast_days plus many hourly variables) spills to DataCanvas when CANVAS_PROVIDER_TYPE=duckdb β output includes canvas_id and truncated: true; query with openmeteo_dataframe_queryopenmeteo_get_historicalHistorical weather from the ERA5 reanalysis archive, covering 1940 to approximately 5 days ago.
start_date and end_date (YYYY-MM-DD); ERA5 has a variable ~1β5 day lagopenmeteo_get_forecast β past and forecast data are directly comparable on one schemahourly_variables or daily_variables is requiredCANVAS_PROVIDER_TYPE=duckdb β output includes canvas_id and truncated: true whenever a result is too large to return inline, which a wide multi-variable pull can be at any row countopenmeteo_dataframe_describe with the canvas_id to list tables, then openmeteo_dataframe_query to run SQL SELECT against the staged dataopenmeteo_get_marineMarine wave and ocean conditions for coastal and open-ocean coordinates.
forecast_days 1β8, upstream default 7) with optional past_days (0β92)start_date and end_date β real wave values go back to at least 2022forecast_days/past_days, and needs both ends β a lone start_date or end_date is rejectedwave_height, wave_direction, wave_period, wind_wave_height, wind_wave_direction, wind_wave_period, swell_wave_height, swell_wave_direction, swell_wave_periodwave_height_max, wave_direction_dominant, wave_period_maxhourly_variables or daily_variables is requiredocean_current_velocity is null for non-open-ocean coordinatesCANVAS_PROVIDER_TYPE=duckdb β output includes canvas_id and truncated: true; query with openmeteo_dataframe_queryopenmeteo_get_air_qualityModeled CAMS air quality, forecast and archive.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/open-meteo-mcp-server)<a href="https://allmcps.com/mcp/open-meteo-mcp-server"><img src="https://allmcps.com/api/badge/open-meteo-mcp-server?style=directory" alt="Open Meteo MCP Server on AllMCPs" /></a>