Skip to main content
Glama

mcp-nbb

CI PyPI version Python versions License: MIT MCP compatible

MCP 服务器,用于 National Bank of Belgium 的 SDMX 统计 API。

将 221 个 NBB 数据流(194 个 BE2 + 27 个 IMF/SDDS)暴露为 6 个 LLM 友好工具3 个可浏览资源,并附带一个丰富的目录,使 LLM 无需冗余的 API 调用即可发现、描述和查询数据流。

  • 上游: https://nsidisseminate-stat.nbb.be/rest (NSI Web Service v8)

  • 传输: stdio (标准 MCP)

  • Python: 3.11+

  • 平台: Linux, macOS, Windows

  • 221 个数据流,分为 14 个类别 — 参见 DATAFLOWS_CATALOG.md


安装

从 PyPI 安装(推荐)

# With uv (runs without installing globally)
uvx mcp-nbb

# Or install into a regular venv
pip install mcp-nbb

从源码安装

git clone https://github.com/lacausecrypto/mcp-nbb.git
cd mcp-nbb
pip install -e .

该包附带完整的丰富目录(约 9 MB,位于 src/nbb_mcp/data/catalog/ 下)。常规使用无需构建步骤。


Related MCP server: Thailand NSO MCP Server

Claude Desktop 配置

在 macOS 上编辑 ~/Library/Application Support/Claude/claude_desktop_config.json,在 Windows 上编辑 %APPDATA%\Claude\claude_desktop_config.json,或在 Linux 上编辑等效文件。

使用 uvx(推荐,一旦发布到 PyPI)

{
  "mcpServers": {
    "nbb": {
      "command": "uvx",
      "args": ["mcp-nbb"]
    }
  }
}

从本地可编辑安装

macOS / Linux:

{
  "mcpServers": {
    "nbb": {
      "command": "/Users/you/projects/mcp-nbb/.venv/bin/mcp-nbb"
    }
  }
}

Windows:

{
  "mcpServers": {
    "nbb": {
      "command": "C:\\Users\\you\\projects\\mcp-nbb\\.venv\\Scripts\\mcp-nbb.exe"
    }
  }
}

重启 Claude Desktop — 6 个 nbb_* 工具将出现在 MCP 面板中。


工具

工具

API 调用

用途

nbb_search(query, …)

0

对 221 个本地条目进行模糊搜索(en/fr/nl/de)。

nbb_describe(dataflow_id, …)

0(默认)

完整的丰富条目 — 维度、代码表、键模板、常见查询。force_refresh=True 可实时重新验证。

nbb_query(dataflow_id, key=…, filters=…)

1

通用数据获取。可以使用 key(原始 SDMX)或 filters{"FREQ":"D","EXR_CURRENCY":"USD"})。

nbb_quick(topic, …)

1

基于主题的快捷方式,用于 18 个常见查询 — 参见下面的主题表。

nbb_compare(series, …)

N

将 2-5 个序列对齐到共同的时间索引,通过收盘聚合对更细频率进行降采样。

nbb_status()

0

诊断快照:目录、缓存、API 配置。

nbb_quick 主题

主题

数据流

参数

exchange_rate

BE2/DF_EXR

currency, frequency

policy_rate

BE2/DF_IRESCB

mortgage_rate

BE2/DF_MIR

long_term_yield

BE2/DF_IROLOYLD

inflation_hicp

BE2/DF_HICP_2025

inflation_national

BE2/DF_NICP_2025

ppi

BE2/DF_PPI

industrial_production

BE2/DF_INDPROD

gdp / gdp_growth

BE2/DF_QNA_DISS

unemployment_rate

BE2/DF_UNEMPLOY_RATE

employment

BE2/DF_EMPLOY_DISS

government_debt

BE2/DF_CGD

government_deficit

BE2/DF_NFGOV_NET_DISS

current_account

BE2/DF_BOPBPM6

consumer_confidence

BE2/DF_CONSN

business_confidence

BE2/DF_BUSSURVM

trade_balance

BE2/DF_EXTERNAL_TRADE_OVERVIEW

资源

URI

内容

nbb://catalog

按类别列出的所有 221 个数据流的 Markdown 索引。

nbb://dataflow/{agency}/{dataflow_id}

单个数据流的完整丰富条目。

nbb://category/{category}

某个类别中的所有数据流。


Claude 中的示例提示

"上个月 EUR/USD 汇率是多少?" → nbb_quick("exchange_rate", currency="USD", frequency="D", last_n_observations=30)

"比较自 2020 年以来比利时 GDP 增长与失业率。" → nbb_compare([{dataflow_id:"DF_QNA_DISS",label:"GDP"}, {dataflow_id:"DF_UNEMPLOY_RATE",label:"Unemployment"}], start_period="2020-Q1")

"查找有关消费信贷的 NBB 数据流。" → nbb_search("consumer credit")nbb_describe(...)nbb_query(...)


配置(环境变量)

所有设置都有合理的默认值;可通过环境变量覆盖。

变量

默认值

用途

NBB_API_BASE_URL

