Skip to main content
Glama

mcp-nbb

CI PyPI version Python versions License: MIT MCP compatible

ベルギー国立銀行(NBB)のSDMX統計API向けMCPサーバー。

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 .

パッケージには完全な拡張カタログ(src/nbb_mcp/data/catalog/ 配下に約9MB)が同梱されています。通常の使用にビルド手順は不要です。


Related MCP server: OECD 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を再起動すると、MCPパネルに6つの nbb_* ツールが表示されます。


ツール

ツール

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}

1つのフローの完全な拡張フィッシュ。

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

json または console

デフォルトのキャッシュパスは次のように解決されます:

  • 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秒かかります。カタログのフットプリントは、ディメンションごとにコードリストを200コードに切り詰めることで約9MBに制限されています(一部のIMFフローには65,000以上のコードがあります)。

毎週のGitHub Action(build-catalog.yml)がカタログを再構築し、ドリフトが検出された場合にPRを開きます。


トラブルシューティング

「WAFがHTMLリダイレクトを返しました」

NBB APIはWAFの背後にあり、ブラウザのような User-Agent と Origin: https://dataexplorer.nbb.be ヘッダーがないリクエストには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-Agent と Origin ヘッダーは上流のWAFによって要求され、公開統計データにアクセスするためだけに使用されます。ユーザーはNBBの利用規約を遵守する責任があります。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    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.
    1 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables searching, exploring, and querying over 1,500 OECD statistical datasets via SDMX, covering national accounts, employment, trade, PISA, health, and more.
    95 npm
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying Bank for International Settlements central-bank and global financial statistics via the SDMX v2 API, including credit-to-GDP gaps, curated dataflows, and full registry search with dataset fetching, without authentication.
    224 npm
    1
    MIT