Skip to main content
Glama

mcp-nbb

CI PyPI version Python versions License: MIT MCP compatible

MCP-Server für die National Bank of Belgium SDMX-Statistik-API.

Stellt die 221 NBB-Datenflüsse (194 BE2 + 27 IMF/SDDS) als 6 LLM-freundliche Tools und 3 durchsuchbare Ressourcen bereit, mit einem gebündelten angereicherten Katalog, damit das LLM Datenflüsse ohne redundante API-Aufrufe entdecken, beschreiben und abfragen kann.

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

  • Transport: stdio (Standard-MCP)

  • Python: 3.11+

  • Plattformen: Linux, macOS, Windows

  • 221 Datenflüsse in 14 Kategorien eingeteilt – siehe DATAFLOWS_CATALOG.md


Installation

Von PyPI (empfohlen)

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

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

Aus dem Quellcode

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

Das Paket enthält den vollständigen angereicherten Katalog (~9 MB unter src/nbb_mcp/data/catalog/). Für den regulären Gebrauch ist kein Build-Schritt erforderlich.


Related MCP server: Thailand NSO MCP Server

Claude Desktop-Konfiguration

Bearbeiten Sie ~/Library/Application Support/Claude/claude_desktop_config.json unter macOS, %APPDATA%\Claude\claude_desktop_config.json unter Windows oder das entsprechende unter Linux.

Verwendung von uvx (empfohlen, sobald auf PyPI veröffentlicht)

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

Aus einer lokalen Editable-Installation

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"
    }
  }
}

Starten Sie Claude Desktop neu – die 6 nbb_*-Tools erscheinen im MCP-Bedienfeld.


Tools

Tool

API-Aufrufe

Zweck

nbb_search(query, …)

0

Unscharfe Suche über die 221 lokalen Datenblätter (en/fr/nl/de).

nbb_describe(dataflow_id, …)

0 (Standard)

Vollständiges angereichertes Datenblatt – Dimensionen, Codelisten, Schlüsselvorlage, häufige Abfragen. force_refresh=True validiert live neu.

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

1

Generischer Datenabruf. Entweder key (rohes SDMX) oder filters ({"FREQ":"D","EXR_CURRENCY":"USD"}).

nbb_quick(topic, …)

1

Themenbasierte Abkürzung für 18 häufige Abfragen – siehe Thementabelle unten.

nbb_compare(series, …)

N

Richtet 2–5 Serien auf einem gemeinsamen Zeitindex aus, wobei feinere Frequenzen durch Schlussaggregation heruntergerechnet werden.

nbb_status()

0

Diagnose-Schnappschuss: Katalog, Cache, API-Konfiguration.

nbb_quick-Themen

Thema

Datenfluss

Parameter

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

Ressourcen

URI

Inhalt

nbb://catalog

Markdown-Index aller 221 Datenflüsse nach Kategorie.

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

Vollständiges angereichertes Datenblatt für einen Fluss.

nbb://category/{category}

Alle Flüsse in einer Kategorie.


Beispiel-Prompts in Claude

„Wie war der EUR/USD-Wechselkurs im letzten Monat?“ → nbb_quick("exchange_rate", currency="USD", frequency="D", last_n_observations=30)

„Vergleichen Sie das belgische BIP-Wachstum mit der Arbeitslosenquote seit 2020.“ → nbb_compare([{dataflow_id:"DF_QNA_DISS",label:"GDP"}, {dataflow_id:"DF_UNEMPLOY_RATE",label:"Unemployment"}], start_period="2020-Q1")

„Finden Sie NBB-Datenflüsse zu Verbraucherkrediten.“ → nbb_search("consumer credit")nbb_describe(...)nbb_query(...).


Konfiguration (Umgebungsvariablen)

Alle Einstellungen haben sinnvolle Standardwerte; überschreiben Sie sie über Umgebungsvariablen.

Variable

Standard

Zweck

NBB_API_BASE_URL

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

SDMX-REST-Basis-URL

NBB_API_TIMEOUT

30

Zeitlimit pro Anfrage (s)

NBB_USER_AGENT

Browser-UA

Erforderlich für die WAF – Standard ist eine gültige Chrome-User-Agent-Zeichenfolge

NBB_ORIGIN

https://dataexplorer.nbb.be

Erforderlich für die WAF

NBB_HTTP_CACHE_ENABLED

true

