# open-meteo-mcp-server [Health: Active]

**Category:** 🌳 Environment & Nature  
**Repository:** https://github.com/cyanheads/open-meteo-mcp-server  
**GitHub Stars:** 13  
**npm Downloads (last month):** 2027  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/open-meteo-mcp-server

## Description
Global weather via Open-Meteo: forecast, ERA5 archive, marine, air quality, geocoding, elevation.

## Tools
Capabilities this server exposes over MCP:

- **openmeteo_search_locations** — Resolve a place name to ranked coordinates with country, region, timezone, and population
- **openmeteo_get_forecast** — Current conditions and hourly/daily forecast up to 16 days, with up to 92 past days, from best match or chosen models side by side
- **openmeteo_get_historical** — Hourly/daily history from the reanalysis archive, 1940 to present
- **openmeteo_get_marine** — Wave, swell, and sea-surface conditions: current, up to 8 forecast days, or an archive range, in metric or imperial units
- **openmeteo_get_air_quality** — Modeled CAMS pollutants, pollen, and AQI: current, up to 7 forecast days, or an archive range
- **openmeteo_get_elevation** — Copernicus DEM terrain elevation: up to 1,000 coordinate pairs, the first 100 sampled per call with the rest reported for resubmission
- **openmeteo_get_ensemble** — Per-member ensemble forecast (up to 64 members, up to 35 days) for exceedance and uncertainty
- **openmeteo_get_flood** — GloFAS river discharge: a ~6-month forecast or a date range from 1984, from seamless or chosen v4 models
- **openmeteo_get_climate** — Bias-corrected daily CMIP6 projections, 1950–2050, across up to 7 models
- **openmeteo_dataframe_describe** — List the tables and columns staged on a DataCanvas
- **openmeteo_dataframe_query** — Run a read-only SQL `SELECT` against staged tables
- **openmeteo_dataframe_drop** — Remove one staged table or view from a DataCanvas (opt-in)

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "open-meteo-mcp-server": {
    "command": "npx",
    "args": ["-y","@cyanheads/open-meteo-mcp-server"]
  }
}
```

## Documentation

## What open-meteo-mcp-server does

open-meteo-mcp-server exposes Open-Meteo data through twelve MCP tools. It can resolve place names into coordinates and geographic metadata, retrieve current conditions and forecasts, read historical reanalysis data from 1940 onward, and return marine, air-quality, elevation, flood, ensemble, and climate information.

The weather tools support hourly and daily variables. Forecast requests cover up to 16 days and can include up to 92 previous days. Historical requests accept a date range beginning on 1940-01-01. Marine requests cover current conditions, forecasts of up to eight days, or archive ranges. Air-quality requests cover up to seven forecast days or archive data from August 2022.

Additional tools provide per-member ensemble results, GloFAS river-discharge forecasts and historical ranges, bias-corrected daily CMIP6 projections from 1950 through 2050, and Copernicus DEM terrain elevation.

## How it works

An MCP client sends tool calls containing coordinates or a location query, requested variables, dates, models, and unit preferences. `openmeteo_search_locations` returns ranked matches with coordinates, country, region, timezone, population, and feature information. The resulting coordinates can then be passed to the environmental data tools.

Forecast and historical responses include timestamped hourly or daily records and unit maps. Selecting multiple models adds model-specific column suffixes so results can be compared. Models without coverage may be removed from a multi-model response with a notice; if none cover the requested point, the call fails.

The DataCanvas tools operate on staged tables and views. `openmeteo_dataframe_describe` lists their tables and columns, `openmeteo_dataframe_query` runs read-only SQL `SELECT` statements, and `openmeteo_dataframe_drop` removes a selected table or view when explicitly requested.

## Setup and configuration

The package can run over STDIO or Streamable HTTP. A public hosted MCP endpoint is available at `https://open-meteo.casey...` and the project provides installation links for Claude Desktop, Cursor, and VS Code. It can also be installed through the npm package using `npx`.

No API key is required. Requests can use metric or imperial marine units, selectable temperature and wind-speed units, and Open-Meteo model selections where supported. The server also publishes an `open-meteo-guide` skill describing which tool fits common questions, including exceedance probabilities, frost, climate shifts, surf locations, river cells, and AQI timing.

## Tools and capabilities

- Search place names with country and language filters, returning up to ten ranked results.
- Retrieve current, hourly, and daily forecasts from the best match or selected models.
- Read reanalysis history, including multi-model comparisons and date ranges.
- Query marine waves, swell, sea-surface conditions, pollutants, pollen, and AQI.
- Fetch elevation for up to 1,000 coordinate pairs; up to 100 are sampled per call.
- Inspect ensemble members, river discharge, and CMIP6 climate projections.
- Describe staged DataCanvas data, run read-only SQL, or opt in to dropping a table or view.

## Limitations and notes

Forecast windows, archive coverage, and model availability differ by tool. Marine requests can return nulls for inland points, while pollen data is modeled for Europe. Some regional models have limited geographic coverage, and ERA5-based data can lag by about a week. The elevation tool reports coordinates beyond its per-call sampling limit for later submission. For recent history, the forecast tool's `past_days` option may be preferable because the historical archive can lag.

_Full upstream README: https://allmcps.com/mcp/open-meteo-mcp-server/readme_

