Skip to main content
Glama

Belgium Data Desk

Server Details

Belgian official open data: dataset search, Statbel figures, air, rivers, weather and trains.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
vecture-be/belgium-data-desk
GitHub Stars
0
Server Listing
belgium-open-data
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 17 tools

Disambiguation3/5

Most tools target clearly distinct domains (air, weather, river levels, flood risk, statistics, real estate, subsurface, trains), but the catalogue tools overlap in pairs: search vs search_datasets both search Belgian open-data records, and fetch vs get_dataset both retrieve full dataset records. The descriptions offer some clues, but an agent could easily choose the wrong search or detail tool.

Naming Consistency4/5

Tool names are consistently snake_case and readable, with no camelCase/snake_case mixing. Most names are descriptive noun phrases while a few use verb-first forms (search_datasets, get_dataset, preview_dataset), so the pattern is mostly but not perfectly consistent.

Tool Count4/5

Seventeen tools is slightly above the ideal compact range, but the server covers many separate data domains and most tools earn their place. The overlapping search/fetch pairs are the main candidates for consolidation.

Completeness4/5

The surface covers the open-data catalogue lifecycle (search, overview, fetch record, preview, publisher contact) plus major Belgian data domains, including targeted statistics, environment, property and subsurface tools. Gaps are minor and mostly scoped limitations, such as Flanders-only flood/river/subsurface coverage and no whole-file analysis tool beyond preview and download guidance.

Available Tools

17 tools
air_qualityAir quality at a place in Belgium (now, forecast, annual)A
Read-only
Inspect

Air quality at an address or point anywhere in Belgium from IRCEL-CELINE, read live: this hour's modelled NO2, PM2.5, PM10, ozone and black carbon for the 4 km cell, the last 24-hour PM means against the WHO 24-hour guidelines, the BelAQI forecast for today and the next three days (1 excellent to 10 horrible), annual means of the last complete year (street level in Flanders via ATMO-Street, 4 km background elsewhere) compared with the WHO 2021 guidelines and the current and 2030 EU limit values, and the nearest measuring stations that are reporting now (out-of-service stations are skipped and named). Includes the municipality (NIS code) with its population and income. Starts with key_facts; cite IRCEL-CELINE (CC BY 4.0). Examples: How is the air in central Brussels now, and over the year? → {"address":"Rue Neuve 1, 1000 Bruxelles"}; Air quality forecast for Liège → {"address":"Place Saint-Lambert 1, 4000 Liège"}; Annual NO2 at street level near Antwerp central station → {"latitude":51.2194,"longitude":4.4025}.

Inputs: address, latitude, longitude, x_lambert72, +1 more.

belgian_statisticsOfficial Belgian statistics: population, income, prices, labour marketA
Read-only
Inspect

Answers with Statbel's official figures (not dataset links). Places: any of the 565 municipalities (2025 boundaries; Dutch, French or pre-merger names such as Melle work; NIS codes too), the provinces, the three regions or Belgium. topic 'profile' (default) gives population on 1 January (total, sex, age bands, non-Belgian nationality, change since 2019) and average net taxable income per inhabitant and per declaration (income years up to the latest published); a single municipality comes with its province, region and Belgium for comparison. rank_by ranks municipalities within a province, region or Belgium (e.g. highest income per inhabitant in Limburg, oldest population); with no places, topic 'population' or 'income' ranks the municipalities of Belgium by it. topic 'prices' gives the latest CPI, inflation and (smoothed) health index read live from Statbel; topic 'labour' gives the latest quarterly employment, unemployment and activity rates for Belgium and the regions (Labour Force Survey). Each answer starts with key_facts and states reference dates, definitions and the Statbel citation (CC BY 4.0). Examples: How many people live in Ghent? → {"places":["Gent"],"topic":"population"}; The largest municipalities in Belgium (no places: ranks by population) → {"topic":"population"}; Which municipalities in Limburg have the highest income per inhabitant? → {"rank_by":"income_per_inhabitant","within":"Limburg","limit":5}; What is the current inflation and health index? → {"topic":"prices"}.

Inputs: year, limit, order, topic, +5 more.

catalogue_overviewCatalogue overviewA
Read-only
Inspect

Counts of the catalogue by scope and topic, the date it was built, and when file links were last checked: what is available and how fresh the evidence is.

Inputs: no named parameters.

contact_publisherDraft a message to a dataset's publisherA
Read-only
Inspect

