Investec MCP: Banking API for AI Agents について
Investec Open Banking APIをMCP経由で利用するサーバーです。Investec Developerの認証情報を持つユーザーや、銀行情報の参照・送金を行うAIエージェント向けに、口座、受取人、支払い、書類のツールを提供します。
主な機能
- 01口座残高・取引の取得
- 02プロフィールと受取人の参照
- 03口座間送金と受取人への支払い
- 04複数件の一括送金・支払い
- 05口座書類の一覧・取得
活用シーン
- 01口座残高や取引を確認する
- 02承認済み受取人に支払う
- 03複数口座への送金をまとめる
MCP 対応
Investec Open Banking APIの口座情報参照や送金機能を、MCPクライアント向けのツールとして公開します。SSEとstdioのトランスポートに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Investec MCP:AI エージェント向け銀行 API
Model Context Protocol (MCP) サーバーの実装です。Investec Open Banking API と連携し、AI エージェントが銀行情報にアクセスして取引を実行できるようにします。
概要
このプロジェクトは、AI エージェントが Investec Open Banking API を利用できるようにする MCP サーバーを提供します。Anthropic が示す MCP サーバー構築のベストプラクティスに従っており、Claude など、MCP 対応クライアントとシームレスに連携できます。
機能
このサーバーは、Investec Open Banking API に基づく包括的な銀行関連ツールを提供します。
口座情報
get_accounts:認証済みユーザーのすべての口座を取得しますget_account_balance:特定の口座の残高を取得しますget_account_transactions:フィルタリングオプションを指定して、特定の口座の取引を取得しますget_pending_transactions:特定の口座の保留中の取引を取得します
プロフィール管理
get_profiles:ユーザーが同意したすべてのプロフィールを取得しますget_profile_accounts:特定のプロフィールの口座を取得しますget_profile_beneficiaries:特定のプロフィールと口座の受取人を取得しますget_authorisation_setup_details:承認が必要な支払いの認証設定の詳細を取得します
受取人管理
get_beneficiaries:保存済みの受取人をすべて取得しますget_beneficiary_categories:受取人のカテゴリーをすべて取得します
送金と支払い
transfer_money:自分の口座間で送金します(便利なメソッド)transfer_multiple:一括で1つまたは複数の口座に資金を送金しますpay_beneficiary:保存済みの受取人に支払います(便利なメソッド)pay_multiple:一括で複数の受取人に支払います
書類管理
get_documents:期間を指定して、口座の書類一覧を取得しますget_document:種類と日付を指定して、特定の書類を取得します
前提条件
- Python 3.12+
- API 認証情報を持つ Investec Developer アカウント
- MCP サーバーをコンテナとして実行する場合は Docker(推奨)
インストール
uv を使用する場合
-
このリポジトリをクローンします。
git clone https://github.com/yourusername/investec-mcp.git cd investec-mcp -
依存関係をインストールします。
uv pip install -e . -
.env.exampleを基に.envファイルを作成します。cp .env.example .env -
Investec API 認証情報を使って、
.envファイルの環境変数を設定します
Docker を使用する場合(推奨)
-
Docker イメージをビルドします。
docker build -t investec/mcp --build-arg PORT=8050 . -
.env.exampleを基に.envファイルを作成し、環境変数を設定します
設定
以下の環境変数を .env ファイルで設定できます。
| 変数 | 説明 | 例 |
|---|---|---|
TRANSPORT | トランスポートプロトコル(sse または stdio) | sse |
HOST | SSE トランスポート使用時のバインド先ホスト | 0.0.0.0 |
PORT | SSE トランスポート使用時の待ち受けポート | 8050 |
INVESTEC_CLIENT_ID | Investec Developer Portal のクライアント ID | your-client-id |
INVESTEC_CLIENT_SECRET | Investec Developer Portal のクライアントシークレット | your-client-secret |
INVESTEC_API_KEY | Investec Developer Portal の API キー | your-api-key |
サーバーの実行
uv を使用する場合
SSE トランスポート
# Set TRANSPORT=sse in .env then:
uv run python src/main.py
MCP サーバーは、接続可能な API エンドポイントとして実行されます。
Stdio トランスポート
stdio を使用すると、MCP クライアント自体が MCP サーバーを起動できます。
Docker を使用する場合
SSE トランスポート
docker run --env-file .env -p 8050:8050 investec/mcp
MCP サーバーは、接続可能なコンテナ内の API エンドポイントとして実行されます。
Stdio トランスポート
stdio を使用すると、MCP クライアント自体が MCP サーバーのコンテナを起動できます。
MCP クライアントとの統合
SSE の設定
SSE トランスポートでサーバーを起動したら、次の設定を使用して接続できます。
{
"mcpServers": {
"investec": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
Windsurf ユーザーへの注意:設定では
urlの代わりにserverUrlを使用してください。{ "mcpServers": { "investec": { "transport": "sse", "serverUrl": "http://localhost:8050/sse" } } }
デフォルトの 8050 以外のポートを使用する場合は、ポート番号を更新してください。
Python の Stdio 設定
このサーバーを Claude Desktop、Windsurf、またはその他の MCP クライアントの MCP 設定に追加してください。
{
"mcpServers": {
"investec": {
"command": "path/to/python",
"args": ["path/to/investec-mcp/src/main.py"],
"env": {
"TRANSPORT": "stdio",
"INVESTEC_CLIENT_ID": "your-client-id",
"INVESTEC_CLIENT_SECRET": "your-client-secret",
"INVESTEC_API_KEY": "your-api-key"
}
}
}
}
Docker の Stdio 設定
{
"mcpServers": {
"investec": {
"command": "docker",
"args": ["run", "--rm", "-i",
"-e", "TRANSPORT",
"-e", "INVESTEC_CLIENT_ID",
"-e", "INVESTEC_CLIENT_SECRET",
"-e", "INVESTEC_API_KEY",
"investec/mcp"],
"env": {
"TRANSPORT": "stdio",
"INVESTEC_CLIENT_ID": "your-client-id",
"INVESTEC_CLIENT_SECRET": "your-client-secret",
"INVESTEC_API_KEY": "your-api-key"
}
}
}
}
セキュリティに関する考慮事項
この MCP サーバーでは、機密性の高い銀行の認証情報が必要です。必ず次の点を守ってください。
.envファイルを安全に保管し、バージョン管理に絶対にコミットしないでください。- コンテナイメージをビルドして配布する場合は、安全でプライベートな Docker レジストリを使用してください。
- サーバーは、安全で信頼できるネットワーク上でのみ実行してください。
- リクエストのレート制限など、追加のセキュリティ対策の実装を検討してください。
サーバーの拡張
機能を追加するには、次の手順を実行してください。
src/utils.pyのInvestecClientクラスにメソッドを追加し、目的の Investec API エンドポイントとやり取りできるようにします。src/tools/ディレクトリ内の該当する Python ファイル(例:アカウント関連のツールの場合はsrc/tools/accounts.py)に、新しいツール関数を作成します。これらの関数には@mcp.tool()デコレーターを使用してください。- 新しいツール関数を
src/main.pyにインポートして登録します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。