Skip to main content
Glama
JosueM1109

personal-finance-mcp

by JosueM1109

personal-finance-mcp

License: MIT Python 3.11+ MCP

非公式。 本プロジェクトはPlaid Inc.と提携、推奨、または後援を受けていません。「Plaid」はPlaid Inc.の商標です。これは、ユーザーが提供した認証情報を使用してPlaidのAPIと通信するセルフホスト型のクライアントです。

銀行、クレジットカード、ローン、証券口座(Plaid経由)をClaude CodeのようなMCPクライアントに接続する、セルフホスト型の読み取り専用MCPサーバーです。サードパーティのアグリゲーター(Monarch、Mintなど)を介さず、自分の財務状況について平易な英語で質問できます。

質問できること

  • 「全口座の合計残高はいくら?」

  • 「過去30日間で100ドル以上の取引を表示して。」

  • 「まだ支払っているサブスクリプションは何?」

  • 「先月、食費にいくら使った?」

  • 「再認証が必要な銀行はある?」

セッション例(イメージ):

you    : What did I spend on groceries last month?
claude : [calls get_transactions]
         $487.23 across 14 transactions. Top merchants:
         Whole Foods ($198), Trader Joe's ($156), Safeway ($89).

you    : Any subscriptions I'm still paying for?
claude : [calls get_recurring_transactions]
         7 active recurring outflows totaling $142/mo:
         Netflix ($15.99), Spotify ($11.99), NYT ($4), ...

Related MCP server: plaid-mcp

ツール

9つのツールはすべて読み取り専用です。各ツールは {<data>: [...], "warnings": [...]} を返すため、1つの銀行でエラーが発生してもクエリ全体が停止することはありません。

ツール

機能

list_accounts

リンクされたすべての銀行の全口座と残高

get_balances

現在の残高と利用可能残高(口座によるフィルタリング可能)

get_transactions

指定期間内の取引(最大2年前まで)

search_transactions

加盟店名 / 名前 / 取引相手によるキーワード検索

get_recurring_transactions

検出された定期的な入出金ストリーム

get_liabilities

クレジットカード、学生ローン、住宅ローンのAPRおよび支払い詳細

get_investment_holdings

シンボルと証券メタデータを含む現在の保有状況

get_investment_transactions

指定期間内の売買 / 配当履歴

get_institutions_status

各リンク済み銀行の健全性(再認証が必要な場合に表示)

クイックスタート

Python 3.11+、Plaidアカウント(無料のTrialプラン)、およびMCPクライアントが必要です。

1. Plaidのセットアップ

  1. https://dashboard.plaid.com/signup に登録し、Trialプラン(無料、10アイテムまで)を選択します。

  2. Team Settings → Products で、TransactionsLiabilitiesInvestments を有効にします。

  3. Team Settings → API で、client_id と本番環境の secret をコピーします。

2. インストール

git clone https://github.com/JosueM1109/personal-finance-mcp.git
cd personal-finance-mcp
python3.11 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env   # then fill in PLAID_CLIENT_ID and PLAID_SECRET
pytest -v              # sanity check

3. 各銀行のリンク

接続したい銀行ごとに1回実行します:

uvicorn link_helper:app --port 8765

http://localhost:8765 を開き、Link a bank をクリックしてPlaid Linkを完了します。ターミナルに PLAID_TOKEN_CHASE=access-prod-xxx... のような行が表示されるので、それを .env に貼り付け、銀行ごとに繰り返します。

4. 実行

python server.py   # serves on http://localhost:8000/mcp

5. Claude Codeへの追加

claude mcp add --transport http personal-finance http://localhost:8000/mcp

「list my accounts」と入力して確認してください。

デプロイ

どこからでも使用できるデプロイ方法:

  • Docker (同梱): docker build -t personal-finance-mcp . && docker run --rm -p 8000:8000 --env-file .env personal-finance-mcp

  • 任意のPythonホスト (Fly.io, Railway, Raspberry Pi + Tailscale, VPS): .env.example から環境変数を設定し、HTTPS経由で /mcp を公開し、認証で保護します。

  • Prefect Horizon (作者が使用 — 定期コスト0ドル): 完全な手順については docs/DEPLOYMENT.md を参照してください。

