About Monarch Money
Monarch Money is an MCP server in the Finance category: track accounts, transactions, and budgets from Monarch Money. Filter recent activity and surface spending insights to stay on top of your finances. Monitor budgets and trends to make smarter money decisions.
Install
uvx monarch-mcppip install monarch-mcpThis 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 Money
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
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 — 38 tools covering accounts, transactions, splits, budgets, cashflow, tags, categories, rules, 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 |
create_transaction |
Create new transaction | write |
update_transaction |
Update existing transaction | write |
delete_transaction |
Delete a transaction | write |
update_transaction_splits |
Create/modify/delete splits | 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 | ||
create_transaction_rule |
Create an auto-categorization rule | 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 |
🙏 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
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.