https://nsidisseminate-stat.nbb.be/rest

SDMX REST 基础 URL

NBB_API_TIMEOUT

30

每次请求的超时时间(秒)

NBB_USER_AGENT

浏览器 UA

WAF 必需 — 默认是有效的 Chrome UA 字符串

NBB_ORIGIN

https://dataexplorer.nbb.be

WAF 必需

NBB_HTTP_CACHE_ENABLED

true

持久化磁盘缓存

NBB_HTTP_CACHE_PATH

OS 缓存目录

覆盖缓存位置(默认为 platformdirs.user_cache_dir

NBB_MEMORY_CACHE_TTL_DATA

300

数据响应的 TTL(秒)

NBB_MEMORY_CACHE_TTL_STRUCTURE

3600

结构响应的 TTL(秒)

NBB_RATE_LIMIT_REQUESTS

100

自设速率限制(请求/周期)

NBB_RATE_LIMIT_PERIOD

60

速率限制窗口(秒)

NBB_RETRY_ATTEMPTS

3

对瞬时错误的重试次数

NBB_LOG_LEVEL

INFO

DEBUG/INFO/WARNING/ERROR

NBB_LOG_FORMAT

json

jsonconsole

默认缓存路径解析为:

  • Linux: ~/.cache/mcp-nbb/

  • macOS: ~/Library/Caches/mcp-nbb/

  • Windows: %LOCALAPPDATA%\mcp-nbb\Cache\


刷新目录

捆绑的 src/nbb_mcp/data/catalog/ 快照通过获取 221 个数据流中的每一个的 DSD + 代码表来重新生成:

mcp-nbb-build-catalog --force

选项:

  • --force — 重建每个条目,忽略现有条目。

  • --limit N — 仅处理前 N 个数据流(调试)。

  • --only BE2/DF_EXR,BE2/DF_HICP_2025 — 重建特定数据流。

  • --concurrency 5 — 并行 DSD 请求。

针对实时 API 的完整重建大约需要 80 秒。目录占用空间限制在约 9 MB,方法是将每个维度的代码表截断为 200 个代码(某些 IMF 数据流有 65 000+ 个代码)。

每周的 GitHub Action(build-catalog.yml)会重建目录,并在检测到漂移时打开 PR。


故障排除

“WAF 返回了 HTML 重定向”

NBB API 位于 WAF 之后,对于任何没有类似浏览器的 User-AgentOrigin: https://dataexplorer.nbb.be 头的请求,WAF 都会返回 HTML 200 重定向。客户端默认注入这两者。如果您覆盖 NBB_USER_AGENT,请保留一个看起来真实的浏览器字符串。

数据查询时出现“HTTP 404 NoResultsFound”

SDMX 键未匹配任何序列。使用 nbb_describe(dataflow_id) 查看有效代码,或传递 filters={} / key="all" 以检索所有内容,然后通过 start_period/end_period 缩小范围。

“观测值过多,已截断”

默认情况下,每个数据响应限制为 max_observations=200。可通过 nbb_query(max_observations=1000) 增加,或使用时间段窗口缩小查询范围。

未找到目录

如果您在没有捆绑的 src/nbb_mcp/data/catalog/ 的情况下运行,请运行一次 mcp-nbb-build-catalog 来填充它。


开发

完整开发工作流程请参见 CONTRIBUTING.md。简而言之:

pip install -e ".[dev]"
pytest                     # full suite (unit + integration + E2E)
pytest -m "not e2e"        # fast subset
ruff check src tests
mcp-nbb-build-catalog      # refresh the bundled catalogue
mcp-nbb                    # run the server (stdio)

CI 在 Linux、macOS 和 Windows 上使用 Python 3.11 和 3.12 运行。分类清单请参见 DATAFLOWS_CATALOG.md


安全

请私下报告漏洞 — 参见 SECURITY.md

许可证

MIT — 完整文本请参见 LICENSE

免责声明

本项目与比利时国家银行无关联,也未获得其认可。它是其公共 SDMX REST API 的独立客户端。类似浏览器的 User-AgentOrigin 头是上游 WAF 所要求的,仅用于访问公共统计数据。用户有责任遵守 NBB 的使用条款。

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying economic statistics from over 80 providers via DBnomics, with tools to list providers and datasets.
    8
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables natural language discovery, querying, and analysis of Thailand's official statistics from the National Statistical Office via SDMX REST API. It provides tools for searching dataflows, exploring structures, and fetching data with caching and bilingual support.
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides access to European Central Bank statistical data through SDMX data flows, enabling querying and listing of data flows via natural language or direct tool calls.
    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.
    11
    MIT

View all related MCP servers

Related MCP Connectors

  • Search and query 1,500+ OECD statistical datasets via SDMX. Keyless.

  • Query IMF SDMX 3.0 macroeconomic dataflows — WEO, BOP, CPI, exchange rates, 190 countries.

  • BPstat — Banco de Portugal statistics API (Portuguese central bank). Keyless.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lacausecrypto/mcp-nbb'

If you have feedback or need assistance with the MCP directory API, please join our Discord server