エンドポイントを保護してください。 トークンを含むMCPエンドポイントを公開すると、リンクされたすべての口座情報が漏洩します。OAuth 2.1、Cloudflare Accessを使用するか、プライベートネットワークのみにバインドしてください。

セキュリティ

  • シングルテナント。 1人につき1デプロイ。共有しないでください。

  • 読み取り専用。 どの機関の状態も変更しません。変更するツールは追加しないでください。

  • トークンは環境変数に保存され、ディスクには保存されません。.env はgitignoredされています。

  • Plaidのコンプライアンスは自己責任です。 あなた自身のアカウントでPlaidの顧客となります。

デプロイ前のチェックリスト:

  • [ ] .env がコミットされていないこと: git log --all -- .env が何も返さないこと

  • [ ] 履歴に本物のトークンが含まれていないこと: git log -S'access-prod-' --all がプレースホルダーのみを返すこと

  • [ ] MCPエンドポイントの前に認証ゲートがあること(またはlocalhostのみ)

  • [ ] デプロイ環境で HORIZON=1 (または同様の設定) が設定され、link_helper.py がブロックされていること

  • [ ] 数週間ごとに get_institutions_status() を確認し、再認証が必要かチェックすること

トラブルシューティング

データがあるのにツールが空を返す。 銀行をリンクした際にPlaidの製品が有効になっていませんでした。Transactions + Liabilities + Investments を有効にして再リンクしてください。この場合、ツールは warningsPRODUCTS_NOT_SUPPORTED を表示します。

get_institutions_status()re_auth_required を表示する。 銀行のPlaidセッションが期限切れです。更新モードで link_helper.py を実行してください。既存のアクセストークンはそのまま維持されます。docs/DEPLOYMENT.md を参照してください。

Plaid Linkで銀行が「サポート対象外」と表示される(Amexでよくある)。 通常は INSTITUTION_REGISTRATION_REQUIRED の問題です。OAuth対応の銀行は、まずPlaidダッシュボードで機関ごとの登録が必要です。docs/TROUBLESHOOTING.md を参照してください。

その他の問題: docs/TROUBLESHOOTING.md

アーキテクチャ

  • server.py — FastMCPサーバー、9つの読み取り専用ツール。

  • plaid_client.py — Plaid SDKラッパー: SecretStr トークンのマスキング、アイテムごとの5分間のヘルスキャッシュ、レスポンスの整形、構造化されたエラーマッピング。

  • link_helper.py — Plaid Link用のローカル専用FastAPIアプリ。HORIZON=1 が設定されている場合は実行を拒否します。

詳細(/transactions/sync ではなく /transactions/get を使用する理由など): docs/ARCHITECTURE.md

コントリビューション

CONTRIBUTING.md を参照してください。スコープは意図的に「読み取り専用、シングルテナント、Plaidベース」に限定しています。

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A read-only MCP server that enables users to analyze their real bank, credit card, loan, and brokerage data through Plaid. It provides financial analysis tools for transactions, balances, investments, liabilities, and debt while keeping all access tokens and data locally stored.
    24
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Self-hosted MCP server enabling Claude to query bank accounts, balances, and transactions through Plaid with OAuth and TLS.
  • A
    license
    B
    quality
    A
    maintenance
    open-source personal finance app with a first-party MCP server. 91 HTTP tools (OAuth 2.1 + DCR) and 87 stdio tools cover transactions, budgets, accounts, portfolio analytics, FX conversion, loans, subscriptions, goals, importers, and rules. Users self-host with Docker + PostgreSQL or use the managed cloud
    89
    11
    AGPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A local MCP server that provides read-only SQL access to financial accounts via Plaid, enabling natural language queries about transactions, balances, and holdings.
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted remote MCP server for YNAB on Cloudflare Workers with OAuth

  • Brazilian Open Finance MCP — 30+ banks (Itaú, Nubank, etc.) to Claude/Cursor. Read-only.

  • Read-only bank access for your AI agent. Connects Claude, ChatGPT, Cursor, Gemini, Codex.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JosueM1109/personal-finance-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server