mcpField
O
Open Banking (open-banking.io)

Open Banking (open-banking.io)

ローカル
open-banking.io金融データ011 週間前に更新

Open Banking (open-banking.io) について

Open Banking は、open-banking.io の PSD2 API から口座、残高、取引、接続状況を取得する読み取り専用 MCP サーバーです。機密フィールドはユーザーの秘密鍵でローカル復号し、送金や同意管理は扱いません。

主な機能

  1. 01口座と銀行接続の一覧取得
  2. 02残高と取引明細の取得
  3. 03機密データのローカル復号
  4. 04正確な十進文字列での金額返却
  5. 05読み取り専用ツールと取引ページング

活用シーン

  1. 01複数口座の残高確認
  2. 02指定期間の支出集計
  3. 03接続状況と有効期限の確認

MCP 対応

口座、残高、取引、銀行接続を扱う読み取り専用ツールを MCP クライアントに公開します。Python SDK と設定済みの認証情報を使って open-banking.io API に接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbopen-banking-io-mcp.mcpb0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

open-banking.io MCP サーバー

open-banking.io PSD2 API 向けのシンプルな、読み取り専用の Model Context Protocol サーバーです。 AI エージェント(Claude Desktop、Cursor、任意の MCP クライアント)が、ご自身の銀行口座について 「残高はいくらですか?」 や 「先月の取引を要約してください」 といった質問に答えられるようにします。

公式の open-banking-io Python SDK をラップしており、 そのゼロ知識の特性を引き継ぎます。サービスが返すのは常に暗号文のみで、すべての 機密フィールド(IBAN、所有者名、金額、取引相手)は、エクスポートした秘密鍵を使って プロセス内で復号されます。平文がサードパーティに渡ることは一切ありません。LLM にも、 MCP クライアントが送信した情報だけが渡ります。

ツール

ツール引数説明
list_accounts—銀行口座:銀行、国、IBAN、所有者、表示名、通貨、残高、needs_reconnect フラグ
get_balancesaccount_id1 つの口座の ISO 20022 残高(ITBD = 記帳済み、ITAV = 利用可能)
get_transactionsaccount_id、date_from?、date_to?、limit?(デフォルト 50、最大 500)、offset?取引明細。新しい順で、取引相手と送金情報を含みます
list_connections—銀行との接続/同意:ステータス、valid_until、last_synced_at、口座数

すべてのツールは読み取り専用です。同期、支払い開始、同意管理のツールは意図的に用意していません。 詳しくは制限事項をご覧ください。

設定

環境変数必須意味
OBI_CREDENTIALS推奨open-banking.io アプリからエクスポートした認証情報バンドルのパス(またはインライン JSON)。apiBaseUrl、apiKey、暗号化秘密鍵が含まれます
OBI_API_KEY代替バンドルを使用しない場合の API キー
OBI_PRIVATE_KEY代替OBI_API_KEY に対応する Base64 PKCS#8 EC(SECP256R1)秘密鍵
OBI_BASE_URL代替設定時に必要API のベース URL(バンドル内の apiBaseUrl)。環境変数を個別に設定する場合に必要です

アプリの 設定 → 認証情報 から認証情報をエクスポートすると、バンドルファイルを取得できます。

Claude Desktop

claude_desktop_config.json(Claude → 設定 → Developer → Edit Config):

{
  "mcpServers": {
    "open-banking-io": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/open-banking-io/mcp-server.git",
        "obi-mcp"
      ],
      "env": {
        "OBI_CREDENTIALS": "/absolute/path/to/credentials.json"
      }
    }
  }
}
Cursor

.cursor/mcp.json:

{
  "mcpServers": {
    "open-banking-io": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/open-banking-io/mcp-server.git",
        "obi-mcp"
      ],
      "env": {
        "OBI_CREDENTIALS": "/absolute/path/to/credentials.json"
      }
    }
  }
}

uv が必要です(curl -LsSf https://astral.sh/uv/install.sh | sh)。 PyPI に公開された後は、--from git+… 引数を省略できます。

ローカル/ソースから実行
git clone https://github.com/open-banking-io/mcp-server.git
cd mcp-server
uv venv && uv pip install -e '.[dev]' --python .venv/bin/python
OBI_CREDENTIALS=/path/to/credentials.json .venv/bin/obi-mcp   # speaks MCP over stdio
.venv/bin/python tests/smoke.py                               # network-free smoke test
uv run --python .venv/bin/python pytest -q                    # full test suite

エージェントへの質問例

  • 「すべての口座の記帳済み残高を表示してください。」
  • 「7 月に食料品にいくら使いましたか?」(get_transactions +グループ化)
  • 「銀行との接続のうち、まもなく期限切れになるものはどれですか?」(list_connections)

設計上の注意点

  • 設計上、読み取り専用です。 SDK の get_* メソッドのみを公開します。SDK には sync/sync_all がありますが、意図的に提供していません。このサーバーを通じてエージェントが資金を移動したり、同意を変更したりすることはできません。
  • 正確な金額。 金額は浮動小数点数ではなく、正確な 10 進数文字列("1234.56")で返されます。
  • わかりやすいエラー。 認証情報の不足、無効な日付、不明な口座 ID、上流 HTTP エラーは、対処に役立つツールエラーとして通知されます(例:口座が見つからない場合に有効な口座 ID を一覧表示)。
  • コンテキストに配慮。 エージェントのコンテキストウィンドウを保護するため、get_transactions のデフォルト件数は 50 で、最大 500 件に制限されています。ページ分割には offset を使用してください。

制限事項(正直な一覧)

  • 書き込みツールはありません。同期、支払いの開始、同意の作成・更新はできません。同意の更新は 常に open-banking.io アプリで行います(PSD2 SCA)。
  • 銀行・金融機関のディレクトリツールはありません。上流 API(SDK v1.0.0)では、公開されている ASPSP 検索エンドポイントが提供されていません。API に追加された場合は TODO です。
  • PyPI にはまだ公開されていません。上記の uvx --from git+… またはソースからインストールしてください。open-banking-io-mcp として PyPI に公開する予定です。
  • データ最小化はご自身の責任で行ってください。取引には取引相手と送金目的のテキストが含まれます。このサーバーを信頼できる MCP クライアントにのみ接続し、プライバシー保護のため、ホスト型のものよりローカル MCP クライアント (Claude Desktop / Cursor)を優先してください。

ラップしている API の範囲

SDK 呼び出しHTTP(SDK の内部)
get_accounts()GET {apiBaseUrl}/api/accounts
get_transactions(id, from, to, limit, offset)GET {apiBaseUrl}/api/accounts/{id}/transactions
get_connections()GET {apiBaseUrl}/api/connections

認証:X-Api-Key ヘッダー。レスポンスにはゼロ知識エンベロープが含まれます (ECDH P-256 → HKDF-SHA256 → AES-256-GCM)。SDK がローカルで復号します。 完全なワイヤーフォーマットについては、clients repo · THREAT_MODEL.md を参照してください。

ライセンス

MIT — clients SDK リポジトリと同じです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。