mcp-cbs-cijfers-open-data logo

mcp-cbs-cijfers-open-data

by dstotijn

This project provides a Model Context Protocol (MCP) server for the CBS Open Data API. It allows AI tools to interact with the CBS Open Data through MCP tools.

View on GitHub

Last updated: N/A

mcp-cbs-cijfers-open-data

This project provides a Model Context Protocol (MCP) server for the CBS Open Data API. It allows AI tools to interact with the CBS Open Data through MCP tools.

Features

  • Implements a Model Context Protocol (MCP) server
  • Provides tools for interacting with the CBS Open Data:
    • List available datasets and catalogs
    • Query dataset metadata and dimensions
    • Retrieve statistical data with filtering options
    • Explore dimension values

Tools

This MCP server provides the following tools for AI assistants to interact with the CBS Open Data API:

get_catalogs

Retrieves all available CBS data catalogs.

Parameters:

  • None

query_datasets

Lists available datasets from the CBS Open Data API with advanced filtering, sorting, and pagination options.

Parameters:

  • catalog (required): Catalog identifier (use "CBS")
  • select (optional): OData $select parameter to choose specific fields
  • filter (optional): OData $filter parameter for filtering results
  • orderby (optional): OData $orderby parameter for sorting results
  • top (optional): OData $top parameter for limiting results
  • skip (optional): OData $skip parameter for pagination
  • count (optional): OData $count parameter to include count in response
  • search (optional): OData $search parameter for free-text search
  • expand (optional): OData $expand parameter to include related entities

get_dimensions

Retrieves all dimensions for a specific dataset.

Parameters:

  • catalog (required): Catalog identifier
  • dataset (required): Dataset identifier

get_dimension_values

Retrieves all values for a specific dimension with filtering and sorting options.

Parameters:

  • catalog (required): Catalog identifier
  • dataset (required): Dataset identifier
  • dimension (required): Dimension identifier
  • select (optional): OData $select parameter to choose specific fields
  • filter (optional): Additional OData $filter parameter for filtering results
  • orderby (optional): OData $orderby parameter for sorting results
  • top (optional): OData $top parameter for limiting results

get_observations

Retrieves observations from a specific dataset with optional filters.

Parameters:

  • catalog (required): Catalog identifier
  • dataset (required): Dataset identifier
  • filters (optional): Filters as key-value pairs
  • limit (optional): Maximum number of observations to return

query_observations

Queries observations with advanced OData query options to filter, sort, and shape results.

Parameters:

  • catalog (required): Catalog identifier
  • dataset (required): Dataset identifier
  • select (optional): OData $select parameter to choose specific fields
  • filter (optional): OData $filter parameter for filtering results
  • orderby (optional): OData $orderby parameter for sorting results
  • top (optional): OData $top parameter for limiting results
  • skip (optional): OData $skip parameter for pagination
  • count (optional): OData $count parameter to include count in response
  • search (optional): OData $search parameter for free-text search
  • expand (optional): OData $expand parameter to include related entities

get_metadata

Retrieves the OData service metadata document for the CBS API.

Parameters:

  • None

Requirements

Installation

Configuration for common MCP hosts (Claude Desktop, Cursor):

{
  "mcpServers": {
    "cbs-cijfers-open-data": {
      "command": "go",
      "args": ["run", "github.com/dstotijn/mcp-cbs-cijfers-open-data@latest"]
    }
  }
}

Alternatively, you can manually install the program (given you have Go installed ):

go install github.com/dstotijn/mcp-cbs-cijfers-open-data@latest

Usage

$ mcp-cbs-cijfers-open-data --help

Usage of mcp-cbs-cijfers-open-data:
  -http string
        HTTP listen address for JSON-RPC over HTTP (default ":8080")
  -sse
        Enable SSE transport
  -stdio
        Enable stdio transport (default true)

Typically, your MCP host will run the program and start the MCP server, and you don't need to manually do this. But if you want to run the MCP server manually, for instance because you want to serve over HTTP (using SSE):

Given you have your PATH environment configured to include the path named by $GOBIN (or $GOPATH/bin $HOME/go/bin if $GOBIN is not set), you can then run:

mcp-cbs-cijfers-open-data --stdio=false --sse

Which will output startup logs with the SSE transport URL:

CBS API MCP server started, using transports: [sse]
SSE transport endpoint: http://localhost:8080

© 2025 David Stotijn — This project is licensed under the Apache License 2.0