Prepare a message to the people who publish a dataset, for the user to send themselves: the contact the publisher declared in its catalogue record (never a guessed address), a polite draft in the publisher's language (Dutch, French, English or German) naming the dataset, file, issue and the evidence checked, and a mailto: link. Nothing is sent by this tool. Use it when the user wants to report a problem (stale data, broken link, missing units or metadata, wrong values) or ask the publisher a question. Run get_dataset or preview_dataset first and pass what they showed as evidence; the answer says what to check before writing. Show the draft to the user to edit and send; send one message per problem, not one per related dataset. Example: {"id":"national:d04b704a-1672-4567-bf0d-9a9452618812","issue":"metadata","details":"The record says 2019 but the file has 2026 data."}.

Inputs: id (required), issue (required), details, evidence, +1 more.

fetchFetch (deep-research compatible)A
Read-only
Inspect

Fetch the full catalogue record for an id returned by search.

Inputs: id (required).

flood_riskFlood-prone classes at a place in Flanders (official VMM maps)A
Read-only
Inspect

Whether an address or point in Flanders is flood-prone on the official VMM maps of flood-prone areas from rivers (fluvial), heavy rain (pluvial) and the sea, each as class A (no flooding modelled), B (small chance under climate change), C (small chance) or D (medium chance). These maps underlie the flood information required when property in Flanders is sold or let and the water test for permits. Includes the municipality (NIS code) with its population and income. Flanders only. Starts with key_facts; describes the location, not a building's floor level or defences. Examples: Is the Grote Markt in Leuven flood-prone? → {"address":"Grote Markt 1, 3000 Leuven"}; Flood classes at a point in Ghent → {"latitude":51.05,"longitude":3.72}.

Inputs: address, latitude, longitude, x_lambert72, +1 more.

get_datasetGet one dataset recordA
Read-only
Inspect

Full catalogue record for one dataset id from search_datasets: publisher, licence and what it allows, update cycle, contact, description, file links, publisher-declared columns, link-check evidence, and whether preview_dataset can read the file. For files checked weekly it adds a dataset card computed from the file itself: whether it is overdue against its declared update cycle, the period the data covers, join keys (NIS municipality codes incl. pre-2025 codes, enterprise numbers, postcodes, coordinates), sparse and constant columns, column changes since the last check, and quotable facts each with its evidence. Fields the publisher leaves empty are listed under not_declared_by_publisher with the source page; for analysis over the whole file, the analysis block gives download links and the domains a sandbox must allow. Example: {"id":"national:d04b704a-1672-4567-bf0d-9a9452618812"}.

Inputs: id (required).

get_subsurface_recordBorehole, CPT or groundwater-well details from DOVA
Read-only
Inspect

Details of one DOV record by id from subsurface_at_location: for a borehole ('boring/…') its depth, purpose and layer-by-layer interpretations (formal stratigraphy with formation names, the logged lithological description, hydrogeological units) plus ids of further interpretations; for a groundwater screen ('filter/…') the aquifer, screen depth, water levels (latest, lowest, highest, last 12 readings, yearly means) and groundwater quality (every result of the latest lab sample, and trends of nitrate, chloride, sulphate, ammonium, conductivity and pH); for a CPT ('sondering/…') cone resistance and sleeve friction per metre with the Robertson soil behaviour type; for a soil profile ('bodemlocatie/…') its classification, site (water table, drainage, land use, parent material) and per horizon the Munsell colour, texture, organic carbon, pH and lime; or one interpretation ('interpretatie/…'). Codes are decoded with DOV's published code lists; every answer starts with key_facts. Examples: Layer-by-layer log of one borehole → {"id":"boring/2016-140688"}; Water levels and groundwater quality at one monitoring screen → {"id":"filter/1978-006372"}; Soil behaviour per metre from one cone penetration test → {"id":"sondering/1984-065526"}.

Inputs: id (required).

preview_datasetPreview the rows of a dataset fileA
Read-only
Inspect

Read the first rows of a dataset's CSV/TSV file directly from the publisher and return the column names, inferred column types, the delimiter and encoding, and up to 20 sample rows as published. Works for datasets whose get_dataset record shows preview_available: true. Reads at most the first 64 KiB of the file, so it shows structure and example values, not totals over the whole file; for those, its analysis block gives the download links, a DuckDB query in the file's own dialect and the domains to allow in a sandbox. Example: {"id":"national:d04b704a-1672-4567-bf0d-9a9452618812","rows":5}.

Inputs: id (required), rows.

real_estate_pricesHouse and apartment sale prices in Belgium (Statbel)A
Read-only
Inspect

