CBR Rates MCP Server について
CBR Rates MCP Serverは、AIエージェントやMCPクライアントにロシア中央銀行の公開為替・マクロ経済データを提供します。現行・過去の為替、政策金利、インフレ、統合スナップショットを扱う5つのツールを備え、キャッシュを利用でき、APIキーは不要です。
主な機能
- 01現在の為替レート取得
- 02過去の為替系列取得
- 03政策金利の履歴取得
- 04インフレデータ取得
- 05統合マクロスナップショット
- 06TTLキャッシュ
活用シーン
- 01指定日の公式為替レート確認
- 02一定期間の為替変動の確認
- 03政策金利とインフレ率の取得
- 04為替とインフレデータの一括取得
MCP 対応
stdio経由で、型定義された5つのツールをMCPクライアントに提供します。CBRの公開為替、政策金利、インフレ、マクロスナップショットを取得できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-cbr-rates
AI エージェントに、ロシア中央銀行(Центральный банк РФ、CBR)の公開データ(通貨レート、政策金利、インフレ率、簡潔なマクロ経済スナップショット)を提供する Model Context Protocol(MCP)サーバーです。
mcp-cbr-rates は、ロシアのフィンテックエコシステムに特化した MCP サーバー群、atomno ファミリーの一員です。完全なオープンソースで、API キーは不要です。CBR の公式公開エンドポイントを基盤として構築されています。
機能
- 厳密な Pydantic スキーマを備えた、高品質な MCP ツールを 5 つ提供します。
get_rate、history_rates、key_rate、inflation、statistics。 - 組み込みの TTL(Time-To-Live)キャッシュを備えています。データ提供元への負荷を抑えるため、日次レートは 1 時間、過去の時系列データは 24 時間キャッシュします。
- 5xx エラー時に自動リトライする、非同期の
httpx通信機能。 defusedxmlによる安全な XML 解析。respxで HTTP をモックした単体テストを 50 件以上用意し、カバレッジは 80 % 以上です。- シークレット、テレメトリー、サードパーティのトラッカーはありません。
クイックスタート
PyPI からインストール(推奨)
pipx install atomno-mcp-cbr-rates
atomno-mcp-cbr-rates # starts the MCP server over stdio
または、uv を使用します。
uv tool install atomno-mcp-cbr-rates
ソースからインストール
git clone https://github.com/atomno-mcp/mcp-cbr-rates.git
cd mcp-cbr-rates
pip install -e .
atomno-mcp-cbr-rates # starts the MCP server over stdio
Cursor で使用する
.cursor/mcp.json(またはグローバル設定の ~/.cursor/mcp.json)に次の内容を追加します。
{
"mcpServers": {
"cbr-rates": {
"command": "atomno-mcp-cbr-rates"
}
}
}
Claude Desktop で使用する
claude_desktop_config.json に追加します。
{
"mcpServers": {
"cbr-rates": {
"command": "atomno-mcp-cbr-rates"
}
}
}
Windows では設定ファイルは
%APPDATA%\Claude\claude_desktop_config.json にあります。macOS では
~/Library/Application Support/Claude/claude_desktop_config.json にあります。
Claude Code で使用する
claude mcp add cbr-rates -- atomno-mcp-cbr-rates
ツール
| 名前 | 入力 | 戻り値 |
|---|---|---|
get_rate | char_code: str、on_date?: date | CurrencyRate — 指定日(または最新日)の単一レート |
history_rates | char_code: str、date_from: date、date_to: date | HistoryRates — 日次レートの時系列データ |
key_rate | date_from?: date、date_to?: date | KeyRateHistory — CBR 政策金利の時系列データ |
inflation | year_from?: int、year_to?: int | InflationData — 前年同月比の月次 CPI(%) |
statistics | (なし) | MacroSnapshot — 政策金利、USD/EUR/CNY、インフレ率をまとめたダッシュボード |
平易な英語での例:
「2024 年 4 月 25 日の EUR の公式レートはいくらでしたか?」 ツール:
get_rate(char_code="EUR", on_date="2024-04-25")
「過去 90 日間の日次 USD-RUB レートをプロットしてください。」 ツール:
history_rates(char_code="USD", date_from=..., date_to=...)
「最新の政策金利、USD/EUR/CNY、インフレ率をまとめて教えてください。」 ツール:
statistics()
history_rates で取得できる期間は最大 366 日です。これより長い期間については、ツールを複数回呼び出してください。
設定
すべての設定は任意で、環境変数から読み込まれます。
| 変数 | デフォルト | 説明 |
|---|---|---|
MCP_CBR_HTTP_TIMEOUT | 15 | CBR の呼び出しにおける HTTP タイムアウト(秒)。 |
MCP_CBR_CACHE_DAILY_TTL | 3600 | 日次相場のキャッシュ TTL(秒)。 |
MCP_CBR_CACHE_HISTORY_TTL | 86400 | 過去の時系列データと SOAP レスポンスのキャッシュ TTL。 |
MCP_CBR_LOG_LEVEL | INFO | Python の標準ログレベル。 |
互換性のため、従来の CBR_* 名も引き続き使用できますが、新しい設定では MCP_CBR_* を使用してください。
設定する API キーはありません。ここで使用する CBR のエンドポイントはすべて公開されています。
開発
git clone https://github.com/atomno-mcp/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
構成:
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
データソース
https://www.cbr.ru/scripts/XML_daily.asp— 日次為替相場。https://www.cbr.ru/scripts/XML_dynamic.asp— 過去の為替時系列データ。https://www.cbr.ru/scripts/XML_valFull.asp— 通貨コードの検索。https://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx— CBR の政策金利を提供する SOAP サービス。https://www.cbr.ru/hd_base/infl/— 前年同月比インフレ率の月次表。
すべてのエンドポイントは読み取り専用で、無料で利用できます。
免責事項
このプロジェクトは、いかなる形でもロシア銀行とは提携していません。公開データを扱う非公式のラッパーであり、可能な限りの対応を行っています。ご利用は自己責任でお願いします。本サーバーを通じて提供されるデータの鮮度、正確性、適用性について、作成者は一切の責任を負いません。
CBR の HTML または XML スキーマが変更された場合、パッケージが更新されるまで個々のツールが動作しなくなることがあります。問題にお気づきの場合は、イシューを作成してください。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。