mcp-belgium
NPM · MCP-BELGIUM · SCANNED SEP 20
Single MCP server for Belgian public transport, statistics, open data, and geospatial services.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 42 of 122 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 152 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability83
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 3817 tokens (~47/item across 81 items; 63 tools + 18 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
- Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 63 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 64 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the mcp-belgium server?
mcp-belgium runs locally as an npm package, launched with npx -y mcp-belgium. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · mcp-belgium
claude mcp add lacausecrypto-mcp-belgium -- npx -y mcp-belgium
{
"mcpServers": {
"lacausecrypto-mcp-belgium": {
"command": "npx",
"args": [
"-y",
"mcp-belgium"
]
}
}
} {
"servers": {
"lacausecrypto-mcp-belgium": {
"command": "npx",
"args": [
"-y",
"mcp-belgium"
]
}
}
} codex mcp add lacausecrypto-mcp-belgium -- npx -y mcp-belgium
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"lacausecrypto-mcp-belgium": {
"type": "local",
"command": [
"npx",
"-y",
"mcp-belgium"
],
"enabled": true
}
}
} openclaw mcp add lacausecrypto-mcp-belgium --command npx --arg -y --arg mcp-belgium
mcp_servers:
lacausecrypto-mcp-belgium:
command: "npx"
args: ["-y", "mcp-belgium"] {
"McpServers": {
"lacausecrypto-mcp-belgium": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"mcp-belgium"
]
}
}
} assistant mcp add lacausecrypto-mcp-belgium -t stdio -c npx -a -y mcp-belgium
{
"mcpServers": {
"lacausecrypto-mcp-belgium": {
"command": "npx",
"args": [
"-y",
"mcp-belgium"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 −3
- Stability: pass → 0.80 functional
- 15 Sept 26 0
- Stability: 0.97 → pass security
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Sept 26 −3
- Stability: pass → 0.80 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/mcp-belgium@1.0.4
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 122 packages
| Packages resolved | 122 |
|---|---|
| Stale | 42 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
airquality_get_belaqi ~46
Get the BelAQI air quality index for a location by using the nearest monitoring station.
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | yes | Latitude |
| longitude | number | yes | Longitude |
No output schema declared.
No examples provided.
airquality_get_current ~30
Get latest air quality measurements for a monitoring station.
| Name | Type | Req | Description |
|---|---|---|---|
| stationId | number | yes | Station ID |
No output schema declared.
No examples provided.
airquality_get_timeseries ~52
Get historical measurements for a specific air quality timeseries.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | yes | ISO date |
| timeseriesId | number | yes | Timeseries ID |
| to | string | yes | ISO date |
No output schema declared.
No examples provided.
airquality_search_stations ~46
Search air quality monitoring stations near a location.
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | yes | Latitude |
| longitude | number | yes | Longitude |
| radius | number | – | Radius in meters |
No output schema declared.
No examples provided.
belgium_catalog_overview ~36
Get a structured overview of all Belgian domains aggregated by this server, including status, categories, resources, and recommended starting points.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
belgium_describe_domain ~66
Get the precise summary, tool list, upstream, authentication status, caveats, and data coverage for one Belgian domain aggregated by this server.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Exact Belgium domain identifier, for example irail, statbel, best-address, or urban-brussels |
No output schema declared.
No examples provided.
belgium_list_domains ~155
List the Belgian domains aggregated by this server, optionally filtered by topic or restricted to domains that are live and require no API key. Deprecated domains (whose upstream API has been retired) are hidden by default.
| Name | Type | Req | Description |
|---|---|---|---|
| includeDeprecated | boolean | – | If true, also include domains whose upstream API has been retired and whose tools only return an upstream-unavailable error |
| includeTools | boolean | – | If true, include the exact tool names exposed by each returned domain |
| onlyPublicNoKey | boolean | – | If true, only return domains that are live and do not require an API key |
| query | string | – | Optional keyword filter across domain names, summaries, available data, use cases, notes, and tool names |
No output schema declared.
No examples provided.
best_get_address ~34
Get a single Belgian address object by its BeST identifier URI.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | BeST address identifier URI |
No output schema declared.
No examples provided.
best_search_addresses ~152
Search Belgian addresses using the official BeST public address API.
| Name | Type | Req | Description |
|---|---|---|---|
| boxNumber | string | – | Optional box or apartment number |
| crs | string | – | Coordinate reference system |
| houseNumber | string | – | House number |
| limit | number | – | Maximum number of addresses to return |
| municipalityName | string | – | Municipality name, e.g. Bruxelles |
| page | number | – | Result page number |
| postCode | string | – | Belgian postal code |
| radius | number | – | Radius in meters when searching by coordinates |
| streetName | string | – | Street name |
| xLong | number | – | Longitude or X coordinate |
| yLat | number | – | Latitude or Y coordinate |
No output schema declared.
No examples provided.
best_search_municipalities ~78
Search Belgian municipalities in the official BeST address registry.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum number of municipalities to return |
| name | string | – | Municipality name |
| nisCode | string | – | Municipality NIS code |
| page | number | – | Result page number |
| postCode | string | – | Belgian postal code |
No output schema declared.
No examples provided.
best_search_postal_infos ~70
Search Belgian postal information records in the official BeST address registry.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum number of postal info records to return |
| name | string | – | Postal locality name |
| page | number | – | Result page number |
| postCode | string | – | Belgian postal code |
No output schema declared.
No examples provided.
best_search_streets ~99
Search Belgian street records in the official BeST address registry.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum number of streets to return |
| municipalityId | string | – | Municipality identifier URI |
| municipalityName | string | – | Municipality name |
| name | string | – | Street name |
| nisCode | string | – | Municipality NIS code |
| page | number | – | Result page number |
| postCode | string | – | Belgian postal code |
No output schema declared.
No examples provided.
brussels_get_dataset ~29
Get metadata for a Brussels Region open dataset.
| Name | Type | Req | Description |
|---|---|---|---|
| datasetId | string | yes | Dataset identifier |
No output schema declared.
No examples provided.
brussels_get_records ~55
Get records from a Brussels Region open dataset.
| Name | Type | Req | Description |
|---|---|---|---|
| datasetId | string | yes | Dataset identifier |
| limit | number | – | Maximum number of records to return |
| where | string | – | Optional OpenDataSoft where clause |
No output schema declared.
No examples provided.
brussels_search_datasets ~39
Search Brussels Region open datasets.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search query |
| rows | number | – | Maximum number of datasets to return |
No output schema declared.
No examples provided.
datagov_get_dataset ~38
Get full metadata and resource listings for a Belgian federal open dataset.
| Name | Type | Req | Description |
|---|---|---|---|
| datasetId | string | yes | CKAN dataset ID or name |
No output schema declared.
No examples provided.
datagov_get_resource ~38
Get the download URL and metadata for a specific Belgian federal CKAN resource.
| Name | Type | Req | Description |
|---|---|---|---|
| resourceId | string | yes | CKAN resource ID |
No output schema declared.
No examples provided.
datagov_list_organizations ~34
List Belgian public organizations publishing federal open data.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum number of organizations to return |
No output schema declared.
No examples provided.
datagov_search_datasets ~68
Search Belgian federal open datasets published on data.gov.be.
| Name | Type | Req | Description |
|---|---|---|---|
| organization | string | – | Publishing organization name or identifier |
| query | string | yes | Search query |
| rows | number | – | Maximum number of datasets to return |
| tags | string | – | Comma-separated tags |
No output schema declared.
No examples provided.
flanders_get_dataset ~34
Get full metadata for a Flemish open dataset.
| Name | Type | Req | Description |
|---|---|---|---|
| datasetId | string | yes | CKAN dataset ID or name |
No output schema declared.
No examples provided.
flanders_list_organizations ~33
List Flemish public organizations publishing open data.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum number of organizations to return |
No output schema declared.
No examples provided.
flanders_search_datasets ~68
Search Flemish open datasets published on the CKAN platform.
| Name | Type | Req | Description |
|---|---|---|---|
| organization | string | – | Publishing organization name or identifier |
| query | string | yes | Search query |
| rows | number | – | Maximum number of datasets to return |
| tags | string | – | Comma-separated tags |
No output schema declared.
No examples provided.
infrabel_get_dataset ~34
Get full metadata for an Infrabel open dataset.
| Name | Type | Req | Description |
|---|---|---|---|
| datasetId | string | yes | OpenDataSoft dataset identifier |
No output schema declared.
No examples provided.
infrabel_get_records ~64
Get records from an Infrabel dataset using the public ODS records endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| datasetId | string | yes | OpenDataSoft dataset identifier |
| limit | number | – | Maximum number of records to return |
| where | string | – | Optional ODS where clause |
No output schema declared.
No examples provided.
infrabel_search_datasets ~48
Search Infrabel open datasets published on the public OpenDataSoft portal.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search query |
| rows | number | – | Maximum number of datasets to return |
No output schema declared.
No examples provided.
irail_get_connections ~92
Find train connections between two Belgian railway stations. Returns routes with departure/arrival times, platforms, delays, and transfers.
| Name | Type | Req | Description |
|---|---|---|---|
| datetime | string | – | ISO datetime, e.g. 2026-04-11T14:30 |
| from | string | yes | Departure station name |
| timeSel | string | – | Search by departure or arrival time |
| to | string | yes | Arrival station name |
No output schema declared.
No examples provided.
irail_get_disturbances ~24
Get current Belgian railway disruptions, delays, and planned maintenance.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
irail_get_liveboard ~60
Get real-time departures (or arrivals) at a Belgian railway station. Shows train number, destination, platform, and delay.
| Name | Type | Req | Description |
|---|---|---|---|
| arrivals | boolean | – | If true, show arrivals instead of departures |
| station | string | yes | Station name |
No output schema declared.
No examples provided.
irail_get_vehicle ~56
Get detailed stop information for a specific Belgian train. Shows all stops, arrival/departure times, delays, and platforms.
| Name | Type | Req | Description |
|---|---|---|---|
| vehicleId | string | yes | Vehicle ID, e.g. BE.NMBS.IC1832 |
No output schema declared.
No examples provided.
irail_search_stations ~39
Search Belgian railway stations by name. Returns station ID, name, and coordinates.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Station name or partial name |
No output schema declared.
No examples provided.
kbo_get_enterprise ~43
Get full details for a Belgian enterprise by BCE number.
| Name | Type | Req | Description |
|---|---|---|---|
| enterpriseNumber | string | yes | BCE number, e.g. 0123.456.789 |
No output schema declared.
No examples provided.
kbo_search_by_activity ~39
Search Belgian enterprises by NACE activity code.
| Name | Type | Req | Description |
|---|---|---|---|
| naceCode | string | yes | NACE code, e.g. 62.010 |
No output schema declared.
No examples provided.
kbo_search_enterprise ~47
Search Belgian enterprises by enterprise name or BCE number.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Enterprise name or BCE number |
| type | string | – | Search by enterprise name or BCE number |
No output schema declared.
No examples provided.
kmi_describe_feature_type ~48
Describe the schema of a KMI/IRM WFS feature type.
| Name | Type | Req | Description |
|---|---|---|---|
| typeName | string | yes | Exact WFS feature type name, e.g. aws:aws_station |
No output schema declared.
No examples provided.
kmi_get_features ~95
Fetch GeoJSON features from a KMI/IRM WFS layer.
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | string | – | Optional bounding box as minX,minY,maxX,maxY |
| count | number | – | Maximum number of features to return |
| cqlFilter | string | – | Optional GeoServer CQL filter |
| typeName | string | yes | Exact WFS feature type name, e.g. aws:aws_1hour |
No output schema declared.
No examples provided.
kmi_get_hourly_observations ~57
Get hourly weather observation features from the KMI/IRM WFS endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | – | Maximum number of observations to return |
| stationCode | number | – | Optional numeric station code to filter observations |
No output schema declared.
No examples provided.
kmi_get_stations ~40
Get KMI/IRM automatic weather station features from the official WFS endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | – | Maximum number of stations to return |
No output schema declared.
No examples provided.
kmi_list_feature_types ~59
List public KMI/IRM WFS feature types available through the official GeoServer endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum number of feature types to return |
| query | string | – | Optional text filter on feature type name or title |
No output schema declared.
No examples provided.
mobility_get_gtfs_feeds ~29
List GTFS static and GTFS-RT feed sources relevant to Belgian mobility planning.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
mobility_get_operators ~21
List Belgian public transport operators participating in the mobility ecosystem.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
mobility_plan_trip ~62
Plan an intermodal trip across Belgian public transport operators.
| Name | Type | Req | Description |
|---|---|---|---|
| datetime | string | – | ISO datetime, e.g. 2026-04-11T14:30 |
| from | string | yes | Trip origin |
| to | string | yes | Trip destination |
No output schema declared.
No examples provided.
statbel_get_cpi ~29
Get Belgian consumer price index data from Statbel.
| Name | Type | Req | Description |
|---|---|---|---|
| year | number | – | Year |
No output schema declared.
No examples provided.
statbel_get_employment ~27
Get Belgian employment statistics from Statbel.
| Name | Type | Req | Description |
|---|---|---|---|
| year | number | – | Year |
No output schema declared.
No examples provided.
statbel_get_population ~42
Get Belgian population statistics from Statbel.
| Name | Type | Req | Description |
|---|---|---|---|
| region | string | – | Belgium, Brussels, Flanders, Wallonia |
| year | number | – | Year |
No output schema declared.
No examples provided.
statbel_search_datasets ~27
Search Statbel open data datasets.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search query |
No output schema declared.
No examples provided.
stib_get_messages ~19
Get current STIB service messages and disruptions.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
stib_get_route ~46
Get details for a STIB metro, tram, or bus line.
| Name | Type | Req | Description |
|---|---|---|---|
| lineId | string | yes | Line number, e.g. 1, 81, 71 |
No output schema declared.
No examples provided.
stib_get_waiting_times ~36
Get real-time waiting times at a STIB stop.
| Name | Type | Req | Description |
|---|---|---|---|
| stopName | string | yes | Stop name or stop ID |
No output schema declared.
No examples provided.
stib_search_stops ~28
Search STIB stops by name.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Stop name query |
No output schema declared.
No examples provided.
urban_describe_feature_type ~38
Describe the schema of an urban.brussels WFS feature type.
| Name | Type | Req | Description |
|---|---|---|---|
| typeName | string | yes | Exact WFS feature type name |
No output schema declared.
No examples provided.
What is the mcp-belgium server?
mcp-belgium is listed in the public MCP registry as io.github.lacausecrypto/mcp-belgium. Single MCP server for Belgian public transport, statistics, open data, and geospatial services. This page covers its npm package (mcp-belgium).
Is the mcp-belgium server safe to use?
mcp-belgium scores 85 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the mcp-belgium server expose?
mcp-belgium exposes 63 tools: belgium_catalog_overview, belgium_describe_domain, belgium_list_domains, irail_search_stations, irail_get_connections, and 58 more. Their descriptions and schemas cost roughly 3,345 tokens of context every time the server is loaded.
Is the mcp-belgium server still maintained?
mcp-belgium is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the mcp-belgium server under?
mcp-belgium declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.