Persistenter Festplatten-Cache

NBB_HTTP_CACHE_PATH

OS-Cache-Verzeichnis

Cache-Speicherort überschreiben (Standard: platformdirs.user_cache_dir)

NBB_MEMORY_CACHE_TTL_DATA

300

TTL für Datenantworten (s)

NBB_MEMORY_CACHE_TTL_STRUCTURE

3600

TTL für Strukturantworten (s)

NBB_RATE_LIMIT_REQUESTS

100

Selbst auferlegtes Ratenlimit (Anfragen/Zeitraum)

NBB_RATE_LIMIT_PERIOD

60

Ratenlimit-Zeitfenster (s)

NBB_RETRY_ATTEMPTS

3

Wiederholungen bei vorübergehenden Fehlern

NBB_LOG_LEVEL

INFO

DEBUG/INFO/WARNING/ERROR

NBB_LOG_FORMAT

json

json oder console

Der Standard-Cache-Pfad lautet:

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

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

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


Aktualisieren des Katalogs

Der gebündelte Schnappschuss src/nbb_mcp/data/catalog/ wird neu erzeugt, indem die DSD + Codelisten für jeden der 221 Datenflüsse abgerufen werden:

mcp-nbb-build-catalog --force

Optionen:

  • --force – jedes Datenblatt neu erstellen, vorhandene ignorieren.

  • --limit N – nur die ersten N Flüsse verarbeiten (Debug).

  • --only BE2/DF_EXR,BE2/DF_HICP_2025 – bestimmte Flüsse neu erstellen.

  • --concurrency 5 – parallele DSD-Anfragen.

Ein vollständiger Neuaufbau dauert etwa 80 Sekunden gegen die Live-API. Der Katalogumfang ist auf etwa 9 MB begrenzt, indem Codelisten auf 200 Codes pro Dimension gekürzt werden (einige IWF-Flüsse haben über 65.000+ Codes).

Eine wöchentliche GitHub Action (build-catalog.yml) erstellt den Katalog neu und öffnet einen PR, wenn eine Abweichung festgestellt wird.


Fehlerbehebung

"WAF hat eine HTML-Weiterleitung zurückgegeben"

Die NBB-API befindet sich hinter einer WAF, die für jede Anfrage ohne browserähnlichen User-Agent und einen Origin: https://dataexplorer.nbb.be-Header eine HTML-200-Weiterleitung zurückgibt. Der Client fügt standardmäßig beides ein. Wenn Sie NBB_USER_AGENT überschreiben, behalten Sie eine echt aussehende Browser-Zeichenfolge bei.

"HTTP 404 NoResultsFound" bei einer Datenabfrage

Der SDMX-Schlüssel hat keine Serie gefunden. Verwenden Sie nbb_describe(dataflow_id), um gültige Codes zu sehen, oder übergeben Sie filters={} / key="all", um alles abzurufen und dann über start_period/end_period einzugrenzen.

"Zu viele Beobachtungen, abgeschnitten"

Jede Datenantwort ist standardmäßig auf max_observations=200 begrenzt. Erhöhen Sie den Wert über nbb_query(max_observations=1000) oder grenzen Sie die Abfrage mit einem Zeitfenster ein.

Katalog nicht gefunden

Wenn Sie ohne den gebündelten src/nbb_mcp/data/catalog/ ausführen, führen Sie einmal mcp-nbb-build-catalog aus, um ihn zu befüllen.


Entwicklung

Siehe CONTRIBUTING.md für den vollständigen Entwicklungsablauf. Kurzform:

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 läuft auf Linux, macOS und Windows mit Python 3.11 und 3.12. Siehe DATAFLOWS_CATALOG.md für das klassifizierte Inventar.


Sicherheit

Bitte melden Sie Schwachstellen privat – siehe SECURITY.md.

Lizenz

MIT – siehe LICENSE für den vollständigen Text.

Haftungsausschluss

Dieses Projekt ist nicht mit der National Bank of Belgium verbunden oder von ihr unterstützt. Es ist ein unabhängiger Client ihrer öffentlichen SDMX-REST-API. Die browserähnlichen User-Agent- und Origin-Header werden von der vorgelagerten WAF benötigt und dienen ausschließlich dem Zugriff auf öffentliche statistische Daten. Die Benutzer sind für die Einhaltung der Nutzungsbedingungen der NBB verantwortlich.

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