Self-hosted · Model Context Protocol

Your money, fluent in Claude.

An MCP server that gives Claude — or any MCP client — a window into your finances: query accounts, search transactions, track budgets and investments, and run multi-month spending analysis, all from plain-language prompts.

Accounts & balances Transaction search Spending analysis Budgets & cashflow Investments Bulk edits

Token-efficient by design: compact output is ~80% smaller, and batch tools pull five Monarch APIs in a single call.

One-line install — no clone, no path wrangling: uvx monarch-mcp-jamiew

Runs locally; your credentials stay in your client config and never pass through the LLM.

19 tools·~8K tokens of definitions·202 tests·100% type-safe

Capabilities

Built on modern MCP

Designed for token efficiency and the latest protocol features

Structured output

Every tool returns a typed outputSchema with machine-readable content and a text fallback for older clients.

Resources & templates

MCP resources for categories, accounts, and institutions, plus parameterized per-account holdings and history.

Guided prompts

Prompt workflows for financial analysis, with live argument autocompletion.

Natural-language dates

Filters understand "last month", "30 days ago", and "this year" out of the box.

Tool annotations

Read/write metadata and human-friendly titles so clients know what's safe to call.

Performance

Token & request efficiency

Built to spend as few tokens and round-trips as possible

~80% smaller responses

Compact transaction format by default; categories return just id + name. Pass verbose=True for the full API payload when you need it.

5 APIs in 1 call

get_complete_financial_overview fans out to five Monarch APIs at once, update_transactions_bulk edits many transactions in one parallel call, and the summary tools aggregate server-side instead of dumping raw rows on the model.

~8K-token tool surface

All 19 tool schemas cost ~8K tokens of context up front in clients without deferred loading. Descriptions and schemas are kept tight to hold that fixed cost down.

Reference

Available tools

Broad coverage of the Monarch Money API

Core Data Access

get_accounts
Retrieve all linked financial accounts with balances and details.
get_transactions
Fetch transactions with flexible filtering by date, account, and category.
Key features
  • Natural language dates: "last month", "30 days ago", "this year"
  • Compact format reduces data size by ~80% (verbose mode available)
  • Filter by account, category, date range
  • Pagination with limit and offset
get_budgets
Retrieve budget information and spending analysis.
get_cashflow
Analyze income and expense cashflow data.
get_transaction_categories
List all available transaction categories.

Transaction Management

search_transactions
Search transactions by merchant name or keyword.
create_transaction
Create a new transaction with amount, description, category, and date.
update_transaction
Update an existing transaction's details.
update_transactions_bulk
Update multiple transactions in parallel in a single call.

Investment & Banking

get_account_holdings
View investment portfolio holdings for a brokerage account (requires account_id).
get_account_history
Track historical account balance data over time.
get_institutions
List all linked financial institutions.
refresh_accounts
Request a refresh of account data from financial institutions.

Planning & Budgets

get_recurring_transactions
View scheduled recurring transactions and bills.
set_budget_amount
Set or update budget amount for a specific category.
create_manual_account
Create a manually tracked account for cash or assets.

Intelligent Analysis

get_spending_summary
Get spending summaries grouped by category, account, or month.
get_complete_financial_overview
Get a comprehensive financial snapshot combining accounts, transactions, budgets, and cashflow in a single call.
Combines 5 API calls
  • All accounts with current balances
  • Recent transactions for the period
  • Budget status and performance
  • Cashflow analysis (income vs expenses)
  • Transaction categories
analyze_spending_patterns
Analyze spending trends with multi-month analysis and optional predictive forecasting.
Provides insights on
  • Monthly spending trends by category
  • Account usage patterns
  • Budget performance over time
  • Predictive spending forecasts (optional)
Setup

Installed in a few minutes

Same shape everywhere: command uvx, package monarch-mcp-jamiew, three env vars

Published to PyPI — no clone needed. With uv installed, every MCP client runs it on demand with uvx.

01 Claude Desktop

Add this to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows), then restart Claude:

{
  "mcpServers": {
    "monarch-money": {
      "command": "uvx",
      "args": ["monarch-mcp-jamiew"],
      "env": {
        "MONARCH_EMAIL": "your-email@example.com",
        "MONARCH_PASSWORD": "your-password",
        "MONARCH_MFA_SECRET": "your-mfa-secret-key"
      }
    }
  }
}
02 Claude Code
claude mcp add monarch-money \
  -e MONARCH_EMAIL=your-email@example.com \
  -e MONARCH_PASSWORD=your-password \
  -e MONARCH_MFA_SECRET=your-mfa-secret-key \
  -- uvx monarch-mcp-jamiew
03 Codex CLI
codex mcp add monarch-money \
  --env MONARCH_EMAIL=your-email@example.com \
  --env MONARCH_PASSWORD=your-password \
  --env MONARCH_MFA_SECRET=your-mfa-secret-key \
  -- uvx monarch-mcp-jamiew
04 Everything else

Same standard config, different file:

  • .mcp.json — drop the standard config in your project root; Claude Code (project scope) and most clients auto-load it.
  • OpenClaw — add it to ~/.openclaw/openclaw.json under mcpServers, then restart the gateway.
  • Hermes — add it to ~/.hermes/config.yaml under mcp_servers: (YAML), then /reload-mcp.
  • Cursor · VS Code · Windsurf · Cline · Zed — same standard config; anything that speaks MCP over stdio works.
Stuck? Ask your agent

"Install the Monarch Money MCP server from github.com/jamiew/monarch-mcp — it's on PyPI as monarch-mcp-jamiew, runs via uvx monarch-mcp-jamiew, and needs env vars MONARCH_EMAIL, MONARCH_PASSWORD, and MONARCH_MFA_SECRET."

🔑 Getting your MFA secret

1. Enable 2FA in Monarch Money settings
2. Click "Can't scan?" when shown the QR code
3. Copy the secret key (format: T5SPVJIBRNPNNINFSH5W7RFVF2XYADYX)
4. Use this as your MONARCH_MFA_SECRET

05 Talk to your assistant

Example prompts once it's wired up:

"Show me my account balances"
"Get all transactions from last month"
"Analyze my spending patterns for the last 3 months"
"What's my complete financial overview for this quarter?"
Acknowledgements

Credits

Built on open source tools

MCP Server

Author: Jamie Dubs  ·  @jamiew

A FastMCP rewrite with structured output, type safety, and comprehensive testing. Originally forked from @colvint's implementation.

View repository →

MonarchMoney Library

Author: @bradleyseanf

The monarchmoneycommunity fork that provides API access to Monarch Money, descended from @hammem's original library.

View library →

Model Context Protocol

By: Anthropic

Open protocol for connecting AI assistants to external data sources.

Learn more →

Monarch Money

Service: Financial management

Platform for tracking accounts, budgets, and investments.

Visit Monarch Money →