Skip to main content
Glama

mcp-nbb

CI PyPI version Python versions License: MIT MCP compatible

Servidor MCP para la API estadística SDMX del National Bank of Belgium.

Expone los 221 flujos de datos NBB (194 BE2 + 27 IMF/SDDS) como 6 herramientas amigables para LLM y 3 recursos navegables, con un catálogo enriquecido incluido para que el LLM pueda descubrir, describir y consultar flujos de datos sin llamadas API redundantes.

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

  • Transporte: stdio (MCP estándar)

  • Python: 3.11+

  • Plataformas: Linux, macOS, Windows

  • 221 flujos de datos clasificados en 14 categorías — ver DATAFLOWS_CATALOG.md


Instalación

Desde PyPI (recomendado)

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

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

Desde el código fuente

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

El paquete incluye el catálogo enriquecido completo (~9 MB en src/nbb_mcp/data/catalog/). No se requiere ningún paso de compilación para el uso normal.


Related MCP server: Thailand NSO MCP Server

Configuración de Claude Desktop

Edite ~/Library/Application Support/Claude/claude_desktop_config.json en macOS, %APPDATA%\Claude\claude_desktop_config.json en Windows, o el equivalente en Linux.

Usando uvx (recomendado una vez publicado en PyPI)

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

Desde una instalación editable local

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

Reinicie Claude Desktop — las 6 herramientas nbb_* aparecen en el panel MCP.


Herramientas

Herramienta

Llamadas API

Propósito

nbb_search(query, …)

0

Búsqueda difusa sobre las 221 fichas locales (en/fr/nl/de).

nbb_describe(dataflow_id, …)

0 (predeterminado)

Ficha enriquecida completa — dimensiones, listas de códigos, plantilla de clave, consultas comunes. force_refresh=True revalida en vivo.

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

1

Obtención de datos genérica. Ya sea key (SDMX sin procesar) o filters ({"FREQ":"D","EXR_CURRENCY":"USD"}).

nbb_quick(topic, …)

1

Atajo basado en temas para 18 consultas comunes — ver tabla de temas a continuación.

nbb_compare(series, …)

N

Alinear 2-5 series en un índice de tiempo común, reduciendo frecuencias más finas mediante agregación de cierre.

nbb_status()

0

Instantánea de diagnóstico: catálogo, caché, configuración de API.

Temas de nbb_quick

Tema

Dataflow

Parámetros

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

Recursos

URI

Contenido

nbb://catalog

Índice Markdown de los 221 flujos de datos por categoría.

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

Ficha enriquecida completa para un flujo.

nbb://category/{category}

Todos los flujos en una categoría.


Ejemplos de prompts en Claude

"¿Cuál es el tipo de cambio EUR/USD del último mes?" → nbb_quick("exchange_rate", currency="USD", frequency="D", last_n_observations=30)

"Compare el crecimiento del PIB belga con la tasa de desempleo desde 2020." → nbb_compare([{dataflow_id:"DF_QNA_DISS",label:"GDP"}, {dataflow_id:"DF_UNEMPLOY_RATE",label:"Unemployment"}], start_period="2020-Q1")

"Encuentre flujos de datos NBB sobre crédito al consumo." → nbb_search("consumer credit")nbb_describe(...)nbb_query(...).


Configuración (variables de entorno)

Todos los ajustes tienen valores predeterminados razonables; se pueden anular mediante variables de entorno.

Variable

Valor predeterminado

Propósito

NBB_API_BASE_URL

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

URL base de SDMX REST

NBB_API_TIMEOUT

30

Tiempo de espera por solicitud (s)

NBB_USER_AGENT

UA de navegador

Requerido para el WAF — el valor predeterminado es una cadena UA de Chrome válida

NBB_ORIGIN

https://dataexplorer.nbb.be

Requerido para el WAF

NBB_HTTP_CACHE_ENABLED

true

Caché de disco persistente

NBB_HTTP_CACHE_PATH

Directorio de caché del SO

Anular la ubicación de la caché (por defecto platformdirs.user_cache_dir)

NBB_MEMORY_CACHE_TTL_DATA

300

TTL para respuestas de datos (s)

NBB_MEMORY_CACHE_TTL_STRUCTURE

3600

TTL para respuestas de estructura (s)

NBB_RATE_LIMIT_REQUESTS

100

Límite de tasa autoimpuesto (solicitudes/período)

NBB_RATE_LIMIT_PERIOD

60

Ventana de límite de tasa (s)

NBB_RETRY_ATTEMPTS

3

Reintentos en errores transitorios

NBB_LOG_LEVEL

INFO

DEBUG/INFO/WARNING/ERROR

NBB_LOG_FORMAT

json

json o console

La ruta de caché predeterminada se resuelve a:

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

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

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


La instantánea incluida en src/nbb_mcp/data/catalog/ se regenera obteniendo el DSD + listas de códigos para cada uno de los 221 flujos de datos:

mcp-nbb-build-catalog --force

Opciones:

  • --force — reconstruir cada ficha, ignorando las existentes.

  • --limit N — procesar solo los primeros N flujos (depuración).

  • --only BE2/DF_EXR,BE2/DF_HICP_2025 — reconstruir flujos específicos.

  • --concurrency 5 — solicitudes DSD en paralelo.

Una reconstrucción completa tarda ~80 segundos contra la API en vivo. El tamaño del catálogo está limitado a ~9 MB truncando las listas de códigos a 200 códigos por dimensión (algunos flujos del FMI tienen más de 65 000 códigos).

Una GitHub Action semanal (build-catalog.yml) reconstruye el catálogo y abre un PR si se detecta desviación.


Solución de problemas

"El WAF devolvió una redirección HTML"

La API de NBB está detrás de un WAF que devuelve una redirección HTML 200 para cualquier solicitud sin un User-Agent similar a un navegador y un encabezado Origin: https://dataexplorer.nbb.be. El cliente inyecta ambos por defecto. Si anula NBB_USER_AGENT, mantenga una cadena de navegador con apariencia genuina.

"HTTP 404 NoResultsFound" en una consulta de datos

La clave SDMX no coincidió con ninguna serie. Use nbb_describe(dataflow_id) para ver códigos válidos, o pase filters={} / key="all" para recuperar todo y luego acote mediante start_period/end_period.

"Demasiadas observaciones, truncado"

Cada respuesta de datos está limitada a max_observations=200 por defecto. Auméntela mediante nbb_query(max_observations=1000) o acote la consulta con una ventana de período.

Catálogo no encontrado

Si ejecuta sin el src/nbb_mcp/data/catalog/ incluido, ejecute mcp-nbb-build-catalog una vez para poblarlo.


Desarrollo

Consulte CONTRIBUTING.md para el flujo de trabajo de desarrollo completo. Forma corta:

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 se ejecuta en Linux, macOS y Windows con Python 3.11 y 3.12. Consulte DATAFLOWS_CATALOG.md para el inventario clasificado.


Seguridad

Por favor, reporte vulnerabilidades de forma privada — consulte SECURITY.md.

Licencia

MIT — consulte LICENSE para el texto completo.

Este proyecto no está afiliado ni respaldado por el National Bank of Belgium. Es un cliente independiente de su API REST SDMX pública. Los encabezados User-Agent y Origin similares a un navegador son requeridos por el WAF ascendente y se utilizan únicamente para acceder a datos estadísticos públicos. Los usuarios son responsables de cumplir con los términos de uso de 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