home / mcp / monarch money mcp server
MCP Server for use with Monarch Money
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.
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.
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.
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.
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.
Date formats should be YYYY-MM-DD. Transaction amounts use positive values for income and negative values for expenses.
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.
Credentials never pass through Claude Desktop. MFA/2FA is fully supported, and session files are stored securely to enable seamless re-authentication where needed.
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.
Provide initial setup instructions to securely configure authentication outside the MCP client.
Verify whether a valid authentication session exists for ongoing MCP usage.
Retrieve all linked Monarch Money accounts with balances and institution details.
Fetch transactions with optional filters such as date range, account, and pagination.
Return budgets with spent amounts and remaining balances.
Analyze cashflow over a specified date range, including income and expenses.
Show investment holdings for a given account.
Create a new transaction in a specified account.
Modify an existing transactionβs amount, description, category, or date.
Request an update of account data from connected institutions.