Monarch Money MCP Server
io.github.vargahis/monarch-money
AI-powered personal finance management for Monarch Money—view accounts, transactions, budgets, and more.
What is the Monarch Money MCP server?
The Monarch Money MCP server integrates Claude with the Monarch Money personal finance platform, providing read-only access by default to accounts, transactions, budgets, cashflow, and investments. Write tools (create, update, delete) are available on explicit opt-in, ensuring safe-by-default operation.
This server gives Claude access to your complete financial picture in Monarch Money. Query accounts and balances, analyze spending patterns and cashflow, review transactions and budgets, and optionally create or modify financial data. Authentication is browser-based and secure—your token is stored in the OS keychain, never in config files.
How to install Monarch Money
Copy-paste configuration for popular MCP clients.
Tools & capabilities
Tools this server exposes to the agent.
get_accounts— Get all financial accountsget_account_holdings— Get investment holdingsget_account_history— Get historical balance dataget_recent_account_balances— Get daily balancesget_transactions— Get transactions with filtering by date, account, category, tag, search, and moreget_transaction_details— Get full transaction detailget_transactions_summary— Aggregate transaction statsget_budgets— Get budget informationget_cashflow— Get cashflow analysisget_cashflow_summary— Get cashflow summaryget_transaction_tags— Get all tagsget_transaction_categories— Get all categoriesget_transaction_rules— List every transaction rule with criteria, actions, and statscreate_transaction— Create new transaction (write mode)update_transaction— Update existing transaction (write mode)delete_transaction— Delete a transaction (write mode)create_transaction_tag— Create new tag (write mode)create_transaction_category— Create a category (write mode)set_budget_amount— Set budget for category (write mode)create_transaction_rule— Create a transaction rule with criteria and actions (write mode)
Use cases
- Query all accounts and current balances to get a snapshot of your net worth
- Analyze spending patterns by reviewing transactions filtered by category, tag, or date range
- Monitor budget progress and cashflow trends to understand monthly financial health
- Create and manage transaction rules to automatically categorize and tag incoming transactions
- Set up custom tags and categories to organize and track specific spending areas
Monarch Money MCP server FAQ
It's an MCP server that connects Claude to Monarch Money, your personal finance platform. You can view accounts, transactions, budgets, and cashflow, and optionally create or modify financial data.
The MCP server itself is free and open-source (MIT License). You need an active Monarch Money subscription to use it.
Download the latest .mcpb file from the GitHub releases page, then go to Claude Desktop Settings > Extensions > Advanced Settings > Install Extensions, select the file, and restart Claude Desktop.
Use the uvx method: add the server to your MCP config with command 'uvx' and args ['monarch-mcp']. Alternatively, install via pip and reference the Python interpreter path in your config.
Authentication is browser-based and automatic. On first run, the server opens a login page in your browser where you enter your Monarch Money credentials and 2FA code. The token is then securely stored in your OS keychain.
Read-only mode (default) lets you view accounts, transactions, and budgets but prevents accidental changes. Write mode (opt-in) unlocks tools to create, update, or delete transactions, tags, categories, rules, and accounts.
README (reference)
Source of truth, from the repository.
Monarch Money MCP Server
<!-- mcp-name: io.github.vargahis/monarch-money -->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, orpip
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.
- Download the latest
.mcpbfrom Releases - In Claude Desktop: Settings > Extensions > Advanced Settings > Install Extensions — select the
.mcpbfile - 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.
- Start (or restart) Claude Desktop
- The server detects that no token exists and opens a login page in your browser
- Enter your Monarch Money email and password
- Provide your 2FA code if you have MFA enabled
- 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.pyin 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:
- @robcerda for the original MCP server
- @hammem for the original monarchmoney library
- @bradleyseanf for the community fork
License
MIT License
Related MCP servers

io.github.variflight/variflight-mcp
Query real-time flight, weather, comfort, and fare data via VariFlight's official MCP server.
AI image, video & audio generation tools for AI agents, powered by Varoriya.
View repository →
io.github.varsansri/fxabsolute
Five years of 1-minute forex, index and crypto candles, plus a live bridge to a trader's chart.

io.github.varun29ankuS/mif-tools
Convert, validate, and inspect AI agent memories across formats
Persistent cognitive memory for AI agents—semantic search, Hebbian learning, knowledge graphs, zero LLM calls.
Local-first AI memory control plane with knowledge graphs, 7-layer retrieval, and governance controls for agent teams.

