关于 mcp-belgium
mcp-belgium 聚合比利时公共 API,适用于需要交通、统计、开放数据、天气、空气质量和地理空间信息的客户端。目录与领域发现工具帮助 LLM 在选择专用工具前了解可用数据及限制。
主要功能
- 01聚合比利时公共 API
- 02按领域命名的工具
- 03目录与领域发现
- 04目录资源和提示词
- 05明确报告上游限制
适用场景
- 01查询比利时铁路线路和运行中断
- 02查找官方统计数据与开放数据集
- 03查询地址和地理空间要素
- 04确认哪些服务需要 API 密钥
MCP 相关
这是聚合型 MCP 服务,以按领域命名的工具提供比利时公共 API,并提供目录工具、资源和提示词用于发现。默认支持 stdio,也可使用 Streamable HTTP。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y mcp-belgiumSTIB_API_KEY密钥Optional STIB/MIVB API key to enable live Brussels public transport tools.CBEAPI_KEY密钥Optional CBEAPI key to enable live KBO/BCE Belgian company registry tools.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
63收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
mcp-belgium
一个面向比利时公共 API 的 MCP 服务。
mcp-belgium 是公共入口。它提供一个聚合式 MCP 服务,将比利时的交通、官方统计、开放数据、地址、天气、空气质量和地理空间服务整合在一起,只需安装一次,并在客户端配置中添加一项即可。
该软件包也已准备好在官方 MCP Registry 中以 io.github.lacausecrypto/mcp-belgium 的名称发布。
为什么使用它
- 一个 npm 软件包
- 在客户端配置中只需添加一个 MCP 服务入口
- 提供
irail_*、statbel_*、best_*、kmi_*、urban_*和urbis_*等带命名空间的工具 - 内置目录工具、资源和提示词,让大模型在调用工具前找到合适的比利时领域
- 当上游服务要求密钥或接口约定发生变化时,会明确显示限制
安装
直接运行:
npx -y mcp-belgium
使用 pnpm:
pnpm dlx mcp-belgium
全局安装:
pnpm add -g mcp-belgium
mcp-belgium
默认传输方式为 stdio,这是桌面 MCP 客户端所需的方式。
Claude Desktop
{
"mcpServers": {
"belgium": {
"command": "npx",
"args": [
"-y",
"mcp-belgium"
],
"env": {
"LOG_LEVEL": "silent"
}
}
}
}
可选环境变量:
STIB_API_KEY:启用实时 STIB/MIVB 工具CBEAPI_KEY:启用实时 KBO/BCE 公司注册工具MCP_TRANSPORT=http:通过 Streamable HTTP 运行服务PORT_BELGIUM=3017:设置聚合服务的 HTTP 端口
大模型可以获取什么
除了领域工具之外,mcp-belgium 还提供发现层:
belgium_catalog_overviewbelgium_list_domainsbelgium_describe_domainbelgium://catalogbelgium://catalog.jsonbelgium://domain/{domain}belgium_capability_guide
这意味着大模型可以:
- 查看此 MCP 提供的比利时领域
- 了解哪些领域可实时使用、受限或需要密钥
- 了解每个领域提供哪类数据
- 无需猜测即可选择合适的带命名空间工具
主要领域
| 前缀 | 领域 | 状态 | 认证 | 主要数据 |
|---|---|---|---|---|
irail_* | 比利时铁路 / iRail | 已上线 | 无 | 车站、连接、实时信息板、车辆、服务中断 |
mobility_* | 比利时出行 / SMOP | 已上线 | 无 | 多模式行程规划、运营商、GTFS 参考信息 |
stib_* | STIB/MIVB 布鲁塞尔公共交通 | 已上线 | API 密钥 | 等候时间、站点、路线、服务消息 |
infrabel_* | Infrabel 开放数据 | 已上线 | 无 | 铁路基础设施数据集和记录 |
kbo_* | 比利时企业注册 | 已上线 | API 密钥 | 企业搜索和公司详情 |
best_* | BeST 比利时地址 | 已上线 | 无 | 地址、市镇、街道、邮政信息 |
statbel_* | Statbel | 已上线 | 无 | 人口、CPI、就业、数据集搜索 |
airquality_* | IRCELINE 空气质量 | 已上线 | 无 | 监测站、实时测量值、BelAQI、时间序列 |
brussels_* | 布鲁塞尔大区开放数据 | 已上线 | 无 | 数据集和记录 |
wallonia_* | 瓦隆大区开放数据 | 已上线 | 无 | 数据集和记录 |
kmi_* | KMI / IRM GeoServer | 已上线 | 无 | 监测站、每小时观测数据、WFS 发现 |
wallonia_geo_* | 瓦隆大区 GeoServices | 已上线 | 无 | ArcGIS 文件夹、服务、图层查询 |
urban_* | urban.brussels WFS | 已上线 | 无 | 要素类型、架构、GeoJSON 要素 |
urbis_* | URBIS 公共 WMS | 已上线 | 无 | WMS 图层发现和地图 URL 生成 |
datagov_* | data.gov.be 兼容层 | 受限 | 无 | 明确的上游变更错误提示 |
flanders_* | Datavindplaats 兼容层 | 受限 | API 密钥 | 明确的上游限制提示 |
文档 / Wiki
仓库现在包含一个 docs/ 目录树,可用作轻量级公共 Wiki:
本地开发
要求:
- Node.js >= 22
- pnpm >= 9
设置:
pnpm install
pnpm run build
pnpm run test
pnpm run typecheck
通过 stdio 运行聚合服务:
pnpm --filter mcp-belgium start:stdio
通过 Streamable HTTP 运行:
MCP_TRANSPORT=http PORT_BELGIUM=3017 pnpm --filter mcp-belgium start
运行整个工作区:
docker compose up --build
Monorepo 结构
packages/core:共享的 HTTP、重试、缓存、速率限制、XML 辅助工具和 MCP 响应辅助工具packages/mcp-belgium:公共聚合入口packages/mcp-*:按领域划分的专用包,便于维护、测试和独立验证
面向公共用户的使用入口是 mcp-belgium。内部工作区包在开发时保持模块化,但发布的 mcp-belgium 包会将它们打包在一起,因此最终用户只需安装一个 npm 包。
上游注意事项
本项目封装公共上游 API。部分比利时门户会随时间更改认证方式或端点契约。当上游不再兼容公共使用时,本项目倾向于返回明确、机器可读的受限错误,而不是静默失败。
当前示例:
mcp-stib需要STIB_API_KEYmcp-kbo需要CBEAPI_KEYmcp-data-gov-be保留旧版工具契约,但会返回明确的上游变更错误mcp-opendata-flanders保留旧版工具契约,但会返回明确的 API 密钥限制提示
验证
当前工作区检查:
pnpm run buildpnpm run testpnpm run typecheckpnpm audit --prod
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。