home / mcp / monarch money mcp server

Monarch Money MCP Server

MCP Server for use with Monarch Money

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "robcerda-monarch-mcp-server": {
      "command": "/opt/homebrew/bin/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "--with-editable",
        "/path/to/your/monarch-mcp-server",
        "mcp",
        "run",
        "/path/to/your/monarch-mcp-server/src/monarch_mcp_server/server.py"
      ]
    }
  }
}

Monarch Money MCP Server provides a secure bridge between Monarch Money data and Claude Desktop, exposing your accounts, transactions, budgets, and cashflow through a configurable MCP interface. With MFA support and session persistence, you can access these financial insights directly from Claude Desktop without re-authenticating frequently.

How to use

You use the Monarch Money MCP Server by starting the local MCP runtime (stdio mode) and then interacting with it through Claude Desktop. Authentication happens outside Claude Desktop for security, and sessions persist across restarts so you don’t have to log in every time. Once the server is running, you can retrieve and manage your data with the available tools (accounts, transactions, budgets, cashflow) directly from Claude Desktop.

How to install

Prerequisites: you need Python installed on your system, along with pip to install dependencies.

1. Clone the project and install dependencies.

git clone https://github.com/robcerda/monarch-mcp-server.git
cd monarch-mcp-server
`

2. Install Python dependencies and enable editable installation.

pip install -r requirements.txt
pip install -e .
`

3. Configure Claude Desktop to run the MCP server. Add the following MCP server entry to your Claude Desktop configuration. Replace /path/to/your/monarch-mcp-server with the actual path to the mounted project on your system.

{
  "mcpServers": {
    "Monarch Money": {
      "command": "/opt/homebrew/bin/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "--with-editable",
        "/path/to/your/monarch-mcp-server",
        "mcp",
        "run",
        "/path/to/your/monarch-mcp-server/src/monarch_mcp_server/server.py"
      ]
    }
  }
}
`

4. Restart Claude Desktop after saving the configuration.

Additional setup and authentication

One-Time Authentication Setup: For security and MFA support, authentication is performed outside Claude Desktop. Open a terminal and run the setup script from your MCP server directory.

cd /path/to/your/monarch-mcp-server
python login_setup.py
`

Follow the prompts to enter your Monarch Money email and password, provide your MFA code if enabled, and let the session be saved automatically.

Start using in Claude Desktop

After authentication, you can call the available tools from Claude Desktop to work with your Monarch Money data. The server exposes actions for accounts, transactions, budgets, and cashflow.

Notes on usage and formats

Date formats should be YYYY-MM-DD. Transaction amounts use positive values for income and negative values for expenses.

Troubleshooting

Authentication issues: If you see authentication errors, re-run the setup command and restart Claude Desktop.

Session expiry: Sessions persist for weeks. If needed, re-run the setup command to refresh the session.

Common errors: Use the accounts tool to verify available account IDs if you see an invalid ID, and ensure date formats are correct.

Security and reliability notes

Credentials never pass through Claude Desktop. MFA/2FA is fully supported, and session files are stored securely to enable seamless re-authentication where needed.

Technical details

Project structure includes the main server implementation at src/monarch_mcp_server/server.py and a login_setup.py script to establish authentication. The server runs via the uv runtime in stdio mode as shown in the installation step.

Available tools

setup_authentication

Provide initial setup instructions to securely configure authentication outside the MCP client.

check_auth_status

Verify whether a valid authentication session exists for ongoing MCP usage.

get_accounts

Retrieve all linked Monarch Money accounts with balances and institution details.

get_transactions

Fetch transactions with optional filters such as date range, account, and pagination.

get_budgets

Return budgets with spent amounts and remaining balances.

get_cashflow

Analyze cashflow over a specified date range, including income and expenses.

get_account_holdings

Show investment holdings for a given account.

create_transaction

Create a new transaction in a specified account.

update_transaction

Modify an existing transaction’s amount, description, category, or date.

refresh_accounts

Request an update of account data from connected institutions.