Monarch Money MCP server

Integrates with Monarch Money's personal finance platform to retrieve account balances, transaction history, and budget data for automated expense tracking and financial analysis.
Back to servers
Setup instructions
Provider
colvint
Release date
Jun 24, 2025
Stats
3 stars

This MCP server provides access to Monarch Money financial data and operations through the Model Context Protocol. It allows you to interact with your financial accounts, transactions, budgets, and more through a standardized interface.

Installation

To set up the Monarch Money MCP server:

cd /path/to/monarch-money-mcp
uv sync

Configuration

Add the server to your .mcp.json configuration file:

{
  "mcpServers": {
    "monarch-money": {
      "command": "/path/to/uv",
      "args": [
        "--directory", 
        "/path/to/monarch-money-mcp",
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "MONARCH_EMAIL": "[email protected]",
        "MONARCH_PASSWORD": "your-password",
        "MONARCH_MFA_SECRET": "your-mfa-secret-key"
      }
    }
  }
}

Important Configuration Notes

  • Replace /path/to/uv with the full path to your uv executable (find it with which uv)
  • Replace /path/to/monarch-money-mcp with the absolute path to this server directory
  • Use absolute paths, not relative paths

Getting Your MFA Secret

  • Go to Monarch Money settings and enable 2FA
  • When shown the QR code, look for the "Can't scan?" or "Enter manually" option
  • Copy the secret key (it will be a string like T5SPVJIBRNPNNINFSH5W7RFVF2XYADYX)
  • Use this as your MONARCH_MFA_SECRET

Available Tools

get_accounts

List all accounts with their balances and details.

get_transactions

Get transactions with optional filtering:

  • start_date: Filter transactions from this date (YYYY-MM-DD)
  • end_date: Filter transactions to this date (YYYY-MM-DD)
  • account_ids: List of account IDs to filter by
  • category_ids: List of category IDs to filter by
  • limit: Maximum number of transactions to return

get_categories

List all transaction categories.

get_budgets

Get budget information and spending analysis.

get_goals

List financial goals and their progress.

get_cashflow

Get cashflow data for income and expense analysis.

get_investments

Get investment account details and performance.

get_net_worth

Get net worth snapshots over time.

Usage Examples

Basic Account Information

Use the get_accounts tool to see all your accounts and their current balances.

Transaction Analysis

Get all transactions from January 2024 using get_transactions with start_date "2024-01-01" and end_date "2024-01-31".

Budget Tracking

Show your current budget status using the get_budgets tool.

Session Management

The server automatically manages authentication sessions:

  • Sessions are cached in a .mm directory for faster subsequent logins
  • The session cache is automatically created and managed
  • Use MONARCH_FORCE_LOGIN=true in the env section to force a fresh login if needed

Troubleshooting

MFA Issues

  • Ensure your MFA secret is correct and properly formatted
  • Try setting MONARCH_FORCE_LOGIN=true in your .mcp.json env section
  • Check that your system time is accurate (required for TOTP)

Connection Issues

  • Verify your email and password are correct in .mcp.json
  • Check your internet connection
  • Try running the server directly to see detailed error messages:
uv run server.py

Session Problems

  • Delete the .mm directory to clear cached sessions
  • Set MONARCH_FORCE_LOGIN=true in your .mcp.json env section temporarily

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "monarch-money" '{"command":"/path/to/uv","args":["--directory","/path/to/monarch-money-mcp","run","python","server.py"],"env":{"MONARCH_EMAIL":"[email protected]","MONARCH_PASSWORD":"your-password","MONARCH_MFA_SECRET":"your-mfa-secret-key"}}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "monarch-money": {
            "command": "/path/to/uv",
            "args": [
                "--directory",
                "/path/to/monarch-money-mcp",
                "run",
                "python",
                "server.py"
            ],
            "env": {
                "MONARCH_EMAIL": "[email protected]",
                "MONARCH_PASSWORD": "your-password",
                "MONARCH_MFA_SECRET": "your-mfa-secret-key"
            }
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "monarch-money": {
            "command": "/path/to/uv",
            "args": [
                "--directory",
                "/path/to/monarch-money-mcp",
                "run",
                "python",
                "server.py"
            ],
            "env": {
                "MONARCH_EMAIL": "[email protected]",
                "MONARCH_PASSWORD": "your-password",
                "MONARCH_MFA_SECRET": "your-mfa-secret-key"
            }
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later