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.
Ask AI about dutch-gov-mcp
Powered by Claude Β· Grounded in docs
I know everything about dutch-gov-mcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
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
