
KNMI Weather MCP
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.
wolkwork
Tools
get_location_weather
Get current weather data for a location
search_location
Search for locations in the Netherlands Args: query: Search term for location
get_nearest_station
Find the nearest KNMI weather station to given coordinates Args: latitude: Latitude in degrees longitude: Longitude in degrees
what_is_the_weather_like_in
Get and interpret weather data for a location in the Netherlands Args: location: City or place name in the Netherlands Returns: A natural language interpretation of the current weather conditions
README
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.
<a href="https://glama.ai/mcp/servers/xanerdcjsm"> <img width="380" height="200" src="https://glama.ai/mcp/servers/xanerdcjsm/badge" alt="KNMI Weather MCP server" /> </a>
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)
uv
package manager
Installation
-
Clone the repository:
git clone <repository-url> cd knmi-mcp
-
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
Recommended Servers
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
DuckDuckGo MCP Server
A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.
YouTube Transcript MCP Server
This server retrieves transcripts for given YouTube video URLs, enabling integration with Goose CLI or Goose Desktop for transcript extraction and processing.
serper-search-scrape-mcp-server
This Serper MCP Server supports search and webpage scraping, and all the most recent parameters introduced by the Serper API, like location.
The Verge News MCP Server
Provides tools to fetch and search news from The Verge's RSS feed, allowing users to get today's news, retrieve random articles from the past week, and search for specific keywords in recent Verge content.
Google Search Console MCP Server
A server that provides access to Google Search Console data through the Model Context Protocol, allowing users to retrieve and analyze search analytics data with customizable dimensions and reporting periods.
Crypto Price & Market Analysis MCP Server
A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.
MCP PubMed Search
Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.
dbt Semantic Layer MCP Server
A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.