1. Conduid
  2. Developer Tools
  3. Monarch MCP
MCP server · Developer Tools

Monarch MCP

MCP Server for use with Monarch Money

Unclaimed MIT devtools
54Fair

Scored 13 days ago · breakdown

About Monarch MCP

Monarch MCP is an MCP server published by vargahis in the Developer Tools category: mCP Server for use with Monarch Money.

The repository has 13 stars and 9 forks, with the last commit a month ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/vargahis/monarch-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (52)

**Accounts**No description in manifest

Parameters not published.

**Auth**No description in manifest

Parameters not published.

**Budgets & Cashflow**No description in manifest

Parameters not published.

**Categories**No description in manifest

Parameters not published.

**Other**No description in manifest

Parameters not published.

**Rules**No description in manifest

Parameters not published.

**Tags**No description in manifest

Parameters not published.

**Transactions**No description in manifest

Parameters not published.

check_auth_statusCheck authentication status

Parameters not published.

create_manual_accountCreate manual account

Parameters not published.

Show all 52 tools
create_transactionCreate new transaction

Parameters not published.

create_transaction_categoryCreate a category

Parameters not published.

create_transaction_ruleCreate a transaction rule with full criteria + actions (category, tags, merchant, amount, splits…)

Parameters not published.

create_transaction_tagCreate new tag

Parameters not published.

debug_session_loadingDebug keyring issues

Parameters not published.

delete_accountDelete an account

Parameters not published.

delete_transactionDelete a transaction

Parameters not published.

delete_transaction_categoryDelete a category

Parameters not published.

delete_transaction_ruleDelete a rule by ID

Parameters not published.

delete_transaction_tagDelete a tag

Parameters not published.

find_merchant_id_by_nameSearch recent transactions for a merchant and return distinct IDs

Parameters not published.

get_account_historyGet historical balance data

Parameters not published.

get_account_holdingsGet investment holdings

Parameters not published.

get_account_snapshots_by_typeNet worth by account type

Parameters not published.

get_account_type_optionsGet valid account types

Parameters not published.

get_accountsGet all financial accounts

Parameters not published.

get_aggregate_snapshotsDaily aggregate net value

Parameters not published.

get_budgetsGet budget information

Parameters not published.

get_cashflowGet cashflow analysis

Parameters not published.

get_cashflow_summaryGet cashflow summary

Parameters not published.

get_credit_historyGet credit score history

Parameters not published.

get_institutionsGet connected institutions

Parameters not published.

get_recent_account_balancesGet daily balances

Parameters not published.

get_recurring_transactionsGet recurring transactions

Parameters not published.

get_subscription_detailsGet subscription status

Parameters not published.

get_transaction_categoriesGet all categories

Parameters not published.

get_transaction_category_groupsGet category groups

Parameters not published.

get_transaction_detailsGet full transaction detail

Parameters not published.

get_transaction_rulesList every transaction rule with its criteria, actions, and recent application stats

Parameters not published.

get_transaction_splitsGet split information

Parameters not published.

get_transaction_tagsGet all tags

Parameters not published.

get_transactionsGet transactions with filtering (date, account, category, tag, search, needs\_review, and more)

Parameters not published.

get_transactions_summaryAggregate transaction stats

Parameters not published.

refresh_accountsRequest account data refresh

Parameters not published.

set_budget_amountSet budget for category

Parameters not published.

set_transaction_tagsSet tags on a transaction

Parameters not published.

setup_authenticationGet setup instructions

Parameters not published.

update_accountUpdate account settings

