DWD MCP Server
Integrates with OpenStreetMap's Nominatim API to provide geocoding capabilities, allowing the server to resolve location names into coordinates for accurate weather data retrieval.
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 Server What's the current weather and forecast for Berlin?"
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 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 summariesWeather Alerts (
get_weather_alerts) - Official DWD warnings (storm, thunderstorm, frost, etc.)Weather Stations (
find_weather_station) - Find nearest DWD stations
Related MCP server: mcp-danish-weather
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 devWith 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 startIntegrate 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 startMCP 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 coordinatesdays(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:
Direct coordinates:
"50.7753,6.0839"or"50.7753, 6.0839"German cities:
"Aachen","Munich","Cologne"(approx. 100 cities included)Nominatim fallback: For unknown locations, OpenStreetMap/Nominatim is queried
Tests
# With uv
uv run pytest
# With pytest directly
pytestTechnology 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
Weather data: DWD Open Data
API: Bright Sky
Geocoding: Nominatim/OpenStreetMap
Available Tools
4 toolsfind_weather_stationC
Nächstgelegene DWD-Wetterstationen finden.
Gibt eine Liste der Wetterstationen in der Nähe des angegebenen Ortes zurück, inklusive Stationsname, ID und Entfernung.
Inputs: location (required). Returns: result
get_current_weatherA
Aktuelles Wetter für einen Ort abrufen.
Gibt Temperatur, Luftfeuchtigkeit, Wind, Niederschlag, Bewölkung und weitere aktuelle Wetterdaten zurück.
Inputs: location (required). Returns: result
get_weather_alertsA
Amtliche Wetterwarnungen abrufen.
Gibt aktuelle Wetterwarnungen des DWD zurück, inklusive Warntyp, Schweregrad, Beschreibung und Gültigkeitszeitraum. Kann für einen bestimmten Ort oder deutschlandweit abgefragt werden.
Inputs: location. Returns: result
get_weather_forecastB
Wettervorhersage für einen Ort abrufen.
Gibt stündliche Vorhersagedaten sowie eine Tageszusammenfassung mit Minimal-/Maximaltemperaturen und Niederschlagssummen zurück.
Inputs: location (required), days. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose with no overlap: find_weather_station locates stations, get_current_weather provides current conditions, get_weather_alerts retrieves warnings, and get_weather_forecast gives predictions. The descriptions reinforce these distinct functions, making misselection unlikely.
All tool names follow a consistent verb_noun pattern using snake_case: find_weather_station, get_current_weather, get_weather_alerts, and get_weather_forecast. The verbs 'find' and 'get' are appropriately used for different actions, maintaining a predictable naming convention throughout.
With 4 tools, this server is well-scoped for a weather data service, covering key operations: locating stations, retrieving current weather, accessing alerts, and obtaining forecasts. Each tool earns its place without being excessive or insufficient for the domain.
The tool set provides complete coverage for a weather server, including station lookup, current conditions, warnings, and forecasts. There are no obvious gaps; agents can perform typical weather-related tasks without dead ends, ensuring effective workflow support.
Maintenance
Related MCP Connectors
Global weather via Open-Meteo: forecast, historical, marine, air quality, geocoding, elevation.
Current weather and 7-day forecast for any place (MET Norway). $0.006/call via x402.
Current weather and forecast lookup as an agent tool.
Weather forecasts from MET Norway (Yr): geocoding plus hourly forecasts worldwide.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides weather data integration using the OpenWeatherMap API, enabling users to fetch current weather conditions, hourly and daily forecasts, weather alerts, and geocoding services for any location worldwide.194 npmMIT
- AlicenseAqualityDmaintenanceProvides access to Danish weather data from the Danish Meteorological Institute, enabling users to retrieve current conditions, hourly forecasts, and historical records. It supports location lookups via city names, postal codes, and coordinates for any Danish region.39 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides real-time weather and forecasts via Open-Meteo, supporting queries by coordinates or city name.16 PyPI-
- AlicenseNot gradedqualityDmaintenanceEnables access to German weather data from the Deutscher Wetterdienst, including station observations, forecasts, and warnings, through standardized MCP tools.1MIT