What homes sell for in any of the 565 municipalities (2025 boundaries; Dutch, French or pre-merger names and NIS codes work), a province, a region or Belgium, from Statbel's official real-estate sales statistics (deeds of sale, 2010 to the latest full year plus the latest half-year). For houses (all, or terraced/semi-detached with 2-3 facades, or detached with 4+ facades) and apartments: the median price, the 25th and 75th percentile, the number of sales and the change of the median over five years. rank_by 'median_price' ranks municipalities within a province, region or Belgium, leaving out places with too few sales for a comparable median. Starts with key_facts; says when a figure rests on few sales. Prices are nominal sale prices of the homes that happened to be sold, not valuations of a specific home, and not rents. Examples: What does a house or an apartment cost in Mechelen compared with Leuven? → {"places":["Mechelen","Leuven"]}; Where in Limburg are houses most expensive? → {"rank_by":"median_price","within":"Limburg","type":"house","limit":5}; Median apartment price in Belgium in 2020 → {"places":["Belgium"],"type":"apartment","year":2020}.

Inputs: type, year, limit, order, +4 more.

river_levelsRiver, canal and tide levels in Flanders now (waterinfo.be)A
Read-only
Inspect

Live water levels at about 650 river, canal and tidal gauges in Flanders and on the Flemish waterways (VMM and HIC, waterinfo.be): the nearest gauges to an address or point, a named gauge, or the gauges on a river. For each gauge: the level now in metres TAW (and above the gauge zero where that is how it is published), the change over 1, 3 and 24 hours (rising/falling/steady, or low and high water for tidal gauges), the 24-hour minimum and maximum, how far it is below the gauge's official watch and alarm levels, whether it is within its usual range (the long-term band of 80 % of the time), the publisher's official alarm status and its short-term forecast status. Starts with key_facts. Values are provisional measurements updated every 5-15 minutes. Does not say whether a specific address will flood (use flood_risk for Flanders' official flood-prone maps), and does not cover Wallonia (SPW's terms forbid passing its gauge data on), Brussels' Flowbru gauges, discharge or rainfall. Examples: How high is the Dijle at Korbeek-Dijle, and how far from the alarm level? → {"station":"Korbeek-Dijle"}; Is the Demer rising near Diest? → {"address":"Grote Markt 1, 3290 Diest","river":"Demer"}; Water levels around Ghent now → {"address":"Korenmarkt 1, 9000 Gent","radius_km":5}; The tide in the Scheldt at Antwerp → {"latitude":51.2213,"longitude":4.3977,"max_stations":2}.

Inputs: river, address, station, latitude, +5 more.

search_datasetsSearch Belgian open datasetsA
Read-only
Inspect

Search Belgian open data (about 21,700 records from federal, regional and local publishers: hand-reviewed national registers, data.gov.be and directly harvested portals) in Dutch, French or English. For common needs such as population, the enterprise register (KBO/BCE), air quality, unemployment or train punctuality, the official reference source is listed first, marked authoritative_source, with a guidance block saying who publishes it and the usual pitfalls. Scope 'datasets' (default) means data files and APIs; map layers, PDF publications, research supplements and metadata-only records are separate scopes. Results are catalogue metadata and link-check evidence, not statements about data correctness. Examples: {"query":"bevolking per gemeente"}; {"query":"thuisbatterij"}; {"query":"census 2021","open_licence_only":true}; {"query":"wegenregister","scope":"maps"}; {"query":"luchtkwaliteit","topic":"environment","limit":5}.

Inputs: query (required), limit, scope, topic, +1 more.

search_subsurfaceFind boreholes, wells, CPTs, soil profiles or groundwater permits in FlandersA
Read-only
Inspect

Find DOV records by area and attributes, e.g. the deepest boreholes in a municipality, geothermal boreholes since 2020, groundwater wells in the Brussel sand with quality data, electric CPTs near an address, soil profiles with lab data, or the largest groundwater abstraction permits in a municipality (with the licensed total per aquifer). Area: a municipality (official 2025 boundary; old pre-merger names work), or an address/coordinates with radius_m, or nothing for all of Flanders. Filtering and sorting run on DOV's server, so counts cover every matching record. Use get_subsurface_record with a result id for details. Examples: The deepest boreholes in Leuven → {"record_type":"boreholes","municipality":"Leuven","limit":3}; Geothermal boreholes drilled in Flanders since 2020 → {"record_type":"boreholes","purpose":"geothermal","date_from":"2020","limit":5}; The largest groundwater abstraction permits in Ghent → {"record_type":"groundwater_permits","municipality":"Gent","sort":"largest","limit":5}.