Parameters not published.

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`)

Parameters not published.

update_transactionUpdate existing transaction (clear notes with `clear_notes`, unlink goal with `clear_goal`)

Parameters not published.

update_transaction_ruleUpdate a rule by id; merges overrides onto the current rule (handles Monarch's REPLACE semantics)

Parameters not published.

update_transaction_splitsCreate/modify/delete splits

Parameters not published.

Ask AI

✦

Ask AI about Monarch MCP

Powered by Claude · Grounded in docs

I know everything about Monarch MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 6 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.1.4v0.1.4 · 12 Jun 2026What's Changed fix(auth): harden loopback login server (CSRF, DNS-rebinding, info-hygiene) by @vargahis in https://github.com/vargahis/monarch-mcp/pull/37 chore(ci): bump actions/* off deprecated Node 20 runtime by @vargahis in…
v0.1.3v0.1.3 · 10 Jun 2026What's Changed Make RC publishing manual via workflow_dispatch by @vargahis in https://github.com/vargahis/monarch-mcp/pull/22 Fix gh release view in publish-rc validation by @vargahis in https://github.com/vargahis/monarch-mcp/pull/23 Pin…
v0.1.2v0.1.2 · 1 Mar 2026What's Changed Restructure Quick Start: four install options, remove install table by @vargahis in https://github.com/vargahis/monarch-mcp/pull/20 Add MCP Registry publishing and unify release workflow by @vargahis in…
v0.1.1v0.1.1 · 28 Feb 2026What's Changed Remove .env.example by @vargahis in https://github.com/vargahis/monarch-mcp/pull/19 Full Changelog: https://github.com/vargahis/monarch-mcp/compare/v0.1.0...v0.1.1
v0.1.0v0.1.0 — First stable release · 28 Feb 2026What's New First stable release This is the first stable release of Monarch Money MCP Server, following several pre-release iterations. Highlights 37 tools across 8 categories Accounts, transactions, splits, budgets, cashflow, tags,…

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, budgets Yes Yes
Analyze cashflow, spending, net worth Yes Yes
Create transactions, tags, categories, rules No Yes
Update accounts, budgets, splits No Yes
Delete transactions, tags, accounts No Yes

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:

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

To enable write tools:

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

Option 3: pip install — Recommended for local installation and venv

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:

{
  "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

git clone https://github.com/vargahis/monarch-mcp.git
cd monarch-mcp
pip install -e .

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

{
  "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

Tool Description Mode
Auth
setup_authentication Get setup instructions read
check_auth_status Check authentication status read
debug_session_loading Debug keyring issues read
Accounts
get_accounts Get all financial accounts read
get_account_holdings Get investment holdings read
get_account_history Get historical balance data read
get_recent_account_balances Get daily balances read
get_account_snapshots_by_type Net worth by account type read
get_aggregate_snapshots Daily aggregate net value read
get_institutions Get connected institutions read
get_account_type_options Get valid account types read
refresh_accounts Request account data refresh read
create_manual_account Create manual account write
update_account Update account settings write
delete_account Delete an account write
Transactions
get_transactions Get transactions with filtering (date, account, category, tag, search, needs_review, and more) read
get_transaction_details Get full transaction detail read
get_transactions_summary Aggregate transaction stats read
get_transaction_splits Get split information read
get_recurring_transactions Get recurring transactions read
find_merchant_id_by_name Search recent transactions for a merchant and return distinct IDs read
create_transaction Create new transaction write
update_transaction Update existing transaction (clear notes with clear_notes, unlink goal with clear_goal) write
delete_transaction Delete a transaction write
update_transaction_splits Create/modify/delete splits write
update_recurring_merchant Mark/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_tags Get all tags read
create_transaction_tag Create new tag write
delete_transaction_tag Delete a tag write
set_transaction_tags Set tags on a transaction write
Categories
get_transaction_categories Get all categories read
get_transaction_category_groups Get category groups read
create_transaction_category Create a category write
delete_transaction_category Delete a category write
Rules
get_transaction_rules List every transaction rule with its criteria, actions, and recent application stats read
create_transaction_rule Create a transaction rule with full criteria + actions (category, tags, merchant, amount, splits…) write
update_transaction_rule Update a rule by id; merges overrides onto the current rule (handles Monarch's REPLACE semantics) write
delete_transaction_rule Delete a rule by ID write
Budgets & Cashflow
get_budgets Get budget information read
get_cashflow Get cashflow analysis read
get_cashflow_summary Get cashflow summary read
set_budget_amount Set budget for category write
Other
get_subscription_details Get subscription status read
get_credit_history Get credit score history read

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:

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:

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 fetched from the repository 6 days ago. The original is authoritative.

Questions

About Monarch MCP

How do I install Monarch MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Monarch MCP safe to use with an AI agent?

Its trust score is 54 out of 100 (fair). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Monarch MCP still maintained?

Yes — the latest release is v0.1.4 (12 Jun 2026), and the last commit was a month ago. The repository has 13 stars and 3 open issues.