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 分