Inputs: record_type (required), sort, limit, address, +17 more.

subsurface_at_locationSoil, geology and groundwater at a place in FlandersA
Read-only
Inspect

What is under a location in Flanders, read live from Databank Ondergrond Vlaanderen (DOV), the Flemish Government's subsurface database: the soil-map unit, the Tertiary and Quaternary geological map units and the groundwater bodies at the point, whether it lies in a drinking-water protection zone, the modelled column of geological and hydrogeological (aquifer) units with depths from DOV's 3D models (an answer even where no borehole exists), the boreholes, cone penetration tests (CPT) and groundwater monitoring wells within radius_m (counts plus the nearest and deepest, with ids), groundwater abstraction permits and described soil profiles within at least 1 km (licensed volume per aquifer; names of private persons withheld), and the current shallow groundwater status at the nearest status well. Starts with key_facts: the answer in a few sentences. Give an address in Flanders, or latitude/longitude, or Lambert 72 x/y. Use get_subsurface_record with a returned id for layer-by-layer borehole logs, CPT profiles or groundwater levels and quality. Map units and the model column are map- and model-scale information, not a site investigation. Examples: What is under the Grote Markt in Leuven? → {"address":"Grote Markt 1, 3000 Leuven"}; Deep aquifers and boreholes near Antwerp central station, for a geothermal question → {"latitude":51.2194,"longitude":4.4025,"radius_m":500,"max_depth_m":1000}.

Inputs: address, latitude, radius_m, longitude, +3 more.

train_punctualityBelgian train punctuality: station, train, IC line, national (Infrabel)A
Read-only
Inspect

How punctual Belgian trains are, from Infrabel's official open data. For a station (name in Dutch, French or English, or the nearest one to an address): the share of trains arriving less than 6 minutes late in the latest month against the average over all stops, its rank, the last 13 months, and yesterday train by train (delay bands, average delay, the latest trains). For a train number: every point it passed yesterday with its delays, where the delay grew and whether it was on time at the official measuring points. For an IC line (e.g. 'IC 01'): monthly punctuality per direction and by time of day against the national figure. With none of these: the national figure (also counting cancellations), by train type, punctuality lost by cause, cancellations per operator, and today so far. Starts with key_facts. Does not give live departures or platform changes, and has no train-by-train data before yesterday. Examples: How punctual are trains at Leuven station? → {"station":"Leuven"}; Was train 2112 late yesterday, and where did it lose time? → {"train_number":"2112"}; How punctual is the IC 01 Oostende-Eupen? → {"ic_line":"IC 01"}; How punctual were Belgian trains last month, and today? → {}.

Inputs: month, address, ic_line, station, +5 more.

weatherWeather now, last days and 48-hour forecast in Belgium (KMI/IRM)A
Read-only
Inspect

The weather at an address or point in Belgium from the Royal Meteorological Institute (KMI/IRM) open data: what the nearest synoptic station measures now (temperature, wind and gusts, humidity, cloud cover, pressure), its last 24 hours (minimum, maximum, precipitation), the last 7 days at the nearest automatic station (daily rain, max/min, sunshine), and KMI's ALARO model forecast for that point for the next 48 hours (3-hourly for the first day: temperature, precipitation, snow, wind, gusts, cloud cover) with 24-hour summaries and when rain is first expected. Starts with key_facts. Observations come from a station up to tens of km away; the forecast is a single deterministic model run without probabilities. Does not give official weather warnings (not in KMI's open data), climate normals, rain radar or forecasts beyond about 60 hours. Examples: What is the weather in Leuven now, and will it rain tomorrow? → {"address":"Grote Markt 1, 3000 Leuven"}; Weather forecast for Liège for the next two days → {"address":"Place Saint-Lambert 1, 4000 Liège"}; How windy is it at the coast in Ostend? → {"latitude":51.2194,"longitude":2.9269}.

Inputs: address, latitude, longitude, x_lambert72, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables discovery and retrieval of National Bank of Belgium statistical data across 221 SDMX dataflows, with search, descriptions, custom queries, and comparisons of economic indicators.
      46 PyPI
      3
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Access Statbel Belgium open data via natural language queries. Provides tools to query bestat datasets through an MCP gateway.
      296 npm
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables querying Belgian biodiversity data, including species observations, protected species lists, and protected areas, for environmental assessments and permits.
      13
      European Union Public 1.2
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.