VOOZH about

URL: https://glama.ai/mcp/servers/atomno-labs/mcp-cbr-rates?locale=es-ES

⇱ mcp-cbr-rates by atomno-labs | Glama


mcp-cbr-rates

Un servidor del Protocolo de Contexto de Modelo (MCP) que expone datos públicos del Banco de Rusia (Центральный банк РФ, CBR) — cotizaciones de divisas, tipo de interés clave, inflación y un resumen macroeconómico compacto — para agentes de IA.

👁 License: MIT
👁 GitHub release
👁 Tests
👁 Coverage
👁 Python
👁 MCP

mcp-cbr-rates forma parte de la familia de servidores MCP de atomno centrada en el ecosistema fintech ruso. Es totalmente de código abierto, no requiere claves API y está construido sobre los endpoints públicos oficiales del CBR.


Características

  • Cinco herramientas MCP de alta calidad, cada una con un esquema Pydantic estricto: get_rate, history_rates, key_rate, inflation, statistics.

  • Caché TTL (Time-To-Live) integrada: 1 hora para cotizaciones diarias, 24 horas para series históricas, para ser respetuosos con la fuente.

  • Transporte httpx asíncrono con reintentos automáticos en errores 5xx.

  • Análisis XML seguro mediante defusedxml.

  • Más de 50 pruebas unitarias con HTTP simulado mediante respx, cobertura ≥80 %.

  • Sin secretos, sin telemetría, sin rastreadores de terceros.


Related MCP server: NexusForge EU Finance

Inicio rápido

Instalar desde el código fuente

git clone https://github.com/atomno-labs/mcp-cbr-rates.git
cd mcp-cbr-rates
pip install -e .
mcp-cbr-rates # starts the MCP server over stdio

Usar con Cursor

Añade lo siguiente a .cursor/mcp.json (o a tu ~/.cursor/mcp.json global):

{
 "mcpServers": {
 "cbr-rates": {
 "command": "mcp-cbr-rates"
 }
 }
}

Usar con Claude Desktop

Añade a claude_desktop_config.json:

{
 "mcpServers": {
 "cbr-rates": {
 "command": "mcp-cbr-rates"
 }
 }
}

En Windows, la configuración se encuentra en %APPDATA%\Claude\claude_desktop_config.json; en macOS en ~/Library/Application Support/Claude/claude_desktop_config.json.

Usar con Claude Code

claude mcp add cbr-rates -- mcp-cbr-rates

Herramientas

Nombre

Entradas

Devuelve

get_rate

char_code: str, on_date?: date

CurrencyRate — cotización única en la fecha dada (o la más reciente)

history_rates

char_code: str, date_from: date, date_to: date

HistoryRates — serie de cotizaciones diarias

key_rate

date_from?: date, date_to?: date

KeyRateHistory — serie del tipo de interés clave del CBR

inflation

year_from?: int, year_to?: int

InflationData — IPC mensual interanual en porcentaje

statistics

(ninguna)

MacroSnapshot — panel combinado: tipo de interés clave + USD/EUR/CNY + inflación

Ejemplos en lenguaje sencillo:

"¿Cuál fue el tipo de cambio oficial del EUR el 25 de abril de 2024?" Herramienta: get_rate(char_code="EUR", on_date="2024-04-25")

"Grafica el tipo de cambio diario USD-RUB de los últimos 90 días." Herramienta: history_rates(char_code="USD", date_from=..., date_to=...)

"Dame el último tipo de interés clave, USD/EUR/CNY y la inflación de una sola vez." Herramienta: statistics()

La ventana de history_rates está limitada a 366 días; para periodos más largos, llama a la herramienta repetidamente.


Configuración

Todos los ajustes son opcionales y se leen de las variables de entorno:

Variable

Predeterminado

Descripción

CBR_HTTP_TIMEOUT

15

Tiempo de espera HTTP en segundos para llamadas al CBR.

CBR_CACHE_DAILY_TTL

3600

TTL de caché para cotizaciones diarias (segundos).

CBR_CACHE_HISTORY_TTL

86400

TTL de caché para series históricas y respuestas SOAP.

CBR_LOG_LEVEL

INFO

Nivel de registro estándar de Python.

No hay claves API que configurar: todos los endpoints del CBR utilizados aquí son públicos.


Desarrollo

git clone https://github.com/atomno-labs/mcp-cbr-rates.git
cd mcp-cbr-rates
python -m venv .venv && source .venv/bin/activate # or .\.venv\Scripts\activate on Windows
pip install -e ".[dev]"
pytest --cov=src/mcp_cbr_rates

Estructura:

apps/mcp-cbr-rates/
├── src/mcp_cbr_rates/
│ ├── server.py # FastMCP entry point, tool registration
│ ├── tools.py # high-level async tools with caching
│ ├── client.py # httpx wrapper around CBR XML / SOAP / HTML endpoints
│ ├── schemas.py # Pydantic v2 models for inputs & outputs
│ ├── cache.py # async TTL cache
│ ├── currency_codes.py # static ISO → CBR id map (with dynamic fallback)
│ └── errors.py # typed exception hierarchy
└── tests/ # respx-mocked unit tests + fixtures

Fuentes de datos

  • https://www.cbr.ru/scripts/XML_daily.asp — cotizaciones diarias de divisas.

  • https://www.cbr.ru/scripts/XML_dynamic.asp — series históricas de divisas.

  • https://www.cbr.ru/scripts/XML_valFull.asp — búsqueda de códigos de divisas.

  • https://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx — servicio SOAP para el tipo de interés clave del CBR.

  • https://www.cbr.ru/hd_base/infl/ — tabla de inflación mensual interanual.

Todos los endpoints son de solo lectura y gratuitos.


Aviso legal

Este proyecto no está afiliado al Banco de Rusia de ninguna manera. Es un envoltorio no oficial, realizado con el mejor esfuerzo, sobre datos disponibles públicamente. Úselo bajo su propia responsabilidad; los autores declinan cualquier responsabilidad por la frescura, precisión o aplicabilidad de los datos entregados a través de este servidor.

Si los esquemas HTML o XML del CBR cambian, las herramientas individuales pueden dejar de funcionar hasta que este paquete sea actualizado. Por favor, abre un issue si notas una regresión.


Licencia

MIT — ver LICENSE.

A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
6dRelease cycle
4Releases (12mo)
Commit activity

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/atomno-labs/mcp-cbr-rates'

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