MCP server/other

DWD MCP Server

Access German Weather Service data via the Bright Sky API

jimimatt/dwd-mcp-server ↗by jimimattupdated
Manual setup required. The maintainer's config contains paths only you know - edit the placeholders below before adding it to Claude Code.
1

Prepare the server locally

Run this once before adding it to Claude Code.

uv sync
2

Register it in Claude Code

claude mcp add dwd-mcp-server -- uv --directory /path/to/dwd-mcp-server run dwd-mcp-server start

Replace any placeholder paths in the command with the real path on your machine.

3

Make your agent remember this setup

dwd-mcp-server's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.

npx conare@latest

Free · one command · indexes the sessions already on disk. Set up in the browser instead →

What it does

  • Retrieves real-time weather data including temperature, wind, and precipitation
  • Provides hourly and daily weather forecasts
  • Fetches official DWD weather warnings and alerts
  • Locates nearest weather stations using city names or coordinates
  • Supports geocoding via built-in city table and Nominatim fallback

Tools 4

get_current_weatherGet current weather for a location.
get_weather_forecastGet weather forecast for a location.
get_weather_alertsGet official weather alerts.
find_weather_stationFind nearest DWD weather stations.

Try it

What is the current weather in Munich?
Give me a 3-day weather forecast for Aachen.
Are there any active weather alerts for Germany right now?
Find the nearest DWD weather station to my current coordinates 50.7753, 6.0839.
Original README from jimimatt/dwd-mcp-server

DWD MCP Server

An MCP server (Model Context Protocol) for weather data from the German Weather Service (DWD) via Bright Sky API.

Features

  • Current Weather (get_current_weather) - Temperature, wind, precipitation, cloud cover, etc.
  • Weather Forecast (get_weather_forecast) - Hourly forecasts and daily summaries
  • Weather Alerts (get_weather_alerts) - Official DWD warnings (storm, thunderstorm, frost, etc.)
  • Weather Stations (find_weather_station) - Find nearest DWD stations

Installation

With uv (recommended)

# Clone repository
git clone https://github.com/your-username/dwd-mcp-server.git
cd dwd-mcp-server

# Install dependencies
uv sync

# Development dependencies (optional)
uv sync --extra dev

With pip

pip install -e .

# With development dependencies
pip install -e ".[dev]"

Usage

Start as MCP server

# With uv
uv run dwd-mcp-server start

# Or directly with Python
python -m dwd_mcp_server.cli start

Integrate with Claude Desktop

Add the following configuration to your Claude Desktop config.json:

{
  "mcpServers": {
    "dwd-weather": {
      "command": "uv",
      "args": ["--directory", "/path/to/dwd-mcp-server", "run", "dwd-mcp-server", "start"]
    }
  }
}

Integrate with Claude Code

claude mcp add dwd-weather -- uv --directory /path/to/dwd-mcp-server run dwd-mcp-server start

MCP Tools

`get_current_weather`

Get current weather for a location.

Parameters:

  • location (string, required): City name (e.g., "Aachen", "Munich") or coordinates (e.g., "50.7753,6.0839")

Example response:

{
  "timestamp": "Sat, 15.02.2026 14:00",
  "temperature_c": 8.2,
  "feels_like_c": 5.5,
  "humidity_percent": 78,
  "wind_speed_kmh": 22.3,
  "wind_direction": "W",
  "precipitation_mm": 0.0,
  "cloud_cover_percent": 75,
  "condition": "cloudy",
  "station_name": "Aachen-Orsbach"
}

`get_weather_forecast`

Get weather forecast for a location.

Parameters:

  • location (string, required): City name or coordinates
  • days (integer, optional): Number of days (1-10, default: 3)

Returns: Hourly data and daily summaries with min/max temperatures.

`get_weather_alerts`

Get official weather alerts.

Parameters:

  • location (string, optional): City name or coordinates. If omitted: all alerts for Germany.

Returns: List of active alerts with type, severity, description, and validity period.

`find_weather_station`

Find nearest DWD weather stations.

Parameters:

  • location (string, required): City name or coordinates

Returns: List of stations with name, ID, and distance.

Geocoding

The server accepts various location inputs:

  1. Direct coordinates: "50.7753,6.0839" or "50.7753, 6.0839"
  2. German cities: "Aachen", "Munich", "Cologne" (approx. 100 cities included)
  3. Nominatim fallback: For unknown locations, OpenStreetMap/Nominatim is queried

Tests

# With uv
uv run pytest

# With pytest directly
pytest

Technology Stack

  • MCP Framework: mcp Python SDK (FastMCP)
  • HTTP Client: httpx (async)
  • Data Source: Bright Sky API (DWD Open Data)
  • Geocoding: Built-in city table + Nominatim fallback

License

MIT

Data Sources

Frequently Asked Questions

What are the key features of DWD MCP Server?

Retrieves real-time weather data including temperature, wind, and precipitation. Provides hourly and daily weather forecasts. Fetches official DWD weather warnings and alerts. Locates nearest weather stations using city names or coordinates. Supports geocoding via built-in city table and Nominatim fallback.

What can I use DWD MCP Server for?

Planning outdoor activities based on accurate local weather forecasts. Monitoring severe weather conditions and official alerts in Germany. Integrating hyper-local weather data into automated workflows. Finding the most relevant DWD weather station for specific geographic locations.

How do I install DWD MCP Server?

Install DWD MCP Server by running: uv sync

What MCP clients work with DWD MCP Server?

DWD MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep DWD MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest