MCP Belgium logo

MCP Belgium

Aggregates Belgian transport, statistics, open-data, weather, address, and geospatial APIs behind one MCP server.

Install MCP Belgium

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-belgium": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-belgium"
      ],
      "env": {
        "STIB_API_KEY": "YOUR_VALUE_HERE",
        "CBEAPI_KEY": "YOUR_VALUE_HERE",
        "MCP_TRANSPORT": "YOUR_VALUE_HERE",
        "PORT_BELGIUM": "YOUR_VALUE_HERE",
        "LOG_LEVEL": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y mcp-belgium

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 7d ago.

Overview

The mcp-belgium MCP server aggregates Belgian public APIs for transport, statistics, addresses, weather, air quality, open data, and geospatial data. It exposes namespaced tools through stdio by default, with Streamable HTTP available through configuration. Discovery tools, catalog resources, and a capability guide help an LLM identify available domains and their access requirements. Reach for it when an agent needs data from multiple Belgian public services through one client configuration.

Use cases

  • Plan Belgian rail and intermodal journeys
  • Query Belgian public statistics and datasets
  • Look up Belgian addresses and municipalities
  • Retrieve weather and air-quality observations
  • Explore Belgian geospatial layers and map services

Key features

  • Aggregated Belgian public API access
  • Namespaced transport and data tools
  • Catalog tools and MCP resources for discovery
  • stdio and Streamable HTTP transports
  • Optional STIB and company-registry API-key support
  • Explicit upstream limitation errors

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

5/5 checks healthy over the last 29d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 13d ago via OSV.dev · mcp-belgium (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars6Stargazers on the source repository.
npm downloads187Package downloads in the last 30 days.
Last commit3mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Belgium works

What mcp-belgium does

The mcp-belgium MCP server provides one MCP entry point for a broad set of Belgian public APIs. Its domains cover rail travel, intermodal mobility, Brussels transit, rail infrastructure, company records, addresses, official statistics, air quality, weather observations, regional open data, and geospatial services.

Transport-related tools can query iRail stations, connections, liveboards, vehicles, and disruptions. Mobility tools provide intermodal trip-planning data, operators, and GTFS references. Other domains expose services such as Statbel population and employment data, IRCELINE measurements and BelAQI values, KMI observations, Belgian address data, and regional datasets.

The package is intended for clients that can run an MCP server over stdio or connect through Streamable HTTP. It combines these domain packages behind one published npm package rather than requiring a separate client entry for each service.

How it works

The server organizes capabilities under prefixes such as irail_*, mobility_*, statbel_*, best_*, kmi_*, urban_*, and urbis_*. A built-in discovery layer lets an LLM inspect the catalog before selecting a domain-specific tool. Discovery includes catalog overview and domain-listing tools, domain descriptions, catalog resources, and a capability guide.

The catalog also indicates whether a domain is live, limited, or dependent on an API key. This is useful when an agent needs to distinguish an available public endpoint from a service with access restrictions or an upstream contract change.

The default transport is stdio, suitable for desktop MCP clients. Setting the HTTP transport option starts the aggregated server with Streamable HTTP instead. The server wraps public upstream APIs and includes shared workspace components for HTTP handling, retries, caching, rate limiting, XML processing, and MCP response helpers.

Setup and configuration

Install and run the package with npx -y mcp-belgium, or use pnpm dlx mcp-belgium. A global pnpm installation is also supported.

Node.js 22 or newer and pnpm 9 are listed as requirements for local development. Developers can install dependencies, build, test, and type-check the workspace with the documented pnpm commands.

Set MCP_TRANSPORT=http to use Streamable HTTP instead of stdio, and set PORT_BELGIUM to choose the HTTP port; the documented example uses port 3017. STIB_API_KEY enables live STIB/MIVB tools, while CBEAPI_KEY enables Belgian company registry tools.

Tools and capabilities

The mcp-belgium MCP server includes tools for:

  • Belgian rail stations, connections, liveboards, vehicles, and disruptions
  • Intermodal mobility planning and operator or GTFS references
  • STIB/MIVB waiting times, stops, routes, and service messages
  • Infrabel rail infrastructure datasets
  • KBO/BCE enterprise searches and company details
  • Belgian addresses, municipalities, streets, and postal information
  • Statbel population, consumer price, employment, and dataset searches
  • Air-quality stations, measurements, BelAQI, and time series
  • Regional open-data records and dataset discovery
  • KMI observations, WFS discovery, ArcGIS services, WFS features, and URBIS map URLs

Limitations and notes

Several capabilities depend on upstream services. STIB/MIVB and KBO/BCE require their respective keys. The data.gov.be compatibility layer is marked limited because its upstream changed, and the Flanders compatibility layer has an API-key limitation. These domains preserve their older tool contracts while returning explicit limitation or upstream-change errors.

The project does not claim that every domain is equally available without configuration. The catalog exposes status and authentication information so clients can avoid treating key-gated or limited domains as ordinary unauthenticated services. Public API behavior may also change as Belgian portals modify authentication or endpoint contracts.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Belgium

mcp-belgium is an MCP server that connects AI clients to Belgian public APIs for rail, mobility, addresses, statistics, weather, air quality, open data, and geospatial services. Its main tools use namespaced prefixes such as irail_, mobility_, statbel_, best_, kmi_, urban_, and urbis_, with catalog tools for discovery.

Install it by running `npx -y mcp-belgium` or `pnpm dlx mcp-belgium`. You can also install it globally with pnpm and run `mcp-belgium`. The default transport is stdio, which is intended for desktop MCP clients.

Yes, mcp-belgium works with Claude Desktop through a stdio configuration. Add an MCP server entry that runs `npx` with `-y` and `mcp-belgium`; the documented example also sets `LOG_LEVEL` to `silent`.

Set the `STIB_API_KEY` environment variable to enable live STIB/MIVB tools. Those tools cover Brussels transit waiting times, stops, routes, and service messages; without the key, the STIB domain is not described as generally available.

Yes, mcp-belgium can run over Streamable HTTP. Set `MCP_TRANSPORT=http`, and optionally set `PORT_BELGIUM` to choose the port; the documented example uses 3017.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Belgium AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mcp-belgium?style=directory)](https://allmcps.com/mcp/mcp-belgium)
HTML Embed
<a href="https://allmcps.com/mcp/mcp-belgium"><img src="https://allmcps.com/api/badge/mcp-belgium?style=directory" alt="MCP Belgium on AllMCPs" /></a>