dutch-gov-mcp
An unofficial MCP server providing access to Dutch government open data from data.overheid.nl, CBS statistics, and KVK business registry. Enables natural language queries for discovering datasets, inspecting metadata, and querying data without API keys or authentication.
README
dutch-gov-mcp
Unofficial MCP server for Dutch government open data. Query thousands of public datasets, official statistics, and the business registry from data.overheid.nl, CBS (Statistics Netherlands), and KVK (Chamber of Commerce) directly through AI conversation.
Inspired by France's official MCP server for data.gouv.fr — the first government MCP server. This project brings the same playbook to the Netherlands.
No API key. No auth. 14 tools. Drop it into Claude Desktop and ask.
What you can do
Ask an AI things like:
- "What datasets are available about housing prices in the Netherlands?"
- "Show me CBS population statistics — what's the dataset identifier and what dimensions does it have?"
- "Which Dutch government organizations publish environmental data?"
- "Query CBS dataset 83765NED for the first 20 observations about Amsterdam neighborhoods."
- "Find unemployment data on both data.overheid.nl and CBS and compare what's available."
The agent discovers datasets, inspects metadata, and queries rows — all through natural conversation.
Data sources
data.overheid.nl — National Open Data Portal (7 tools)
CKAN-based catalog of thousands of public datasets: tax, real estate, environment, transport, health. CC-0 licensed metadata.
| Tool | Purpose |
|---|---|
search_datasets |
Full-text search with optional Solr filters |
get_dataset |
Full metadata for one dataset |
list_resources |
Files in a dataset |
get_resource |
Details for a specific file |
list_organizations |
Browse publishers |
get_organization |
Details for one publisher |
list_tags |
Browse available tags |
CBS — Centraal Bureau voor de Statistiek (5 tools)
Official Dutch statistics via OData v4: population, economy, trade, housing, labor.
| Tool | Purpose |
|---|---|
search_cbs_datasets |
Search the CBS catalog |
get_cbs_dataset |
Dataset metadata + dimension list |
get_cbs_dimensions |
Dimension definitions with sample values |
query_cbs_data |
Query observations with $select, $filter, pagination |
list_cbs_themes |
Browse statistical themes |
CBS datasets can contain millions of rows. query_cbs_data returns one page at a time with a next_offset hint — ask for more when you need it.
KVK — Chamber of Commerce (2 tools)
Lookup basic company info and filed financial statements by KVK number. Uses KVK's free open-data endpoints.
| Tool | Purpose |
|---|---|
lookup_company |
Basic company info by KVK number |
lookup_company_finances |
Filed financial statement metadata by KVK number |
Limitations (free dataset only):
- Lookup by 8-digit KVK number only — no search by name, location, or SBI code (that requires a paid KVK subscription)
- Only BV (private limited) and NV (public limited) companies included — no sole proprietorships, VOFs, etc.
- Postal codes truncated to the first 2 digits (privacy)
- Rate limit: 100 requests per 5 minutes
Installation
Claude Desktop (from PyPI — recommended)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"dutch-gov-mcp": {
"command": "uvx",
"args": ["dutch-mcp-server"]
}
}
}
Restart Claude Desktop. The tools appear in the MCP picker.
Claude Desktop (from source)
{
"mcpServers": {
"dutch-gov-mcp": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/dutch-gov-mcp", "run", "dutch-gov-mcp"]
}
}
}
Local development
git clone https://github.com/<you>/dutch-gov-mcp
cd dutch-gov-mcp
uv sync
uv run dutch-gov-mcp # stdio server
uv run pytest -m 'not integration'
Python 3.11+ required.
Install from PyPI
pip install dutch-mcp-server
Examples
Search data.overheid.nl:
search_datasets(query="woningen", max_results=3)
→ {"count": 482, "results": [{"name": "...", "title": "Verkoop woningen", "organization": "...", "tags": [...]}]}
CBS — find, inspect, query:
search_cbs_datasets(query="bevolking")
→ [{"Identifier": "83765NED", "Title": "Kerncijfers wijken en buurten 2017", ...}]
get_cbs_dimensions(dataset_id="83765NED")
→ [{"Identifier": "WijkenEnBuurten", "Title": "Wijken en buurten", "sample_values": [...]}]
query_cbs_data(dataset_id="83765NED", max_results=5)
→ {"rows": [...], "returned": 5, "total": 1617279, "more_available": true, "next_offset": 5}
Future data sources
Planned for future sprints:
- RDW — Vehicle registration
- Kadaster BAG — Addresses and buildings
- PDOK — Geospatial / GIS
Why this exists
France defined what "government AI readiness" looks like. Every government sits on massive public data behind unusable APIs. MCP makes that data accessible to agents. Unofficial, open-source, MIT-licensed.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.