KNMI Weather MCP

by wolkwork

Integrations

  • The MCP server uses .ENV for managing environment variables, particularly for storing the KNMI API key.

  • The MCP server utilizes NumPy for numerical operations in processing weather data.

  • The MCP server uses pandas for data manipulation and analysis of weather information.

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

Installation

  1. Clone the repository:
    git clone <repository-url> cd knmi-mcp
  2. Create a .env file 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

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A FastMCP server that provides real-time weather data from KNMI weather stations, allowing users to access temperature, humidity, wind speed, and other weather metrics for any location in the Netherlands through natural language queries.

  1. Features
    1. Prerequisites
      1. Installation
        1. Running the Server
          1. Using Claude AI
          2. Manual Running
        2. Available Tools
          1. 1. what_is_the_weather_like_in
          2. 2. get_location_weather
          3. 3. search_location
          4. 4. get_nearest_station
        3. Logging
          1. Data Sources
            1. Error Handling

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                Provides current weather and air quality data for any city using WeatherAPI, easily integrating with MCP clients like n8n and Claude Desktop App.
                Last updated -
                214
                JavaScript
              • A
                security
                A
                license
                A
                quality
                An MCP server that provides real-time weather information including temperature, humidity, wind speed, and sunrise/sunset times through the OpenWeatherMap API.
                Last updated -
                1
                Python
                MIT License
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                An MCP server implementation that allows users to fetch and display weather information for specified cities, including temperature, humidity, wind speed, and weather descriptions.
                Last updated -
                Python
                • Linux
                • Apple
              • -
                security
                A
                license
                -
                quality
                An MCP server that connects to OpenWeatherMap's API to provide current weather data and multi-day forecasts for locations worldwide in different measurement units.
                Last updated -
                51
                TypeScript
                MIT License

              View all related MCP servers

              ID: xanerdcjsm