Skip to main content
Glama
Tdh25

CBS Open Data MCP Server

by Tdh25

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_catalogsA

Fetch all available CBS catalogs.

Returns: dict[str, Any]: Count and list of catalogs.

query_datasetsA

Search datasets with OData filtering, sorting, and pagination.

RECOMMENDATION: use filter with contains() instead of search. The CBS $search often returns irrelevant results. Example: filter="contains(Title,'warmte')" or filter="contains(Title,'energie') and contains(Title,'verbruik')".

Args: catalog: Catalog identifier, typically CBS. select: OData $select. filter: OData $filter -- use contains() for title search. orderby: OData $orderby. top: OData $top. skip: OData $skip. count: OData $count. search: OData $search (UNRELIABLE -- use filter instead). expand: OData $expand. exclude_discontinued: Prepend a default filter to exclude discontinued datasets.

Returns: dict[str, Any]: Query info and dataset results.

get_dimensionsA

Fetch all dimensions for a dataset.

Args: catalog: Catalog identifier. dataset: Dataset identifier.

Returns: dict[str, Any]: Table of dimensions and labels per dimension.

get_dimension_valuesA

Fetch values for a specific dimension.

WARNING: this endpoint returns 404 on most CBS datasets. Prefer get_dimensions(), which already resolves all dimension codes and labels via the reliable {dim}Codes endpoints.

Args: catalog: Catalog identifier. dataset: Dataset identifier. dimension: Dimension identifier. select: OData $select. filter: Additional OData $filter. orderby: OData $orderby. top: OData $top.

Returns: dict[str, Any]: Count and dimension values.

get_observationsA

Fetch observations with automatic pagination.

Automatically follows @odata.nextLink to retrieve all pages. With resolve_labels=True, dimension and measure codes are replaced with human-readable labels.

Args: catalog: Catalog identifier. dataset: Dataset identifier. filters: Dimension filters (key=dimension, value=code). paginate: Fetch all pages (True) or just one page (False). resolve_labels: Replace codes with labels (True) or keep raw codes (False, faster). limit: Maximum number of observations (safety limit).

Returns: dict[str, Any]: Observation result.

query_observationsB

Query observations with advanced OData options.

Args: catalog: Catalog identifier. dataset: Dataset identifier. select: OData $select. filter: OData $filter. orderby: OData $orderby. top: OData $top. skip: OData $skip. count: OData $count. search: OData $search. expand: OData $expand.

Returns: dict[str, Any]: Query info and observation results.

get_metadataA

Fetch the OData metadata document (EDM schema).

Note: This returns the catalog-wide schema, not dataset-specific metadata. Use get_dataset_info() for metadata of a single dataset.

Returns: dict[str, str]: Metadata as an XML string.

get_dataset_infoA

Fetch metadata for a single specific dataset.

Returns title, description, status, last modification date, and more. Use this to quickly check whether a dataset is relevant.

Args: catalog: Catalog identifier. dataset: Dataset identifier (e.g. '85523NED').

Returns: dict[str, Any]: Dataset metadata.

get_measure_codesA

Fetch measure code definitions for a dataset.

Measures are the columns containing actual measurement values in observations. Each measure has an Identifier (code) and Title (label).

Args: catalog: Catalog identifier. dataset: Dataset identifier.

Returns: dict[str, Any]: Count and list of measure codes.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tdh25/cbs-open-data_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server