KNMI Weather
STDIOFastMCP server providing real-time weather data from KNMI weather stations in Netherlands.
FastMCP server providing real-time weather data from KNMI weather stations in Netherlands.
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.
uv
package managerClone the repository:
git clone <repository-url> cd knmi-mcp
Create a .env
file in the project root:
KNMI_API_KEY=your_api_key_here
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
.
For development or standalone usage:
uv run fastmcp run src/knmi_weather_mcp/server.py
Get a natural language interpretation of current weather conditions for any location in the Netherlands.
Example:
await what_is_the_weather_like_in("Amsterdam")
Get raw weather data for a location.
Example:
await get_location_weather("Rotterdam")
Search for locations in the Netherlands.
Example:
await search_location("Utrecht")
Find the nearest KNMI weather station to given coordinates.
Example:
await get_nearest_station(52.3676, 4.9041)
The application logs are stored in the logs/knmi_weather.log
file, providing detailed information about:
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.
The application includes robust error handling for: