Monarch Money

io.github.vargahis由 GitHub 帳號 vargahis 發布v0.1.4更新於 Oct 24, 2026

MCP server for Monarch Money — accounts, transactions, budgets, cashflow, investments, and more

已驗證STDIO僅桌面金融資料與分析

概覽

AI 產生的概覽

讓助理讀取並在啟用寫入後修改 Monarch Money 個人財務資料,例如帳戶、交易、預算與現金流。

可以做什麼
透過 44 個工具把助理連接到 Monarch Money 帳戶,涵蓋帳戶、交易與拆分、標籤、分類、交易規則、週期性商家、預算、現金流、投資與信用紀錄。預設以唯讀模式啟動,寫入工具會被隱藏並封鎖,直到明確啟用。讀取工具用於查詢與分析餘額、支出、淨資產與預算狀況;寫入工具可建立、更新與刪除交易、標籤、分類、規則、預算與帳戶。
適用情境
適合讓助理回答關於自己 Monarch Money 財務的問題、彙總支出或現金流,或批次修改交易、標籤與規則。較適合個人財務檢視與分析,而非一般理財建議。
執行需求
以本機 Python 套件形式執行,可透過 uvx、pip 或 Claude Desktop 擴充套件安裝,僅支援桌面端。首次啟動時在瀏覽器完成驗證,需要電子郵件、密碼以及啟用時的雙因素驗證碼,權杖儲存在作業系統鑰匙圈中。未宣告任何環境變數或標頭。
安裝前請注意
寫入工具預設關閉,需明確啟用;啟用後可建立、更新與刪除交易、標籤、分類、規則、預算與帳戶。憑證在瀏覽器中輸入,不會寫入設定檔,工作階段權杖保存在作業系統鑰匙圈中。選用的即時整合測試會使用 MONARCH_EMAIL 與 MONARCH_PASSWORD,並建立與刪除以 MCP-Test- 開頭的真實資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Monarch Money,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Monarch Money MCP Server

A Model Context Protocol (MCP) server for integrating with the Monarch Money personal finance platform through Claude Desktop.

Overview

  • Secure by design — browser-based login, token stored in OS keychain (never in config files or env vars)
  • Safe by default — read-only mode prevents accidental changes; write tools require explicit opt-in
  • Comprehensive — 44 tools covering accounts, transactions, splits, budgets, cashflow, tags, categories, transaction rules, recurring merchants, and credit history
  • Easy to install — Claude Desktop extension (.mcpb), uvx, or pip

Two operating modes:

The server starts in read-only mode by default. Write tools are hidden and blocked until you explicitly opt in.

Read-only (default)Write mode
View accounts, transactions, budgetsYesYes
Analyze cashflow, spending, net worthYesYes
Create transactions, tags, categories, rulesNoYes
Update accounts, budgets, splitsNoYes
Delete transactions, tags, accountsNoYes

Quick Start

Installation

Option 1: Claude Desktop Extension (.mcpb) — Recommended for Claude Desktop

Enables toggling write mode on/off directly from the Claude Desktop app.

  1. Download the latest .mcpb from Releases
  2. In Claude Desktop: Settings > Extensions > Advanced Settings > Install Extensions — select the .mcpb file
  3. Restart Claude Desktop

To enable write tools: Settings > Extensions > Monarch Money MCP Server > Configure — toggle "Enable write tools" and click Save.


Option 2: uvx (no install required) — Recommended for agents (e.g. Claude Code or Cursor)

Also works with Claude Desktop, but write mode cannot be toggled from the app — set it in the config instead.

Add to your MCP config file:

json
{  "mcpServers": {    "Monarch Money": {      "command": "uvx",      "args": ["monarch-mcp"]    }  }}

To enable write tools:

json
{  "mcpServers": {    "Monarch Money": {      "command": "uvx",      "args": ["monarch-mcp", "--enable-write"]    }  }}

Option 3: pip install — Recommended for local installation and venv
bash
pip install monarch-mcp

Contributors: See docs/releasing.md for the release process, version scheme, and pre-release testing via TestPyPI.

Add to your MCP config using the full path to your Python interpreter:

json
{  "mcpServers": {    "Monarch Money": {      "command": "/path/to/bin/python3",      "args": ["-m", "monarch_mcp"]    }  }}

To enable write tools, add "--enable-write" to args.


Option 4: Clone and install — Recommended for development
bash
git clone https://github.com/vargahis/monarch-mcp.gitcd monarch-mcppip install -e .

Then add to your MCP config using the Python interpreter from your dev environment:

json
{  "mcpServers": {    "Monarch Money": {      "command": "/path/to/bin/python3",      "args": ["-m", "monarch_mcp"]    }  }}

To enable write tools, add "--enable-write" to args.

Authentication

Authentication happens automatically in your browser the first time the MCP server starts without a saved session.

  1. Start (or restart) Claude Desktop
  2. The server detects that no token exists and opens a login page in your browser
  3. Enter your Monarch Money email and password
  4. Provide your 2FA code if you have MFA enabled
  5. Once authenticated, the token is saved to your system keyring — you're all set

Key details:

  • Credentials are entered in your browser only — never through Claude Desktop
  • Token stored in the OS keyring — persists across restarts, lasts weeks/months
  • Expired sessions re-authenticate automatically — the browser login re-triggers on the next tool call
  • MFA fully supported
  • Fallback: run python login_setup.py in a terminal for headless environments

For technical details on the auth architecture, see docs/authentication.md.

Usage Examples

Show me all my financial accounts
What were my last 50 transactions?
How's my budget looking this month?
Analyze my cashflow for the last 3 months
Create a tag called "Business Expenses" in red

Available Tools

ToolDescriptionMode
Auth
setup_authenticationGet setup instructionsread
check_auth_statusCheck authentication statusread
debug_session_loadingDebug keyring issuesread
Accounts
get_accountsGet all financial accountsread
get_account_holdingsGet investment holdingsread
get_account_historyGet historical balance dataread
get_recent_account_balancesGet daily balancesread
get_account_snapshots_by_typeNet worth by account typeread
get_aggregate_snapshotsDaily aggregate net valueread
get_institutionsGet connected institutionsread
get_account_type_optionsGet valid account typesread
refresh_accountsRequest account data refreshread
create_manual_accountCreate manual accountwrite
update_accountUpdate account settingswrite
delete_accountDelete an accountwrite
Transactions
get_transactionsGet transactions with filtering (date, account, category, tag, search, needs_review, and more)read
get_transaction_detailsGet full transaction detailread
get_transactions_summaryAggregate transaction statsread
get_transaction_splitsGet split informationread
get_recurring_transactionsGet recurring transactionsread
find_merchant_id_by_nameSearch recent transactions for a merchant and return distinct IDsread
create_transactionCreate new transactionwrite
update_transactionUpdate existing transaction (clear notes with clear_notes, unlink goal with clear_goal)write
delete_transactionDelete a transactionwrite
update_transaction_splitsCreate/modify/delete splitswrite
update_recurring_merchantMark/unmark a merchant as recurring, update its frequency/amount, or deactivate it — is_recurring is required on every call (requires --enable-write)write
Tags
get_transaction_tagsGet all tagsread
create_transaction_tagCreate new tagwrite
delete_transaction_tagDelete a tagwrite
set_transaction_tagsSet tags on a transactionwrite
Categories
get_transaction_categoriesGet all categoriesread
get_transaction_category_groupsGet category groupsread
create_transaction_categoryCreate a categorywrite
delete_transaction_categoryDelete a categorywrite
Rules
get_transaction_rulesList every transaction rule with its criteria, actions, and recent application statsread
create_transaction_ruleCreate a transaction rule with full criteria + actions (category, tags, merchant, amount, splits…)write
update_transaction_ruleUpdate a rule by id; merges overrides onto the current rule (handles Monarch's REPLACE semantics)write
delete_transaction_ruleDelete a rule by IDwrite
Budgets & Cashflow
get_budgetsGet budget informationread
get_cashflowGet cashflow analysisread
get_cashflow_summaryGet cashflow summaryread
set_budget_amountSet budget for categorywrite
Other
get_subscription_detailsGet subscription statusread
get_credit_historyGet credit score historyread

Testing

This project has two complementary test surfaces:

1. Mocked unit tests (the quality gate) — fast, offline, no Monarch connection. These run in CI and must stay green:

bash
uv run pytest tests/

The Monarch client is mocked, so these never touch a real account. Live e2e tests (below) are deselected by default.

2. Live end-to-end (e2e) integration tests — exercise the MCP tools against a real Monarch account to verify they handle the live API robustly (adversarial/edge inputs, server-side error paths). They are opt-in and never run in CI:

bash
MONARCH_LIVE_TESTS=1 uv run pytest tests/integration -m integration

Prerequisites: a stored keyring token (run python login_setup.py once), or MONARCH_EMAIL / MONARCH_PASSWORD in the environment. Without these, the suite skips. The tests create and delete data prefixed with MCP-Test- and self-clean (a post-suite sweep removes any residue). See tests/integration/README.md for details and safety notes.

There is also a separate agent test skill (.claude/skills/test-monarch-mcp/) that drives an AI agent to verify it calls the tools correctly — distinct from the two pytest suites above.

🙏 Acknowledgments

Forked from @robcerda's monarch-mcp-server, maintained by vargahis.

Built on the monarchmoneycommunity Python library.

Thanks to:

License

MIT License

來源:README.md,提交 7299fdc

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.4最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分