mcp-belgium

io.github.lacausecrypto由 GitHub 帳號 lacausecrypto 發布v1.0.4更新於 Oct 24, 2026

Single MCP server for Belgian public transport, statistics, open data, and geospatial services.

概覽

AI 產生的概覽

一個聚合型 MCP 伺服器,讓助理存取比利時公共運輸、統計、開放資料、地址、天氣、空氣品質與地理空間服務。

可以做什麼
把多個比利時公共 API 打包成一次安裝、一個用戶端設定項目,提供帶命名空間的工具,例如 irail_*、statbel_*、best_*、kmi_*、urban_* 與 urbis_*。涵蓋鐵路與多式聯運行程規劃、布魯塞爾大眾運輸、地址、人口與 CPI 統計、空氣品質、天氣觀測,以及各地區開放資料與地理空間圖層。探索層(目錄概觀、領域清單與說明、目錄資源、能力指南)讓助理在呼叫工具前先找到合適的領域。部分上游受限或需要金鑰,會回傳明確的限制錯誤。
適用情境
當助理需要比利時資料或服務時使用:火車與大眾運輸查詢、官方統計、地址、天氣、空氣品質,或地區開放資料與地理空間圖層。需要其中多個領域時尤其方便,因為一個套件與一個設定項目即可取代多個獨立伺服器。
執行需求
透過 npx 或 pnpm 以 stdio 在本機執行(開發需 Node.js >= 22)。選用密鑰 STIB_API_KEY 與 CBEAPI_KEY 可啟用布魯塞爾大眾運輸與比利時公司登記的即時工具。選用 MCP_TRANSPORT=http 與 PORT_BELGIUM 可設定 HTTP 傳輸與連接埠。需要能連線上游比利時公共 API 的網路。
安裝前請注意
會從環境讀取兩個選用密鑰:STIB_API_KEY 與 CBEAPI_KEY;未提供時對應領域維持金鑰受限。伺服器會查詢第三方比利時公共 API,請求與傳送的資料會離開本機。部分上游入口網站會變更驗證或端點契約,工具可能回傳明確的限制或上游已變更錯誤,而非資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 mcp-belgium,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-belgium

[npm version] [npm downloads] [CI] [license] [node] [pnpm] [typescript] [mcp]

One MCP server for Belgian public APIs.

mcp-belgium is the public entry point. It exposes a single aggregated MCP server that bundles Belgian transport, official statistics, open data, addresses, weather, air quality, and geospatial services behind one install and one client config entry.

The package is also prepared for publication to the official MCP Registry under io.github.lacausecrypto/mcp-belgium.

Why use it

  • one npm package
  • one MCP server entry in your client config
  • namespaced tools like irail_*, statbel_*, best_*, kmi_*, urban_*, and urbis_*
  • built-in catalog tools, resources, and a prompt so the LLM can discover the right Belgian domain before calling tools
  • explicit limitation surfaces when an upstream requires a key or has changed contract

Install

Run directly:

bash
npx -y mcp-belgium

With pnpm:

bash
pnpm dlx mcp-belgium

Global install:

bash
pnpm add -g mcp-belgiummcp-belgium

Default transport is stdio, which is what desktop MCP clients expect.

Claude Desktop

json
{  "mcpServers": {    "belgium": {      "command": "npx",      "args": [        "-y",        "mcp-belgium"      ],      "env": {        "LOG_LEVEL": "silent"      }    }  }}

Optional env vars:

  • STIB_API_KEY: enables live STIB/MIVB tools
  • CBEAPI_KEY: enables live KBO/BCE company registry tools
  • MCP_TRANSPORT=http: runs the server over Streamable HTTP
  • PORT_BELGIUM=3017: sets the HTTP port for the aggregated server

What the LLM gets

Alongside the domain tools, mcp-belgium exposes a discovery layer:

  • belgium_catalog_overview
  • belgium_list_domains
  • belgium_describe_domain
  • belgium://catalog
  • belgium://catalog.json
  • belgium://domain/{domain}
  • belgium_capability_guide

That means the LLM can:

  • inspect the Belgian domains available from this single MCP
  • see which domains are live, limited, or key-gated
  • understand what kind of data each domain provides
  • pick the right namespaced tool without guessing

Main domains

PrefixDomainStatusAuthMain data
irail_*Belgian rail / iRailLiveNonestations, connections, liveboards, vehicles, disruptions
mobility_*Belgian mobility / SMOPLiveNoneintermodal trip planning, operators, GTFS references
stib_*STIB/MIVB Brussels transitLiveAPI keywaiting times, stops, routes, service messages
infrabel_*Infrabel Open DataLiveNonerail infrastructure datasets and records
kbo_*Belgian company registryLiveAPI keyenterprise search and company details
best_*BeST Belgian addressesLiveNoneaddresses, municipalities, streets, postal infos
statbel_*StatbelLiveNonepopulation, CPI, employment, dataset search
airquality_*IRCELINE air qualityLiveNonestations, live measurements, BelAQI, timeseries
brussels_*Brussels Region open dataLiveNonedatasets and records
wallonia_*Wallonia open dataLiveNonedatasets and records
kmi_*KMI / IRM GeoServerLiveNonestations, hourly observations, WFS discovery
wallonia_geo_*Wallonia GeoServicesLiveNoneArcGIS folders, services, layer queries
urban_*urban.brussels WFSLiveNonefeature types, schemas, GeoJSON features
urbis_*URBIS public WMSLiveNoneWMS layer discovery and map URL generation
datagov_*data.gov.be compatibility layerLimitedNoneexplicit upstream-changed error surface
flanders_*Datavindplaats compatibility layerLimitedAPI keyexplicit upstream limitation surface

Docs / Wiki

The repo now includes a docs/ tree that works as a lightweight public wiki:

Local development

Requirements:

  • Node.js >= 22
  • pnpm >= 9

Setup:

bash
pnpm installpnpm run buildpnpm run testpnpm run typecheck

Run the aggregated server over stdio:

bash
pnpm --filter mcp-belgium start:stdio

Run it over Streamable HTTP:

bash
MCP_TRANSPORT=http PORT_BELGIUM=3017 pnpm --filter mcp-belgium start

Run the whole workspace:

bash
docker compose up --build

Monorepo shape

  • packages/core: shared HTTP, retry, cache, rate limiting, XML helpers, and MCP response helpers
  • packages/mcp-belgium: public aggregated entry point
  • packages/mcp-*: domain-specific packages kept modular for maintenance, testing, and isolated validation

The public consumer path is mcp-belgium. Internal workspace packages stay modular for development, but the published mcp-belgium package bundles them so end users install only one npm package.

Upstream caveats

This project wraps public upstream APIs. Some Belgian portals change authentication or endpoint contracts over time. When an upstream is no longer publicly compatible, this project prefers explicit, machine-readable limitation errors over silent failure.

Current examples:

  • mcp-stib requires STIB_API_KEY
  • mcp-kbo requires CBEAPI_KEY
  • mcp-data-gov-be preserves the old tool contract but returns an explicit upstream-changed error
  • mcp-opendata-flanders preserves the old tool contract but returns an explicit API-key limitation

Validation

Current workspace checks:

  • pnpm run build
  • pnpm run test
  • pnpm run typecheck
  • pnpm audit --prod

License

MIT. See LICENSE.

來源:README.md,提交 cb3e21e

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.4最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分