statline-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STATLINE_CACHE_DIR | No | Cache directory (default `~/.cache/statline-mcp`) | ~/.cache/statline-mcp |
| STATLINE_CATALOG_MAX_AGE_HOURS | No | Maximum age of the catalog cache (default 24) | 24 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_tablesA | Doorzoek de CBS-catalogus (ca. 6000 tabellen) op titel en beschrijving. Zoektermen worden als voorvoegsel gematcht (bv. 'werkloos' vindt 'werkloosheid'); alle termen moeten voorkomen, anders valt de zoekactie terug op 'minstens één term'. Een tabel-ID (bv. '83765NED') kan ook direct worden opgegeven. Args: query: Zoektekst, bv. 'huizenprijzen gemeente' of 'unemployment'. language: Beperk tot Nederlandstalige ('nl') of Engelstalige ('en') tabellen. include_discontinued: Neem ook stopgezette tabellen mee (standaard alleen actuele). limit: Maximaal aantal resultaten (1-50). offset: Aantal resultaten om over te slaan (voor volgende pagina). |
| get_table_infoA | Beschrijving van één tabel plus zijn dimensies (waar je op filtert) en aantal meetwaarden. Dit is het startpunt om door een tabel te navigeren. Gebruik daarna get_table_measures voor de kolommen en list_dimension_values voor de waarden van een dimensie. Args: table_id: Tabel-ID zoals '83765NED' of '85874ENG'. full_description: Voeg de lange officiële toelichting toe (kan veel tekst zijn). |
| get_table_measuresA | Lijst de meetwaarden (kolommen met cijfers) van een tabel, met eenheid en onderwerpgroep. Args: table_id: Tabel-ID. search: Filter op tekst in titel, sleutel, groep of omschrijving. limit: Maximaal aantal meetwaarden (1-200). offset: Aantal over te slaan (paginering). |
| list_dimension_valuesA | Lijst de geldige waarden van een dimensie (bv. regio's, perioden, geslacht, bedrijfstakken). De 'key' kun je gebruiken in query_data.filters. Perioden-sleutels hebben vorm als '2023JJ00' (jaar), '2023KW01' (kwartaal), '2023MM01' (maand). Args: table_id: Tabel-ID. dimension: Dimensie-sleutel of -titel uit get_table_info (bv. 'Perioden', 'RegioS'). search: Filter op tekst in sleutel, titel of groep (bv. 'amsterdam'). limit: Maximaal aantal waarden (1-500). offset: Aantal over te slaan (paginering). |
| query_dataA | Haal cijfers op uit een CBS-tabel. Filters per dimensie accepteren: een sleutel ('GM0363'), een titel ('Amsterdam'), een voorvoegsel met sterretje ('2023*' = alle perioden van 2023), of 'laatste' / 'laatste:5' voor de meest recente 1 resp. 5 waarden. Bij een tijddimensie met gemengde perioden (jaar + kwartaal) voeg je een type toe: 'laatste:4kw' (4 kwartalen), 'laatste:3jaar', 'laatste:12maand'. Meerdere waarden in een lijst worden met OF gecombineerd, verschillende dimensies met EN. Een dimensie zonder filter levert alle waarden op. Voorbeeld: filters={"RegioS": ["Amsterdam", "Utrecht"], "Perioden": "laatste:3"}, measures=["Werkloosheid"]. Args: table_id: Tabel-ID. filters: {dimensie: waarde(n)}. Zie list_dimension_values voor geldige waarden. measures: Meetwaarden (sleutel of (deel van) titel). Standaard de eerste 10. limit: Maximaal aantal rijen per aanroep (1-1000). offset: Aantal rijen om over te slaan (paginering). labels: Toon dimensiewaarden als titel (standaard), sleutel of beide. odata_filter: Extra ruwe OData $filter-expressie (voor gevorderd gebruik), met AND toegevoegd. |
| refresh_catalogA | Toon de status van de lokale cataloguscache en ververs hem desgewenst. De catalogus wordt automatisch ververst als hij ouder is dan 24 uur. Args: force: Haal de catalogus nu opnieuw op bij het CBS. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct stage of the CBS data workflow: cache refresh, catalog search, table metadata, measure listing, dimension values, and data querying. Although several tools take a table_id, their purposes are clearly separated by descriptions and expected outputs.
All tool names use snake_case and follow a predictable verb_noun pattern: refresh_catalog, search_tables, get_table_info, get_table_measures, list_dimension_values, query_data. There is no mixing of conventions.
Six tools cleanly cover the full read-only pipeline from dataset discovery to data retrieval. The count is well-scoped, with no redundant or missing steps for the server's apparent purpose.
The surface covers catalog refresh, search, table metadata, dimensions, measures, and data querying, which are the essential operations for CBS StatLine access. No obvious lifecycle gaps remain for a read-only statistical data server.