Local-first personal finance MCP について
finance-mcp は、口座データをローカルの Markdown ボルトに保存したい個人向けのローカルファーストな家計管理 MCP です。Plaid を使って残高、保有資産、取引、負債を同期し、アクセストークンは macOS Keychain に保存します。
主な機能
- 01Plaid による銀行・証券口座の連携
- 02残高、保有資産、取引、負債の同期
- 03口座とキャッシュフロー情報の Markdown 保存
- 04macOS Keychain でのアクセストークン保管
- 05ローカル SQLite での取引履歴保存
活用シーン
- 01連携した金融口座の残高を確認
- 02ボルトで保有資産と月次キャッシュフローを確認
- 03アクセストークンを返さずに取引をローカル同期
MCP 対応
MCP サーバーは、金融機関の連携と解除、財務データの同期、月次キャッシュフローの集計、監査ログの確認に使うツールを提供します。ツールの応答では金融機関を別名で示し、生のアクセストークンは含めません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
finance-mcp
ローカルファーストの個人向けファイナンス MCP です。Plaid 経由で銀行、証券、クレジット、ローンの口座を集約します。残高、保有資産、取引を、Obsidian 形式のローカル Markdown Vault に書き込みます。アクセストークンは macOS Keychain に保存されます。データを送信するのは plaid.com だけです。
できること
- Plaid 経由で米国内のあらゆる銀行や証券会社を連携できます(Chase、Citi、Schwab、Discover、Fidelity、Wells Fargo、Bank of America、Capital One、Vanguard、Robinhood、Coinbase、学生ローンのサービサーなど、合計 12,000 以上の金融機関)。
- すべての口座の最新残高を取得し、Vault の
Accounts.mdに自動同期ブロックを書き込みます。 - 保有投資資産(株数、取得原価、現在価値を含む)を取得し、
Investments.mdに書き込みます。 - 取引をカーソル方式で取得し(初回同期後は差分のみ)、ローカルの SQLite に保存します。
- 月ごとのキャッシュフローをカテゴリ別に集計し、
Cash Flow.mdに書き込みます。 - 負債情報(クレジットカードの APR、明細残高、学生ローンの返済情報)を取得します。
- Plaid への呼び出しと Keychain へのアクセスをすべて監査ログに記録します。
ローカルファーストが重要な理由
ほとんどの個人向けファイナンス SaaS(Mint、Copilot、YNAB、Monarch)は、銀行データを自社サーバーに保存し、その利用料を請求します。この MCP は次のように動作します。
- お使いのノートパソコン上で動作し、Plaid と直接通信して、ローカル Vault に書き込みます。
- アクセストークンは macOS Keychain に保存し、環境変数ファイルやデータベースには保存しません。
- ツールの応答でアクセストークンを返すことはありません。アイテムはエイリアス(
chase、citiなど)で参照されます。 - Vault のデータはインライン Dataview フィールドを含むプレーンな Markdownです。データも形式も自由に使え、いつまでもクエリできます。
インストール
Claude Code を開いて、次のコマンドを貼り付けます。
/plugin marketplace add adelaidasofia/finance-mcp
/plugin install finance-mcp@finance-mcp
macOS(Keychain 用)と Python 3.11 以降が必要です。インストール後、プラグインのルートにある .env に Plaid の認証情報を設定します(Plaid のアカウント登録手順については SETUP.md を参照してください)。
初回の使用
> healthcheck
ブロッカーが表示された場合は、その指示に従ってください。すべて緑色になったら:
> link_start(institution_alias="chase")
返された link_token を Plaid の Link デモページで開きます(トークンを「Link Token」と表示されたフィールドに貼り付け、「Open Plaid Link」をクリックします)。ブラウザーで銀行認証を完了します。成功ページから public_token をコピーします。
> link_complete(institution_alias="chase", public_token="public-sandbox-...")
銀行ごとに繰り返します。
> sync_balances
> sync_holdings
> sync_transactions
> rollup_month(month="2026-05")
Vault の Accounts.md、Investments.md、Cash Flow.md に、現在のデータを含む自動同期ブロックが追加されました。いつでも再実行できます。
ツール一覧
| ツール | 機能 |
|---|---|
healthcheck | Plaid の認証情報、vault のパス、キーチェーンへのアクセスを確認します。 |
link_start(alias) | 新しい銀行口座のリンクを開始します。link_token を返します。 |
link_complete(alias, public_token) | public_token を交換し、Keychain に保存します。 |
list_linked | リンク済みの金融機関と最終同期時刻を一覧表示します。 |
unlink(alias) | 金融機関のリンクを解除します。Plaid item を失効させ、Keychain エントリーを削除します。 |
sync_balances([alias]) | 現在の残高を取得し、Accounts.md に反映します。 |
sync_holdings([alias]) | 投資ポジションを取得し、Investments.md に反映します。 |
sync_transactions([alias]) | カーソルベースで取引を同期し、SQLite に保存します。 |
sync_liabilities([alias]) | クレジットとローンの詳細を取得します。 |
sync_all([alias]) | 上記すべてを順番に実行します。 |
rollup_month(month) | 月次の収入・支出を集計し、Cash Flow.md に反映します。 |
audit_tail(n) | 監査ログの直近 N 件を取得します。 |
セキュリティモデル
- Plaid の
access_tokenは macOS Keychain(securityCLI)に保存されます。サービス名はfinance-mcp、アカウント名は金融機関のエイリアスです。 - Plaid の
client_idとsecretは.envに保存されます(chmod 600)。コミットされることはありません(.gitignoreに登録されています)。 - 取引履歴は SQLite(
~/.claude/finance-mcp/data.db)に保存されます(vault 内には保存されません)。 - vault への書き込みは、設定された
FINANCE_MCP_FINANCE_FOLDER内でのみ行われます。空文字列に設定すると、vault への書き込みを完全に無効化できます。 - 監査ログには、Plaid へのすべての呼び出しとキーチェーン操作が記録されます。
- ツールの応答に生のアクセストークンが含まれることはありません。
Plaid 環境
- sandbox(デフォルト):架空の銀行と認証情報(
user_good/pass_good)を使用します。永久に無料です。まずはこちらをお使いください。 - development:実在する銀行を利用できます。Plaid アカウントごとに最大 100 件まで無料です。個人アカウントでの利用に適しています。
- production:大規模な利用向けの実在する銀行環境です。Plaid アプリケーションと有料プランが必要です。
.env の PLAID_ENV で設定します。環境を切り替える場合は、すべての金融機関を再リンクしてください(トークンは環境に紐付いています)。
関連 MCP
jkoelker/schwab-mcp— Charles Schwab Trader API に直接接続し、オプション、取引の発注、Plaid で取得できる範囲を超える詳細なポジションデータを扱います。tomasgesino/schwab-mcp— ドライランをデフォルトとする取引機能を備えた、Schwab のホイール戦略管理ツールです。
finance-mcp は Plaid 経由で Schwab の基本的な残高と保有資産を扱います。Schwab のパワーユーザー向け機能には、上記の MCP をご利用ください。
同系列の関連 MCP
- apollo-mcp — Apollo.io の CRM とアウトバウンドシーケンス。
- slack-mcp — 下書きと確認による安全対策を備えた、複数ワークスペース対応の Slack。
- imessage-mcp — Whisper による音声文字起こしに対応した、ローカルの iMessage。
- whatsapp-mcp — ローカルブリッジ経由の WhatsApp。
- substack-mcp — 投稿と Notes の公開、分析データの取得。
- parse-mcp — 複数のバックエンドに対応するドキュメント解析ルーター。
- graph-query-mcp — 個人用ナレッジグラフのクエリ。
テレメトリ
このプラグインは、特定のマシンで Claude Code のセッション中に初めて読み込まれたとき、匿名のインストール通知を 1 回だけ myceliumai.co に送信します。
送信される情報:
- プラグイン名(例:
slack-mcp) - プラグインのバージョン(例:
0.1.0)
送信されない情報:
- ユーザー識別情報、名前、メールアドレス、トークン、API キーは送信されません
- ファイルパス、メッセージの内容、作業に関する情報は送信されません
- 重複排除の処理後に IP アドレスが保存されることはありません
目的: メンテナーが実際にインストールされているプラグインを把握し、利用されているプラグインに注力できるようにします。
オプトアウト: Claude Code を起動する前に、環境変数 MYCELIUM_NO_PING=1 を設定してください。フックはネットワーク呼び出しを完全にスキップします。通知済みのインストールでは ~/.mycelium/onboarded-<plugin> にセンチネルファイルが作成されます。状態をリセットする場合は、このファイルを削除してください。
ライセンス
MIT。詳細は LICENSE をご覧ください。
旧式のインストール(手動)
まだプラグインマーケットプレイスを利用できない方向けの手動手順です。
git clone https://github.com/adelaidasofia/finance-mcp ~/.claude/finance-mcp
cd ~/.claude/finance-mcp
pip3 install --break-system-packages -r requirements.txt
cp .env.example .env
chmod 600 .env
次に、ボルトの .mcp.json(プロジェクトスコープ)または ~/.claude.json(ユーザースコープ。claude mcp add を使用)に追加して、Claude Code に登録します。
"finance": {
"type": "stdio",
"command": "python3",
"args": ["-m", "finance_mcp.server"],
"env": {
"PYTHONPATH": "/Users/<you>/.claude/finance-mcp",
"FINANCE_MCP_VAULT_PATH": "/Users/<you>/Documents/MyVault",
"FINANCE_MCP_FINANCE_FOLDER": "Finance"
}
}
Claude Code を再起動します。ツールは mcp__finance__* の下に表示されます。
Adelaida Diaz-Roa が制作しました。完全版のインストールまたはチーム版は diazroa.com をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。