Skip to main content
Glama
lukew0824

plaid-mcp

by lukew0824

plaid-mcp

ClaudeがPlaidを通じて銀行口座、残高、取引を照会できるようにするセルフホスト型のMCPサーバーです。

ツール

ツール

説明

accounts

リンクされたすべての銀行口座

balances

現在/利用可能な残高および利用限度額

transactions

指定期間の全取引履歴

total_spending

カテゴリ別の合計支出

transactions_by_category

Plaid PFCカテゴリによる取引のフィルタリング

merchants

指定期間の全加盟店(合計支出順)

transactions_by_merchant

加盟店名による取引のフィルタリング

仕組み

  • OAuth 2.1 + PKCE(IDプロバイダーとしてGoogleを使用)

  • メールアドレスの許可リストによるセキュリティ境界

  • Claude.aiは30日間のベアラートークンを取得します。Plaidのアクセストークンがサーバーから外部へ流出することはありません

  • CaddyがFastAPIの前面に配置され、自動プロビジョニングされたLet's Encrypt証明書を使用してポート443でTLSを終端し、localhost:8080へリバースプロキシします

要件

  • パブリックIPを持つLinuxサーバー(本ガイドではAWS EC2 t3.microを使用)

  • サーバーを指すドメイン名(本ガイドでは無料のDuckDNSサブドメインを使用)

  • 本番環境アクセス権を持つPlaid開発者アカウント

  • OAuthクライアント用のGoogle Cloudアカウント

セットアップ

1. Plaid

  1. dashboard.plaid.comでPlaidアカウントを作成します

  2. ダッシュボードで**Production access(本番環境アクセス)**を申請します(Plaidによる審査が行われます。数日かかる場合があります)

  3. 承認後、Team Settings → Keysからclient_idとProductionシークレットを保存します

2. Google OAuth

  1. console.cloud.google.comでプロジェクトを作成します

  2. APIs & Services → OAuth consent screenで「外部」アプリを設定し、自分自身をテストユーザーとして追加します

  3. APIs & Services → Credentials → Create credentials → OAuth client IDを選択します

  4. アプリケーションの種類: Web application

  5. Authorized redirect URIs: https://yourdomain.com/auth/google/callback (以下のステップ4で取得する実際のドメインを使用してください)

  6. Client IDとClient secretを保存します

3. サーバー

本ガイドではAWS EC2を想定しています:

  1. t3.micro Ubuntu 24.04インスタンスを起動します

  2. セキュリティグループ: インバウンドTCP 22(自分のIPからのSSH)、80、443を許可します

  3. Elastic IPを割り当て、インスタンスに関連付けます

  4. SSHで接続します: ssh -i your-key.pem ubuntu@<elastic-ip>

4. ドメイン

DuckDNSを使用した無料オプション:

  1. Google/GitHub/Redditでサインインします

  2. サブドメインを予約します(例: plaid-yourname)

  3. IPアドレスをElastic IPに設定します

  4. ドメインは plaid-yourname.duckdns.org になります

ステップ2.5に戻り、リダイレクトURIを https://plaid-yourname.duckdns.org/auth/google/callback に設定してください。

5. インストール

サーバー上で実行:

git clone https://github.com/lukew0824/plaid-mcp.git
cd plaid-mcp
cp .env.example .env
nano .env   # fill in everything
./install.sh

スクリプトの内容:

  • Python、Caddy、および依存関係のインストール

  • systemdサービス(plaid-mcp)のセットアップ

  • Let's Encryptによる自動HTTPSを備えたリバースプロキシとしてのCaddyの設定

6. Claude.aiでの接続

  1. Claude.ai → Settings → Connectors → Add custom connector

  2. URL: https://yourdomain.com/mcp

  3. Connectをクリックします

  4. ALLOWED_EMAILと一致するGoogleアカウントでサインインします

  5. 初回のみ: Plaid Linkのポップアップが表示されるので、銀行口座を接続します

  6. 完了です。以下のように試してみてください: "先月、食費にいくら使った?"

設定

.envの値:

キー

説明

PLAID_ENV

production

PLAID_CLIENT_ID

Plaidダッシュボードから取得

PLAID_PRODUCTION_SECRET

Plaidダッシュボードから取得

GOOGLE_CLIENT_ID

Google Cloud Consoleから取得

GOOGLE_CLIENT_SECRET

Google Cloud Consoleから取得

ALLOWED_EMAIL

認証を許可する唯一のGoogleメールアドレス

BASE_URL

このサーバーのパブリックHTTPS URL(末尾のスラッシュなし)

DATABASE_URL

sqlite:///./plaid_mcp.db(セルフホスト用デフォルト)

ライセンス

MIT

Related MCP Connectors