dutch-gov-mcp

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.

Category
Visit Server

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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

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.

Official
Featured