mcp-cbr-rates

io.github.atomno-mcp由 GitHub 帳號 atomno-mcp 發布v0.1.11更新於 Oct 24, 2026

CBR exchange rates and key rates for Russia. MCP tools for finance agents.

已驗證STDIO僅桌面金融資料與分析

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓助理以唯讀方式取得俄羅斯央行公開資料:匯率、關鍵利率、通膨和總體快照。

可以做什麼
依貨幣代碼查詢指定日期或最新日期的官方匯率,並取得某段日期區間的每日匯率序列(單次最多 366 天)。查詢某段日期區間的央行關鍵利率歷史。依年份區間讀取每月年增率通膨資料。一次呼叫取得關鍵利率、美元/歐元/人民幣匯率和通膨的合併總體儀表板。
適用情境
適合助理需要俄羅斯盧布匯率、俄羅斯央行關鍵利率或俄羅斯通膨資料來做分析、報告或金融類問答,且不想申請 API 金鑰的情境。
執行需求
以 Python 套件形式透過 stdio 在本機執行(可用 pipx 或 uv 安裝,或用 uvx 執行)。需要能連線到俄羅斯央行公開端點的網路。不需 API 金鑰或帳號。選用環境變數可調整 HTTP 逾時、快取有效期和日誌等級。
安裝前請注意
所有工具皆為唯讀,README 表示不含密鑰和遙測。資料來自對央行公開端點的非官方封裝,不保證時效性與正確性,來源格式變更時工具可能失效。請求會傳送到俄羅斯央行伺服器。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 mcp-cbr-rates,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-cbr-rates

A Model Context Protocol (MCP) server that exposes public Bank of Russia (Центральный банк РФ, CBR) data — currency quotes, key rate, inflation and a compact macro snapshot — to AI agents.

[License: MIT] [PyPI] [GitHub release] [Tests] [Coverage] [Python] [MCP] [Glama]

[mcp-cbr-rates MCP server]

mcp-cbr-rates is part of the atomno family of MCP servers focused on the Russian fintech ecosystem. It is fully open-source, requires no API keys, and is built on top of the official public CBR endpoints.


Features

  • Five high-quality MCP tools, each with a strict Pydantic schema: get_rate, history_rates, key_rate, inflation, statistics.
  • Built-in TTL (Time-To-Live) cache: 1 hour for daily quotes, 24 hours for historical series, to be polite to the source.
  • Async httpx transport with automatic retries on 5xx errors.
  • Safe XML parsing via defusedxml.
  • 50+ unit tests with respx-mocked HTTP, ≥80 % coverage.
  • No secrets, no telemetry, no third-party trackers.

Quick start

Install from PyPI (recommended)

bash
pipx install atomno-mcp-cbr-ratesatomno-mcp-cbr-rates  # starts the MCP server over stdio

Or with uv:

bash
uv tool install atomno-mcp-cbr-rates

Install from source

bash
git clone https://github.com/atomno-mcp/mcp-cbr-rates.gitcd mcp-cbr-ratespip install -e .atomno-mcp-cbr-rates  # starts the MCP server over stdio

Use with Cursor

Add the following to .cursor/mcp.json (or your global ~/.cursor/mcp.json):

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

Use with Claude Desktop

Add to claude_desktop_config.json:

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

On Windows the config lives at %APPDATA%\Claude\claude_desktop_config.json; on macOS at ~/Library/Application Support/Claude/claude_desktop_config.json.

Use with Claude Code

bash
claude mcp add cbr-rates -- atomno-mcp-cbr-rates

Tools

NameInputsReturns
get_ratechar_code: str, on_date?: dateCurrencyRate — single quote on the given (or latest) date
history_rateschar_code: str, date_from: date, date_to: dateHistoryRates — series of daily quotes
key_ratedate_from?: date, date_to?: dateKeyRateHistory — CBR key-rate series
inflationyear_from?: int, year_to?: intInflationData — monthly year-over-year CPI in percent
statistics(none)MacroSnapshot — combined dashboard: key rate + USD/EUR/CNY + inflation

Examples in plain English:

"What was the official EUR rate on April 25, 2024?" Tool: get_rate(char_code="EUR", on_date="2024-04-25")

"Plot the daily USD-RUB rate over the last 90 days." Tool: history_rates(char_code="USD", date_from=..., date_to=...)

"Give me the latest key rate, USD/EUR/CNY, and inflation in one go." Tool: statistics()

The history_rates window is capped at 366 days; for longer periods, call the tool repeatedly.


Configuration

All settings are optional and read from environment variables:

VariableDefaultDescription
MCP_CBR_HTTP_TIMEOUT15HTTP timeout in seconds for CBR calls.
MCP_CBR_CACHE_DAILY_TTL3600Cache TTL for daily quotes (seconds).
MCP_CBR_CACHE_HISTORY_TTL86400Cache TTL for historical series and SOAP responses.
MCP_CBR_LOG_LEVELINFOStandard Python log level.

Legacy CBR_* names are still accepted for compatibility, but new configs should use MCP_CBR_*.

There are no API keys to configure — all CBR endpoints used here are public.


Development

bash
git clone https://github.com/atomno-mcp/mcp-cbr-rates.gitcd mcp-cbr-ratespython -m venv .venv && source .venv/bin/activate  # or .\.venv\Scripts\activate on Windowspip install -e ".[dev]"pytest --cov=src/mcp_cbr_rates

Layout:

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

Data sources

  • https://www.cbr.ru/scripts/XML_daily.asp — daily currency quotes.
  • https://www.cbr.ru/scripts/XML_dynamic.asp — historical currency series.
  • https://www.cbr.ru/scripts/XML_valFull.asp — currency code lookup.
  • https://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx — SOAP service for the CBR key rate.
  • https://www.cbr.ru/hd_base/infl/ — monthly year-over-year inflation table.

All endpoints are read-only and free of charge.


Disclaimer

This project is not affiliated with the Bank of Russia in any way. It is an unofficial, best-effort wrapper around publicly available data. Use at your own risk; the authors disclaim any responsibility for the freshness, accuracy or applicability of the data delivered through this server.

If CBR's HTML or XML schemas change, individual tools may stop working until this package is updated. Please open an issue if you notice a regression.


License

MIT — see LICENSE.

來源:README.md,提交 e44fc40

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.11最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分