dwd-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dwd-mcp What's the weather forecast for Berlin this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
dwd-mcp 🌤️
mcp-name: io.github.mohammad-abbasi-sh/dwd-mcp
Unofficial read-only MCP server for DWD (Deutscher Wetterdienst) — German weather from the Deutscher Wetterdienst (DWD): ICON-model forecasts and current conditions via Open-Meteo, official DWD severe-weather warnings, and pollen counts. No key, no login.
Built by Mohammad Abbasi as part of the "Germany MCP factory". Not affiliated with DWD (Deutscher Wetterdienst).
For AI agents
Add to your MCP client config (stdio):
{
"mcpServers": {
"dwd": {
"command": "uvx",
"args": ["dwd-mcp==0.1.0"]
}
}
}Or run locally: python -m dwd_mcp.server (needs mcp<2, httpx).
Related MCP server: Weather MCP Server
Tools
Tool | Description |
| ICON-model forecast (hourly + daily) — |
| Current conditions — |
| Official DWD warnings — |
| Pollen counts by type — |
| Geocode German places — |
| Reachability probe (ok / blocked / error) — one polite request |
Notes
Forecasts and current conditions come from the DWD ICON model via Open-Meteo (api.open-meteo.com) — the DWD's own numerical model, free, no key.
dwd_warningsreads the official DWD warnapp feed (www.dwd.de/DWD/warnungen/warnapp/json/warnings.json) — awarnWetter.loadWarnings({...});JSONP wrapper, stripped here. Warnings are sorted by level (highest first).dwd_pollenis CAMS pollen data via the Open-Meteo air-quality API, not DWD data — the tool output says so. DWD publishes no public pollen JSON (verified 2026-11-10: the warnapp pollen path is a 404).Daily station observations (CDC) are intentionally out of scope — pipeworx-io/mcp-dwd-climate already covers them in the official registry.
Tests: 22/22 green (15 offline + 7 live, 2026-11-10).
Development
python3 -m venv .venv && .venv/bin/pip install "mcp<2" httpx pytest
.venv/bin/pip install -e .
.venv/bin/python -m pytest tests/ -qLicense
MIT
Built by Mohammad Abbasi — Almanibama · mabbasi.ir
Available Tools
6 toolsdwd_current_weatherA
Current DWD ICON conditions for a German place: temperature, humidity, apparent temperature, wind speed/direction, weather. place: e.g. "Berlin" or "Hamburg".
Inputs: place. Returns: result
dwd_find_placeA
Find German places by name and return coordinates. query: e.g. "MĂĽnchen" or "Freiburg". German hits first.
Inputs: query (required). Returns: result
dwd_forecastA
DWD ICON-model forecast for a German place: current conditions, hourly (temperature, precipitation probability, wind, weather) and daily (min/max, precipitation probability, sunrise/sunset). place: e.g. "Berlin" or "MĂĽnchen". days: 1..7 (default 3).
Inputs: days, place. Returns: result
dwd_healthA
Check whether the DWD weather sources are reachable right now.
Returns status ok (HTTP 200), blocked (HTTP 403/429 — bot wall or rate limit) or error, plus the HTTP status and the probed URL. One polite request; it does not fetch any listings.
Inputs: no named parameters. Returns: result
dwd_pollenA
Pollen counts for a German place, by type (alder, birch, grass, mugwort, ragweed, olive) — hourly plus per-day maximum. NOTE: pollen data comes from CAMS via the Open-Meteo air-quality API, not from DWD. place: e.g. "Berlin". days: 1..7 (default 2).
Inputs: days, place. Returns: result
dwd_warningsA
Official DWD severe-weather warnings, newest/highest level first. state: filter by Bundesland — German name ("Bayern"), short code ("BY") or region substring ("Kassel"); empty = all of Germany. min_level: 1..4 (default 1).
Inputs: state, min_level. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct data type (warnings, pollen, place lookup, current conditions, health, forecast), so selection is mostly unambiguous. The only fuzziness is dwd_current_weather vs dwd_forecast, since the forecast also returns current conditions, but the descriptions make the hourly/daily emphasis clear.
Every tool uses the same dwd_ prefix with a snake_case noun/verb phrase (dwd_current_weather, dwd_find_place), giving a perfectly predictable pattern. No mixed conventions appear.
Six tools is a tight, well-scoped surface for a German weather server, with each tool earning its place. Nothing feels padded or missing at the catalog level.
The surface covers warnings, pollen, place resolution, current conditions, forecast, and source health — a solid lifecycle for weather queries. Minor gaps exist: no historical/archive data, no station-observed measurements, and warnings can only be filtered by state rather than by resolved place coordinates.
Maintenance
Related MCP Connectors
Weather, air quality and nearest live sensors anywhere, each with a signed receipt. Free, no key.
Global weather via Open-Meteo: forecast, historical, marine, air quality, geocoding, elevation.
Weather forecast for any city, UV index, sunrise and sunset, pollen and air quality. Free, no key.
Weather forecasts from MET Norway (Yr): geocoding plus hourly forecasts worldwide.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides access to German Weather Service (DWD) data via the Bright Sky API, including current conditions, forecasts, and official weather alerts. Users can retrieve weather information and locate stations using either city names or geographic coordinates.4MIT
- AlicenseNot gradedqualityDmaintenanceProvides weather data including current conditions, daily forecasts up to 16 days, and hourly forecasts up to 7 days, using the free Open-Meteo API with no API key required.1MIT
- FlicenseBqualityDmaintenanceProvides weather data including US alerts, US forecasts, and global 5-day forecasts without requiring any API keys.31-
- AlicenseAqualityDmaintenanceProvides hourly and daily weather forecasts using the free Open-Meteo API without requiring an API key.215 npmMIT