🚀 バンシコMCPサーバー
メキシコ銀行(バンシコ)のSIE APIにアクセスし、米ドル/メキシコペソの為替レートデータやその他の経済指標を取得するためのモデルコンテキストプロトコル(MCP)サーバーです。

✨ 主な機能
- リアルタイム為替レート:バンシコから最新の米ドル/メキシコペソの為替レートを取得
- 過去のデータ:カスタマイズ可能な範囲で過去の為替レートデータを取得
- シリーズのメタデータ:経済データシリーズに関する詳細情報にアクセス
- 日付範囲のクエリ:特定の日付範囲の為替レートデータを取得
- MCP互換:Claude Desktop、Gemini CLI、その他のMCPクライアントと連携可能
📦 インストール
前提条件
- システムに Python 3.10+ がインストールされていること
- uvx(推奨)または uv パッケージマネージャー
- バンシコAPIトークン - バンシコSIE API から取得
インストール方法
オプション1:GitHubから直接インストール(自動更新)⭐ 推奨
この方法では、MCPクライアントを再起動すると自動的に最新の更新が適用されます。
MCPクライアントの設定:
"banxico": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/cfocoder/banxico_mcp",
"banxico-mcp-server"
],
"env": {
"BANXICO_API_TOKEN": "your_token_here"
}
}
手動でのインストールは不要です! uvxが自動的に最新バージョンをダウンロードして実行します。
オプション2:単一ファイルをダウンロード(手動更新)
ファイルをローカルにダウンロードする場合:
-
uvxをインストール(まだインストールされていない場合):
pip install uv
-
サーバーファイルをダウンロード:
curl -O https://raw.githubusercontent.com/cfocoder/banxico_mcp/main/banxico_mcp_server.py
-
MCPクライアントの設定:
"banxico": {
"command": "uvx",
"args": [
"--python", "3.12",
"--from", "fastmcp",
"--with", "httpx",
"--",
"python",
"/absolute/path/to/banxico_mcp_server.py"
],
"env": {
"BANXICO_API_TOKEN": "your_token_here"
}
}
更新を取得するには:新機能が追加されたときにファイルを再ダウンロードしてください。
オプション3:従来のインストール方法
- リポジトリをクローン:
git clone https://github.com/cfocoder/banxico_mcp.git
cd banxico_mcp
- 依存関係をインストール:
pip install fastmcp httpx
- サーバーを起動:
BANXICO_API_TOKEN=your_token_here python banxico_mcp_server.py
📚 ドキュメント
バンシコAPIトークンの取得
- バンシコトークン登録 にアクセス
- フォームに入力してAPIトークンをリクエスト
- トークンがメールで送信されます
MCPクライアントの設定
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json に追加:
{
"mcpServers": {
"banxico": {
"command": "uvx",
"args": [
"--python", "3.12",
"--from", "fastmcp",
"--with", "httpx",
"--",
"python",
"/absolute/path/to/banxico_mcp_server.py"
],
"env": {
"BANXICO_API_TOKEN": "your_banxico_token_here"
}
}
}
}
Gemini CLI
~/.gemini/settings.json に追加:
{
"mcpServers": {
"banxico": {
"command": "uvx",
"args": [
"--python", "3.12",
"--from", "fastmcp",
"--with", "httpx",
"--",
"python",
"/absolute/path/to/banxico_mcp_server.py"
],
"env": {
"BANXICO_API_TOKEN": "your_banxico_token_here"
}
}
}
}
利用可能なツール
| ツール |
説明 |
パラメータ |
get_latest_usd_mxn_rate() |
最新の米ドル/メキシコペソの為替レートを取得 |
なし |
get_usd_mxn_historical_data(limit) |
過去の為替レートデータを取得 |
limit:最大データポイント数(デフォルト: 30) |
get_series_metadata(series_id) |
データシリーズのメタデータを取得 |
series_id:シリーズID(デフォルト: SF63528) |
get_date_range_data(start_date, end_date, series_id) |
特定の日付範囲のデータを取得 |
start_date, end_date:YYYY-MM-DD形式 |
get_inflation_data(inflation_type, limit) |
インフレ率データを取得 |
inflation_type:'monthly'、'accumulated'、'annual'(デフォルト: 'monthly')
limit:最大データポイント数(デフォルト: 12) |
get_udis_data(limit) |
UDIS(投資単位)の値を取得 |
limit:最大データポイント数(デフォルト: 30) |
get_cetes_28_data(limit) |
CETES 28日の金利を取得 |
limit:最大データポイント数(デフォルト: 30) |
get_banxico_reserves_data(limit) |
バンシコの外貨準備資産データを取得 |
limit:最大データポイント数(デフォルト: 30) |
get_unemployment_data(limit) |
失業率データを取得 |
limit:最大データポイント数(デフォルト: 24) |
💻 使用例
MCPクライアントに設定した後、以下のような質問をすることができます。
為替レート
- "現在の米ドル/メキシコペソの為替レートは何ですか?"
- "過去10日間の米ドル/メキシコペソの為替レートを表示してください"
- "2024年1月1日から2024年1月31日までの為替レートデータを取得してください"
- "米ドル/メキシコペソのシリーズのメタデータは何ですか?"
インフレ率データ
- "現在のメキシコの月次インフレ率は何ですか?"
- "昨年の年次インフレ率データを表示してください"
- "過去6か月間の累積インフレ率を取得してください"
金利
- "現在のCETES 28日の金利は何ですか?"
- "先月のCETES金利を表示してください"
金融指標
- "現在のUDISの値は何ですか?"
- "バンシコの外貨準備資産を表示してください"
- "バンシコから最新の金融指標を取得してください"
労働市場
- "現在のメキシコの失業率は何ですか?"
- "昨年の失業率の傾向を表示してください"
- "過去2年間で失業率はどのように変化しましたか?"
🔧 技術詳細
APIリファレンス
サーバーは バンシコSIE API を使用しており、以下のエンドポイントがあります。
為替レート
- 最新データ:
/series/SF63528/datos/oportuno
- 過去のデータ:
/series/SF63528/datos
- シリーズのメタデータ:
/series/SF63528
- 日付範囲:
/series/SF63528/datos/{start_date}/{end_date}
インフレ率データ
- 月次インフレ率:
/series/SP30577/datos
- 累積インフレ率:
/series/SP30579/datos
- 年次インフレ率:
/series/SP30578/datos
金融指標
- UDIS:
/series/SP68257/datos
- CETES 28日:
/series/SF282/datos
- バンシコの外貨準備資産:
/series/SF308843/datos
労働市場
開発
プロジェクト構成
banxico-mcp-server/
├── banxico_mcp_server.py # メインサーバーファイル
├── README.md # このファイル
├── LICENSE # MITライセンス
├── CONTRIBUTING.md # 開発ガイドライン
└── docs/ # ドキュメントとサンプル
├── EXTENDING.md # 新しいエンドポイントを追加するガイド
└── examples/ # 設定例
├── claude-desktop.md
├── continue.md
├── env-template.md
├── gemini-cli.md
└── vscode-cline.md
テスト
MCPクライアントを使用せずにサーバーをテストするには:
export BANXICO_API_TOKEN=your_token_here
timeout 5s python banxico_mcp_server.py && echo "Server starts successfully"
新しいツールの追加
新しいバンシコAPIエンドポイントを追加する詳細な手順は EXTENDING.md を参照してください。
🛠️ トラブルシューティング
一般的な問題
- "BANXICO_API_TOKEN環境変数が設定されていません"
- MCPクライアントの設定でAPIトークンが正しく設定されていることを確認
- "データの取得に失敗しました"
- インターネット接続を確認
- APIトークンが有効であることを確認
- バンシコAPIにアクセス可能であることを確認
- サーバーが起動しない
- Python 3.10+ がインストールされていることを確認
- uvxまたは必要な依存関係が利用可能であることを確認
デバッグモード
デバッグログを有効にして実行するには:
BANXICO_API_TOKEN=your_token PYTHONPATH=. python -c "
import logging
logging.basicConfig(level=logging.DEBUG)
from banxico_mcp_server import mcp
mcp.run()
"
🔗 コントリビューション
- リポジトリをフォーク
- 機能ブランチを作成 (
git checkout -b feature/amazing-feature)
- 変更をコミット (
git commit -m 'Add amazing feature')
- ブランチにプッシュ (
git push origin feature/amazing-feature)
- プルリクエストを作成
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています - 詳細については LICENSE ファイルを参照してください。
🙏 謝辞
関連プロジェクト