open-meteo-mcp-server
Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.
- Version:
- hosted
- Publisher:
- cyanheads
Install
Generated from the server’s transport data — never hand-written. Placeholders in angle brackets are yours to fill.
Run it with its own identity, a budget you set, and every call audited — no local config to keep in sync.
Add to a connect0 projectYou will sign in first, then land back on this page.
What it can do
As declared by the publisher
Tools · 11
openmeteo_dataframe_describeList the tables and their columns on a DataCanvas staged by openmeteo\_get\_historical, openmeteo\_get\_ensemble, or openmeteo\_get\_climate. Call this first to discover table names before querying with openmeteo\_dataframe\_query.
openmeteo_dataframe_queryRun a read-only SQL SELECT against tables staged on a DataCanvas by openmeteo\_get\_historical, openmeteo\_get\_ensemble, or openmeteo\_get\_climate. Pass the canvas\_id returned when any of those tools spills (truncated: true). Tables are named by the spillover helper (e.g. spilled\_); use openmeteo\_dataframe\_describe to list available tables and their columns before querying.
openmeteo_geocodeResolve a place name to ranked coordinate matches with country, region, elevation, timezone, and population. Required prerequisite for name-based queries — all weather tools take latitude/longitude, not place names. Search by a bare place name (city, region, or landmark); never fold a qualifier into it — pass "Baoding", not "Baoding Hebei", and "Paris", not "Paris, France". To disambiguate places that share a name, set the country input (ISO 3166-1 alpha-2, e.g. "US") and/or read the admin1 and country fields on each ranked result — admin1 is a result field for choosing among matches, not a search input. Returns up to 10 matches ranked by population/relevance.
openmeteo_get_air_qualityModeled CAMS (Copernicus Atmosphere Monitoring Service) air quality forecast: PM2.5, PM10, nitrogen dioxide, sulphur dioxide, ozone, carbon monoxide, dust, pollen, and European/US AQI indices. This is modeled grid data, not measured station readings — for measured data, use openaq-mcp-server. Forecast only (no historical archive). Common variables: pm2\_5, pm10, carbon\_monoxide, nitrogen\_dioxide, sulphur\_dioxide, ozone, dust, european\_aqi, us\_aqi, alder\_pollen, birch\_pollen, grass\_pollen, mugwort\_pollen, olive\_pollen, ragweed\_pollen.
openmeteo_get_climateLong-range climate projections from bias-corrected daily CMIP6 models, covering 1950-01-01 to 2050-12-31 at any coordinate. Answers "what will conditions look like through 2050?" — the future-projection counterpart to openmeteo\_get\_historical (ERA5, what happened). Daily resolution only. Available models: "CMCC\_CM2\_VHR4", "FGOALS\_f3\_H", "HiRAM\_SIT\_HR", "MRI\_AGCM3\_2\_S", "EC\_Earth3P\_HR", "MPI\_ESM1\_2\_XR", "NICAM16\_8S". With 2+ models each variable appears once per model with the model name as suffix (e.g. temperature\_2m\_max\_CMCC\_CM2\_VHR4); a single or omitted model returns plain variable names. Not all models carry all variables — missing combinations return null. Multi-decade daily pulls across several models produce thousands of records and spill to DataCanvas for SQL querying when canvas is enabled.
openmeteo_get_elevationTerrain elevation from the Copernicus Digital Elevation Model (\~90m resolution) for one or more coordinate pairs. Accepts up to 100 pairs per call. Useful for geographic context, elevation-adjusted weather interpretation, or route planning.
openmeteo_get_ensembleProbabilistic ensemble weather forecast — up to 51 ensemble members, up to 16 days ahead with optional past\_days (0–92). Each member's values appear as separate columns named with a member suffix (e.g. temperature\_2m\_member01, temperature\_2m\_member02). Use the spread across members to compute exceedance probabilities, quantify forecast uncertainty, and build decision thresholds. Available models: "ecmwf\_ifs025" (51 members, global, 0.25°), "gfs025" (31 members, global, 0.25°), "icon\_seamless" (40 members, global/Europe blend), "gem\_global" (21 members, global, 0.25°). Omit models to use the API default blend. Large multi-member, multi-day pulls produce thousands of records and spill to DataCanvas when canvas is enabled. At least one of hourly\_variables or daily\_variables is required.
openmeteo_get_floodGloFAS (Global Flood Awareness System) river discharge forecast and historical reanalysis. Returns daily ensemble river discharge (m³/s) for the river nearest to the given coordinates — no river ID needed, the API snaps to the nearest stream. Forecast horizon up to 210 days ahead; reanalysis history back to 1984-01-01. Use start\_date/end\_date for historical pulls and forecast\_days for future forecasts; both can be combined. Available daily variables: "river\_discharge" (ensemble mean), "river\_discharge\_mean", "river\_discharge\_min", "river\_discharge\_max", "river\_discharge\_median", "river\_discharge\_p25" (25th percentile), "river\_discharge\_p75" (75th percentile). Returns null for coordinates far from any river or in areas without GloFAS coverage.
openmeteo_get_forecastWeather forecast for coordinates: hourly and/or daily variables for up to 16 days ahead, with optional past\_days (up to 92) for recent history. Use past\_days instead of openmeteo\_get\_historical for dates within the last 1–5 days, since ERA5 has a variable lag. Returns per-timestamp records — each hourly entry contains a "time" field (ISO 8601) plus one key per requested variable; each daily entry contains a "time" field (YYYY-MM-DD) plus requested variables. Common hourly variables: temperature\_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\_2m. Common daily variables: temperature\_2m\_max, temperature\_2m\_min, precipitation\_sum, wind\_speed\_10m\_max, sunrise, sunset, uv\_index\_max, precipitation\_hours, weather\_code. At least one of hourly\_variables or daily\_variables is required.
openmeteo_get_historicalHistorical weather from the ERA5 reanalysis archive (1940–present). Requires start\_date and end\_date (ISO 8601 date, e.g., "2024-07-01"). ERA5 has a variable lag of up to \~5 days — for dates within the last week, use openmeteo\_get\_forecast with past\_days instead. Uses the same variable names as the forecast API for direct comparison. Large date ranges (multi-year hourly) produce thousands of records — these spill to DataCanvas for SQL querying when canvas is enabled. At least one of hourly\_variables or daily\_variables is required.
openmeteo_get_marineMarine weather forecast for a coastal or ocean coordinate: wave height, wave period, wave direction, wind-wave height, swell height, sea-surface temperature. Forecast horizon up to 7 days. Returns per-timestamp records — each entry contains a "time" field plus one key per requested variable. Best for open-ocean and coastal exposed points — sheltered inland waters return near-zero wave values. 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. Common daily: wave\_height\_max, wave\_direction\_dominant, wave\_period\_max. Note: ocean\_current\_velocity is null for non-open-ocean coordinates.