KNMI Weather MCP
A FastMCP server that provides real-time weather data from KNMI (Royal Netherlands Meteorological Institute) weather stations. This application fetches the latest 10-minute measurements from the nearest weather station to any location in the Netherlands.
Features
- Get weather data for any location in the Netherlands
- Automatically finds the nearest KNMI weather station
- Provides real-time measurements including:
- Temperature
- Humidity
- Wind speed and direction
- Precipitation
- Visibility
- Air pressure
- Natural language interpretation of weather conditions
- Location search functionality
- Detailed logging
Prerequisites
- Python 3.10 or higher
- KNMI API Key (get one from KNMI Data Platform)
uvpackage manager
Installation
Clone the repository:
git clone <repository-url> cd knmi-mcpCreate a
.envfile in the project root:KNMI_API_KEY=your_api_key_here
Running the Server
Using Claude AI
To use this application with Claude AI, run the following command in the folder of the project:
uv run fastmcp install src/knmi_weather_mcp/server.py
This will add the following configuration to your Claude configuration file (typically located at ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"KNMI Weather": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"--with",
"httpx",
"--with",
"netCDF4",
"--with",
"numpy",
"--with",
"pandas",
"--with",
"pydantic",
"--with",
"python-dotenv",
"--with",
"xarray",
"fastmcp",
"run",
"/Users/<username>/<git location>/knmi-mcp/src/knmi_weather_mcp/server.py"
]
}
}
Note: If you see an error like this:
spawn uv ENOENT
Replace the uv command with the full path to the uv command. On *nix systems this can be found with the command which uv.
Manual Running
For development or standalone usage:
uv run fastmcp run src/knmi_weather_mcp/server.py
Available Tools
1. what_is_the_weather_like_in
Get a natural language interpretation of current weather conditions for any location in the Netherlands.
Example:
await what_is_the_weather_like_in("Amsterdam")
2. get_location_weather
Get raw weather data for a location.
Example:
await get_location_weather("Rotterdam")
3. search_location
Search for locations in the Netherlands.
Example:
await search_location("Utrecht")
4. get_nearest_station
Find the nearest KNMI weather station to given coordinates.
Example:
await get_nearest_station(52.3676, 4.9041)
Logging
The application logs are stored in the logs/knmi_weather.log file, providing detailed information about:
- API requests and responses
- Weather data processing
- Error messages
- Debug information
Data Sources
This application uses the KNMI Data Platform API to fetch data from the “Actuele10mindataKNMIstations” dataset, which provides 10-minute interval measurements from all KNMI weather stations in the Netherlands.
Error Handling
The application includes robust error handling for:
- Invalid locations
- API authentication issues
- Network problems
- Data parsing errors
- Missing measurements
KNMI Weather
Project Details
- wolkwork/knmi-mcp
- MIT License
- Last Updated: 4/7/2025
Recomended MCP Servers
MCP server for programmatically creating and managing n8n workflows
An MCP server that autonomously evaluates web applications.
MCP Tools for Jehovah's Witnesses
MCP server for HTML file preview and analysis - Has been weird with OS but good on Cline...
Slide Captcha for React by Typescript
Use Figma in a MCP with Chunking Support
MCP for Odoo





