mcpField
I
Investec MCP: Banking API for AI Agents

Investec MCP: Banking API for AI Agents

ローカル
github.com/Nicolaas0411開発ツール948 週間前に更新

Investec MCP: Banking API for AI Agents について

Investec Open Banking APIをMCP経由で利用するサーバーです。Investec Developerの認証情報を持つユーザーや、銀行情報の参照・送金を行うAIエージェント向けに、口座、受取人、支払い、書類のツールを提供します。

主な機能

  1. 01口座残高・取引の取得
  2. 02プロフィールと受取人の参照
  3. 03口座間送金と受取人への支払い
  4. 04複数件の一括送金・支払い
  5. 05口座書類の一覧・取得

活用シーン

  1. 01口座残高や取引を確認する
  2. 02承認済み受取人に支払う
  3. 03複数口座への送金をまとめる

MCP 対応

Investec Open Banking APIの口座情報参照や送金機能を、MCPクライアント向けのツールとして公開します。SSEとstdioのトランスポートに対応しています。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Investec MCP:AI エージェント向け銀行 API

Mem0 と MCP の統合

Model Context Protocol (MCP) サーバーの実装です。Investec Open Banking API と連携し、AI エージェントが銀行情報にアクセスして取引を実行できるようにします。

概要

このプロジェクトは、AI エージェントが Investec Open Banking API を利用できるようにする MCP サーバーを提供します。Anthropic が示す MCP サーバー構築のベストプラクティスに従っており、Claude など、MCP 対応クライアントとシームレスに連携できます。

機能

このサーバーは、Investec Open Banking API に基づく包括的な銀行関連ツールを提供します。

口座情報
  1. get_accounts:認証済みユーザーのすべての口座を取得します
  2. get_account_balance:特定の口座の残高を取得します
  3. get_account_transactions:フィルタリングオプションを指定して、特定の口座の取引を取得します
  4. get_pending_transactions:特定の口座の保留中の取引を取得します
プロフィール管理
  1. get_profiles:ユーザーが同意したすべてのプロフィールを取得します
  2. get_profile_accounts:特定のプロフィールの口座を取得します
  3. get_profile_beneficiaries:特定のプロフィールと口座の受取人を取得します
  4. get_authorisation_setup_details:承認が必要な支払いの認証設定の詳細を取得します
受取人管理
  1. get_beneficiaries:保存済みの受取人をすべて取得します
  2. get_beneficiary_categories:受取人のカテゴリーをすべて取得します
送金と支払い
  1. transfer_money:自分の口座間で送金します(便利なメソッド)
  2. transfer_multiple:一括で1つまたは複数の口座に資金を送金します
  3. pay_beneficiary:保存済みの受取人に支払います(便利なメソッド)
  4. pay_multiple:一括で複数の受取人に支払います
書類管理
  1. get_documents:期間を指定して、口座の書類一覧を取得します
  2. get_document:種類と日付を指定して、特定の書類を取得します

前提条件

  • Python 3.12+
  • API 認証情報を持つ Investec Developer アカウント
  • MCP サーバーをコンテナとして実行する場合は Docker(推奨)

インストール

uv を使用する場合
  1. このリポジトリをクローンします。

    git clone https://github.com/yourusername/investec-mcp.git
    cd investec-mcp
    
  2. 依存関係をインストールします。

    uv pip install -e .
    
  3. .env.example を基に .env ファイルを作成します。

    cp .env.example .env
    
  4. Investec API 認証情報を使って、.env ファイルの環境変数を設定します

Docker を使用する場合(推奨)
  1. Docker イメージをビルドします。

    docker build -t investec/mcp --build-arg PORT=8050 .
    
  2. .env.example を基に .env ファイルを作成し、環境変数を設定します

設定

以下の環境変数を .env ファイルで設定できます。

変数説明例
TRANSPORTトランスポートプロトコル(sse または stdio)sse
HOSTSSE トランスポート使用時のバインド先ホスト0.0.0.0
PORTSSE トランスポート使用時の待ち受けポート8050
INVESTEC_CLIENT_IDInvestec Developer Portal のクライアント IDyour-client-id
INVESTEC_CLIENT_SECRETInvestec Developer Portal のクライアントシークレットyour-client-secret
INVESTEC_API_KEYInvestec 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 サーバーでは、機密性の高い銀行の認証情報が必要です。必ず次の点を守ってください。

  1. .env ファイルを安全に保管し、バージョン管理に絶対にコミットしないでください。
  2. コンテナイメージをビルドして配布する場合は、安全でプライベートな Docker レジストリを使用してください。
  3. サーバーは、安全で信頼できるネットワーク上でのみ実行してください。
  4. リクエストのレート制限など、追加のセキュリティ対策の実装を検討してください。

サーバーの拡張

機能を追加するには、次の手順を実行してください。

  1. src/utils.py の InvestecClient クラスにメソッドを追加し、目的の Investec API エンドポイントとやり取りできるようにします。
  2. src/tools/ ディレクトリ内の該当する Python ファイル(例:アカウント関連のツールの場合は src/tools/accounts.py)に、新しいツール関数を作成します。これらの関数には @mcp.tool() デコレーターを使用してください。
  3. 新しいツール関数を src/main.py にインポートして登録します。

コメント

MCP は初めてですか?

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

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