robcerda/monarch-mcp-server
MCP Server for use with Monarch Money
Monarch Money MCP Server
概要 – Monarch Moneyの個人財務APIと通信し、そのデータをModel Context Protocol(MCP)を通じて公開する、小さなPythonサーバーです。MCPは、Claude Desktop、Claude Codeなど、Anthropic系のAIエージェントが外部ツールを呼び出す際の標準的な方法です。このサーバーを実行すると、AIがMonarchのアカウント、取引、予算、タグなどを読み取り・変更できるようになります。
注目すべき点 – Claudeをパーソナルアシスタント(例:Claude Desktop、Claude Code、Meta Muse)として使用していて、銀行や予算データへの直接的なプログラムアクセスを希望する場合、このサーバーが橋渡し役となります。Monarchの複雑なMFA/ログインフローを処理し、AIが呼び出せる明確なコマンドセットを提供します。
主な機能(READMEに記載)
- アカウント管理 – アカウント、保有資産の一覧表示、更新のトリガー。
- 取引CRUD – 取得、作成、更新、削除、一括カテゴリ分類、タグ付け、確認済みマーク。
- カテゴリとタグの処理 – カテゴリ、グループ、タグの一覧表示、新しいタグの作成。
- 検索とフィルタ – 日付、金額、店舗名、タグなどによる強力な取引検索。
- 定期予測と同期済み請求書 – 今後の定期支払いと負債請求書の詳細を表示。
- ルールエンジン – 自動カテゴリ分類ルールの一覧表示、作成、更新、削除。
- 複数のトランスポートオプション – 標準のstdioベースのツールとして実行(デフォルト)、またはStreamable-HTTPエンドポイント(
/mcp)を公開。 - コンテナサポート – Astralの
uv/Python 3.12スリムをベースにしたDockerイメージで、認証済みセッション用の永続ボリュームを備えています。 - 統合ノート – Claude Desktop/Code、Meta Muse、およびMCP互換のクライアントで動作します。
クイックスタート(ローカル)
- クローンとインストール
git clone https://github.com/robcerda/monarch-mcp-server.git cd monarch-mcp-server uv sync --locked # または pip install -r requirements-lock.txt && pip install -e . - Claudeクライアントを設定 –
mcpServersエントリを追加し、uv run … monarch-mcp-serverコマンドを指定します(パスはmacOSとWindowsで異なります。正確なJSONはREADMEを参照)。 - 一度だけ認証
スクリプトでは以下のことが可能です:uv run python login_setup.py # または python login_setup.py- ブラウザのセッションCookieを貼り付ける(推奨 – Cloudflare CAPTCHAを回避)。
- メールアドレス/パスワード+MFAでログイン。
- レガシートークンを使用(保持している場合)。 生成されたセッショントークンはOSのキーリング(またはDockerコンテナ内のファイル)に保存されます。
- Claudeを再起動 – AIが新しい「Monarch Money」ツールを認識し、
get_accounts、get_transactionsなどのコマンドを利用できるようになります。
コンテナデプロイメント
- ビルド:
docker build -t monarch-mcp-server . - 認証(一度だけ)永続ボリュームを使用:
docker run --rm -it -v monarch-session:/home/app/.monarch-mcp-server \ monarch-mcp-server python login_setup.py - サーバーを実行(HTTPモード、デフォルトは読み取り専用):
クライアントはdocker run -d --name monarch-mcp \ -p 127.0.0.1:8000:8000 \ -v monarch-session:/home/app/.monarch-mcp-server \ monarch-mcp-serverhttp://127.0.0.1:8000/mcpに接続します。 - 書き込みを有効にする(公開すると危険):
-e MONARCH_MCP_READ_ONLY=0を追加。 - セキュリティのヒント – セッションボリュームにはLinuxコンテナ上で暗号化されていないMonarchトークンが保存されます。ボリュームを機密として扱い、使用後は削除してください。
セキュリティと運用上の注意
- 単一アカウントサーバー – 接続されたすべてのクライアントが同じMonarchセッションを共有します。認証付きリバースプロキシの背後に置かない限り、HTTPエンドポイントを公開しないでください。
- ホスト/オリジンチェック –
MONARCH_MCP_ALLOWED_HOSTSを使用して特定のHostヘッダーにサーバーを制限し、DNSリバインディング攻撃を軽減できます。 - 読み取り専用デフォルト – Dockerイメージは読み取り専用モードで実行されます。変更コマンド(ログイン/ログアウトを含む)は
MONARCH_MCP_READ_ONLY=0のときのみ登録されます。 - 資格情報の保存 – ローカルインストールではセッションはOSのキーリングに保存されます。Dockerではプレーンファイルにフォールバックします(WindowsではDPAPIで暗号化されるのみ)。ボリュームは非公開に保ってください。
- MFA処理 – ログインスクリプトはTOTPコードをサポートしており、Monarchが要求した場合は確認コードの入力を求めます。
対象ユーザー
- Claudeのパワーユーザー – AIアシスタントに予算管理、支出のカテゴリ分類、オンデマンドでの取引データ取得をさせたい方。
- カスタムAIエージェントを開発する方 – 個人財務データのための信頼性の高いMCP互換エンドポイントが必要な方。
- コマンドライン/Dockerの基礎知識がある方 – 上記のセキュリティモデルを信頼できる方。
結論 – Monarch Money MCP Serverは、Claude系AIエージェントが標準プロトコルを介してMonarchの財務データと対話できるようにするための専用ブリッジであり、ローカルおよびコンテナ化されたデプロイオプションと、認証とセキュリティに関する明確なガイダンスを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト