# open-meteo-mcp-server

Connects AI agents to Open-Meteo forecasts, historical climate data since 1940, and marine conditions. Works over HTTP or npx without any API key.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 10
- Author: cyanheads
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/cyanheads/open-meteo-mcp-server
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/open-meteo-mcp-server

## What it does

This MCP server exposes 12 specialized tools that interface with Open-Meteo endpoints. It handles place geocoding with timezone detection, fetches forecasts up to 16 days ahead, and pulls historical climate records spanning back to 1940. You also get access to ocean waves, air quality indexes, flood discharges, and terrain elevations.

Results can be staged on a DataCanvas instance for querying with read-only SQL statements. When querying weather forecasts across several weather models, the response appends model suffixes to individual data columns.

You do not need an account or token to run queries. Keep in mind that reanalysis sets like ERA5 trail behind real time by roughly five days. For recent dates within the past week, pass `past_days` to the forecast endpoint rather than searching the historical archive.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://open-meteo.caseyjhand.com/mcp`
- Environment variables: `MCP_LOG_LEVEL`, `CANVAS_PROVIDER_TYPE`, `OPENMETEO_DATAFRAME_DROP_ENABLED`, `MCP_TRANSPORT_TYPE`, `MCP_HTTP_HOST`, `MCP_HTTP_PORT`, `MCP_HTTP_ENDPOINT_PATH`, `MCP_AUTH_MODE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI: remote server**
```bash
claude mcp add --transport http open-meteo-mcp-server https://open-meteo.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
claude mcp add --env MCP_LOG_LEVEL=<MCP_LOG_LEVEL> --env CANVAS_PROVIDER_TYPE=<CANVAS_PROVIDER_TYPE> --env OPENMETEO_DATAFRAME_DROP_ENABLED=<OPENMETEO_DATAFRAME_DROP_ENABLED> --env MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> --env MCP_HTTP_HOST=<MCP_HTTP_HOST> --transport stdio open-meteo-mcp-server -- npx -y @cyanheads/open-meteo-mcp-server
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add open-meteo-mcp-server --url https://open-meteo.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
codex mcp add open-meteo-mcp-server --env MCP_LOG_LEVEL=<MCP_LOG_LEVEL> --env CANVAS_PROVIDER_TYPE=<CANVAS_PROVIDER_TYPE> --env OPENMETEO_DATAFRAME_DROP_ENABLED=<OPENMETEO_DATAFRAME_DROP_ENABLED> --env MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> --env MCP_HTTP_HOST=<MCP_HTTP_HOST> -- npx -y @cyanheads/open-meteo-mcp-server
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "open-meteo-mcp-server": {
            "url": "https://open-meteo.caseyjhand.com/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "open-meteo-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/open-meteo-mcp-server"
            ],
            "env": {
                "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
                "CANVAS_PROVIDER_TYPE": "<CANVAS_PROVIDER_TYPE>",
                "OPENMETEO_DATAFRAME_DROP_ENABLED": "<OPENMETEO_DATAFRAME_DROP_ENABLED>",
                "MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>",
                "MCP_HTTP_HOST": "<MCP_HTTP_HOST>"
            }
        }
    }
}
```
Replace <…> with your own values. 3 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "open-meteo-mcp-server": {
            "type": "http",
            "url": "https://open-meteo.caseyjhand.com/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "open-meteo-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@cyanheads/open-meteo-mcp-server"
            ],
            "env": {
                "MCP_LOG_LEVEL": "<MCP_LOG_LEVEL>",
                "CANVAS_PROVIDER_TYPE": "<CANVAS_PROVIDER_TYPE>",
                "OPENMETEO_DATAFRAME_DROP_ENABLED": "<OPENMETEO_DATAFRAME_DROP_ENABLED>",
                "MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>",
                "MCP_HTTP_HOST": "<MCP_HTTP_HOST>"
            }
        }
    }
}
```
Replace <…> with your own values. 3 more environment variables are in the server README

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http open-meteo-mcp-server https://open-meteo.caseyjhand.com/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e MCP_LOG_LEVEL=<MCP_LOG_LEVEL> -e CANVAS_PROVIDER_TYPE=<CANVAS_PROVIDER_TYPE> -e OPENMETEO_DATAFRAME_DROP_ENABLED=<OPENMETEO_DATAFRAME_DROP_ENABLED> -e MCP_TRANSPORT_TYPE=<MCP_TRANSPORT_TYPE> -e MCP_HTTP_HOST=<MCP_HTTP_HOST> open-meteo-mcp-server npx -y @cyanheads/open-meteo-mcp-server
```
Replace <…> with your own values. 3 more environment variables are in the server README

## When to use it
- Geocode city names into coordinates and timezone data
- Retrieve multi-day weather predictions across various forecast models
- Query historical climate measurements dating back to 1940
- Inspect wave conditions, air pollutant indexes, and river levels

## Example prompts
- Look up the coordinates for Tokyo and get a 7-day temperature forecast.
- Compare tomorrow's hourly precipitation between GFS and ICON for London.
- Check historical rainfall in Madrid for August 1995.

## Similar
- [weather-query](https://affpapa.org/en/nevibecode/skills/weather-query.md) — skill · 822 installs
- [earth2studio-discover](https://affpapa.org/en/nevibecode/skills/earth2studio-discover.md) — skill · 1900 installs
- [OhMyWind](https://affpapa.org/en/nevibecode/mcp/ohmywind.md) — MCP server · ★ 11
- [earth2studio-deterministic-forecast](https://affpapa.org/en/nevibecode/skills/earth2studio-deterministic-forecast.md) — skill · 1900 installs
- [pp-weather-goat](https://affpapa.org/en/nevibecode/skills/pp-weather-goat.md) — skill · 501 installs
- [Weather MCP Server](https://affpapa.org/en/nevibecode/mcp/weather-mcp-server.md) — MCP server · ★ 60

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
