# open-meteo-mcp

An MCP server for global weather data via the [Open-Meteo API](https://open-meteo.com/). No API key required.

## Tools

### get_current_weather
Returns current conditions for a given latitude/longitude:
- Temperature and "feels like"
- Humidity, wind speed/direction/gusts
- Precipitation, cloud cover, pressure
- WMO weather code decoded to plain English

### get_forecast
Returns a multi-day forecast (1-16 days) for a given latitude/longitude:
- Daily high/low temperatures
- Precipitation totals and probability
- Wind speed, gusts, and dominant direction
- Sunrise/sunset times
- Supports celsius or fahrenheit

## Setup

Requires Python 3.10+ and [Poetry](https://python-poetry.org/).

```sh
cd /data/Projects/open_meteo_mcp
poetry install
```

## Usage

### Stdio (for Claude Code)

```sh
.venv/bin/open-meteo-mcp-stdio
```

Add to `~/.claude/settings.json`:

```json
"open_meteo": {
  "type": "stdio",
  "command": "/data/Projects/open_meteo_mcp/.venv/bin/open-meteo-mcp-stdio",
  "args": [],
  "env": {}
}
```

### Streamable HTTP

```sh
.venv/bin/open-meteo-mcp
```

Starts on `http://127.0.0.1:8000/mcp` by default.

## Data Source

All weather data comes from [Open-Meteo](https://open-meteo.com/), which aggregates national weather services worldwide. Free for non-commercial use.
