Archived in favor of the now officially supported Monarch Money Connector
An MCP (Model Context Protocol) server that provides access to Monarch Money financial data and operations.
- Account Management: List and retrieve account information
- Transaction Operations: Get transactions with filtering by date range, accounts, and categories
- Budget Analysis: Access budget data and spending insights
- Category Management: List and manage transaction categories
- Goal Tracking: Access financial goals and progress
- Net Worth Tracking: Retrieve net worth snapshots over time
- Clone or download this MCP server
- Install dependencies:
cd /path/to/monarch-money-mcp uv sync
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": "your-email@example.com",
"MONARCH_PASSWORD": "your-password",
"MONARCH_MFA_SECRET": "your-mfa-secret-key"
}
}
}
}Important Notes:
- Replace
/path/to/uvwith the full path to youruvexecutable (find it withwhich uv) - Replace
/path/to/monarch-money-mcpwith the absolute path to this server directory - Use absolute paths, not relative paths
- 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
List all accounts with their balances and details.
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 bycategory_ids: List of category IDs to filter bylimit: Maximum number of transactions to return
List all transaction categories.
Get budget information and spending analysis.
List financial goals and their progress.
Get cashflow data for income and expense analysis.
Get investment account details and performance.
Get net worth snapshots over time.
Use the get_accounts tool to see all my accounts and their current balances.
Get all transactions from January 2024 using get_transactions with start_date "2024-01-01" and end_date "2024-01-31".
Show me my current budget status using the get_budgets tool.
The server automatically manages authentication sessions:
- Sessions are cached in a
.mmdirectory for faster subsequent logins - The session cache is automatically created and managed
- Use
MONARCH_FORCE_LOGIN=truein the env section to force a fresh login if needed
- Ensure your MFA secret is correct and properly formatted
- Try setting
MONARCH_FORCE_LOGIN=truein your.mcp.jsonenv section - Check that your system time is accurate (required for TOTP)
- 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
- Delete the
.mmdirectory to clear cached sessions - Set
MONARCH_FORCE_LOGIN=truein your.mcp.jsonenv section temporarily
- Author: Taurus Colvin (@colvint)
- Description: MCP (Model Context Protocol) server wrapper for Monarch Money
- Author: hammem (@hammem)
- Repository: https://github.com/hammem/monarchmoney
- License: MIT License
- Description: The underlying Python library that provides API access to Monarch Money
This MCP server wraps the monarchmoney Python library to provide seamless integration with AI assistants through the Model Context Protocol.
- Keep your credentials secure in your
.mcp.jsonfile - The MFA secret provides full access to your account - treat it like a password
- Session files in
.mmdirectory contain authentication tokens - keep them secure - Consider restricting access to your
.mcp.jsonfile since it contains sensitive credentials