bank-mcp について
bank-mcpは、TrueLayer Open Banking経由で英国の銀行口座やカードのデータを読み取る非公式MCPサーバーです。MCPクライアントから自分の口座情報を確認でき、読み取り専用の権限のみを要求するため送金はできません。
主な機能
- 01連携銀行と同意期限の一覧表示
- 02口座とカードの取得
- 03口座残高の読み取り
- 04日付やページを指定した取引検索
- 05保留中の取引一覧
活用シーン
- 01クライアントで銀行やカードの残高を確認
- 02日付で口座取引を絞り込み
- 03保留中の取引と同意期限を確認
MCP 対応
このMCPサーバーは、接続先、口座、残高、取引、保留中の取引を扱う5つの読み取り専用ツールを提供します。stdioでMCPクライアントに接続でき、READMEに記載のとおりCloudflare Accessで保護されたリモートWorkerとしても実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
bank-mcp
TrueLayer の Open Banking を介して、自分の英国の銀行口座とカードのデータを読み取る、非公式の読み取り専用 MCP サーバーです。口座、カード、残高、取引を読み取れます。送金はできません。要求するのは読み取り専用スコープのみです。
TrueLayer またはいずれかの銀行とは提携していません。実際の口座をリンクする前に、SECURITY.md をご確認ください。
セットアップ
Python 3.11+ と uv(または pip)が必要です。
git clone https://github.com/pritch56/bank-mcp.git
cd bank-mcp
uv sync
uv run bank-mcp-link --help
または、pip install . で任意の環境にパッケージをインストールできます。これにより、bank-mcp(サーバー)と bank-mcp-link(銀行口座のリンク)コマンドが利用できるようになります。
TrueLayer の認証情報を取得する
- TrueLayer Console で無料アカウントを作成します。
- アプリケーションを作成し、client ID と client secret を控えます。まず sandbox を使い、その後 live に切り替えます。
- アプリケーションの設定に、次の リダイレクト URI を追加します:
http://localhost:3000/callback(変更する場合は、--portと同じポートを使用してください)。 - Data API が次のスコープで有効になっていることを確認します:
info accounts cards balance transactions offline_access。 bank-mcp-linkを実行するシェルで、認証情報を環境変数に設定します:
export TRUELAYER_CLIENT_ID=your-client-id
export TRUELAYER_CLIENT_SECRET=your-client-secret
export TRUELAYER_ENV=sandbox # or "live" (the default)
これらの値をコミットしないでください。.env ファイルは git の追跡対象外です。
銀行口座をリンクする
bank-mcp-link を実行すると、ブラウザーで銀行のサインインページが開き、選んだニックネームでトークンが保存されます。複数の銀行をリンクできます。
# Sandbox (no real bank needed)
uv run bank-mcp-link --provider mock --name test --sandbox
# A real bank: use its TrueLayer provider id, for example ob-nationwide
uv run bank-mcp-link --provider ob-nationwide --name nationwide
uv run bank-mcp-link --list # linked banks and consent expiry
uv run bank-mcp-link --remove nationwide # forget a bank
ブラウザーが開かない場合は、ターミナルに表示された URL をコピーしてください。リンク処理では、リダイレクトを 5 分間待ちます。
英国の Open Banking の同意期間は 90 日間です。期限が切れると、ツールは Reconnect required for '<bank>' を返します。その銀行について bank-mcp-link を再度実行してください。
トークンは ~/.bank-mcp/tokens.json に保存され、読み取れるのは自分だけです。
MCP クライアントを設定する
/path/to/bank-mcp をチェックアウト先のパスに置き換えてください。サーバーは環境変数から同じ TRUELAYER_* 認証情報を読み取り、各銀行のリンク時に記録されたプロバイダー ID と環境を使用します。
Claude Desktop
claude_desktop_config.json(Settings > Developer > Edit Config)に追加してから、Claude Desktop を再起動します:
{
"mcpServers": {
"bank": {
"command": "uv",
"args": ["run", "--directory", "/path/to/bank-mcp", "bank-mcp"],
"env": {
"TRUELAYER_CLIENT_ID": "your-client-id",
"TRUELAYER_CLIENT_SECRET": "your-client-secret",
"TRUELAYER_ENV": "live"
}
}
}
}
Claude Code
claude mcp add bank \
--env TRUELAYER_CLIENT_ID=your-client-id \
--env TRUELAYER_CLIENT_SECRET=your-client-secret \
--env TRUELAYER_ENV=live \
-- uv run --directory /path/to/bank-mcp bank-mcp
Cloudflare Workers でホストする
stdio ではなくリモートでサーバーを実行するには、worker/README.md を参照してください。Cloudflare Access で保護された、Workers KV にトークンを保存する TypeScript Worker です。
ツール
bank-mcp(stdio)は、5 つの読み取り専用ツールを公開します。list_connections を除く各ツールでは、bank ニックネームを任意で指定できます。省略すると、リンク済みのすべての銀行に問い合わせます。
| ツール | 返される情報 |
|---|---|
list_connections | リンク済みの銀行と同意期限 |
list_accounts | 口座とカード |
get_balance | 残高(任意で 1 つの account_id を指定) |
list_transactions | since/before の日付、limit/offset によるページ分割、include_pending |
list_pending | 保留中の取引 |
すべての銀行に問い合わせる場合、正常に処理できた銀行の結果は引き続き返され、失敗した銀行は errors に一覧表示されます。
設定
| 変数 | 意味 |
|---|---|
TRUELAYER_CLIENT_ID / TRUELAYER_CLIENT_SECRET | TrueLayer Console の認証情報(必須) |
TRUELAYER_ENV | live(デフォルト)または sandbox |
TRUELAYER_PROVIDER_ID | プロバイダー ID。銀行ごとに bank-mcp-link が自動設定します |
BANK_TOKEN_FILE | トークンファイルのパス(デフォルトは ~/.bank-mcp/tokens.json) |
BANK_MAX_RANGE_DAYS | 1 回の取引照会で指定できる日付範囲の最大日数 |
BANK_TRUELAYER_REFRESH_TOKEN | 任意のリフレッシュトークンの初期値 |
開発
CONTRIBUTING.md を参照してください。リリース履歴は CHANGELOG.md にあります。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。