An MCP (Model Context Protocol) server that provides Claude and other AI assistants with access to your Monarch Money personal finance data. Analyze your spending, find subscription costs, track budgets, and get insights into your financial health.
- Account Overview: View all linked accounts with balances and net worth
- Transaction History: Search and filter transactions by date, merchant, category
- Subscription Detection: Find recurring charges and subscriptions with monthly/annual costs
- Budget Tracking: Monitor spending against budget limits
- Cashflow Analysis: Income vs expenses with savings rate
- Spending Analysis: Aggregate spending by category, merchant, or account
- Account Refresh: Trigger syncs with your financial institutions
- Python 3.10 or higher
- A Monarch Money account
- If you use Google Sign-In for Monarch, you'll need to set a password first
# Clone the repository
git clone https://github.com/YOUR_USERNAME/monarch-mcp.git
cd monarch-mcp
# Install dependencies
pip install -e .pip install mcp monarchmoney pydantic httpxRun the authentication script to create a session:
python authenticate_monarch.pyThis will:
- Prompt for your Monarch Money email and password
- Handle MFA if enabled (recommended!)
- Save your session to
~/.monarch_session
The session typically lasts several months.
Add the server to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"monarch": {
"command": "python",
"args": ["/path/to/monarch_mcp/monarch_mcp.py"],
"env": {
"MONARCH_SESSION_FILE": "/path/to/.monarch_session"
}
}
}
}Or if you installed it as a package:
{
"mcpServers": {
"monarch": {
"command": "monarch-mcp"
}
}
}Restart Claude Desktop to pick up the new MCP server.
| Tool | Description |
|---|---|
monarch_get_accounts |
Get all accounts with balances and net worth |
monarch_get_transactions |
Get transactions with optional filters |
monarch_get_recurring |
Get recurring transactions/subscriptions |
monarch_get_budgets |
Get budget status and spending |
monarch_get_cashflow |
Get income vs expenses summary |
monarch_get_categories |
List all transaction categories |
monarch_search_transactions |
Search transactions by merchant/keyword |
monarch_analyze_spending |
Analyze spending patterns |
monarch_refresh_accounts |
Trigger account data refresh |
Once configured, you can ask Claude things like:
- "What subscriptions am I paying for?"
- "How much have I spent at Amazon this year?"
- "Show me my recurring monthly expenses"
- "What's my net worth?"
- "Am I over budget on dining out?"
- "Analyze my spending by category for the last 3 months"
- "What's my savings rate this month?"
- "Find all my Netflix charges"
| Variable | Default | Description |
|---|---|---|
MONARCH_SESSION_FILE |
~/.monarch_session |
Path to saved session file |
Most tools support two response formats:
markdown(default): Human-readable formatted outputjson: Machine-readable structured data
- Your Monarch Money credentials are only used during initial authentication
- The session token is stored locally in
~/.monarch_session - No credentials or financial data are sent anywhere except to Monarch Money's servers
- The MCP server runs locally on your machine
Run python authenticate_monarch.py to create a new session.
- Check your email and password
- If using Google Sign-In, set a password at https://app.monarchmoney.com/settings/security
- Wait a few minutes if you've had too many failed attempts
Sessions typically last months, but if yours expires, just run the authentication script again.
Make sure you're entering the current code from your authenticator app. The code changes every 30 seconds.
pip install -e ".[dev]"
pytestblack .
ruff check .- monarchmoney - Unofficial Python API for Monarch Money
- MCP - Model Context Protocol by Anthropic
MIT License - See LICENSE file for details.
This is an unofficial integration. It is not affiliated with, officially maintained, or endorsed by Monarch Money. Use at your own risk.