Skip to content

rguyton/monarch-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monarch Money MCP Server

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.

Features

  • 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

Prerequisites

Installation

Option 1: Install from source

# Clone the repository
git clone https://github.com/YOUR_USERNAME/monarch-mcp.git
cd monarch-mcp

# Install dependencies
pip install -e .

Option 2: Install dependencies manually

pip install mcp monarchmoney pydantic httpx

Setup

Step 1: Authenticate with Monarch Money

Run the authentication script to create a session:

python authenticate_monarch.py

This will:

  1. Prompt for your Monarch Money email and password
  2. Handle MFA if enabled (recommended!)
  3. Save your session to ~/.monarch_session

The session typically lasts several months.

Step 2: Configure Claude Desktop

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"
    }
  }
}

Step 3: Restart Claude Desktop

Restart Claude Desktop to pick up the new MCP server.

Available Tools

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

Example Prompts

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"

Configuration

Environment Variables

Variable Default Description
MONARCH_SESSION_FILE ~/.monarch_session Path to saved session file

Response Formats

Most tools support two response formats:

  • markdown (default): Human-readable formatted output
  • json: Machine-readable structured data

Security

  • 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

Troubleshooting

"No valid Monarch Money session found"

Run python authenticate_monarch.py to create a new session.

"Authentication failed"

Session expired

Sessions typically last months, but if yours expires, just run the authentication script again.

MFA issues

Make sure you're entering the current code from your authenticator app. The code changes every 30 seconds.

Development

Running tests

pip install -e ".[dev]"
pytest

Code formatting

black .
ruff check .

Credits

  • monarchmoney - Unofficial Python API for Monarch Money
  • MCP - Model Context Protocol by Anthropic

License

MIT License - See LICENSE file for details.

Disclaimer

This is an unofficial integration. It is not affiliated with, officially maintained, or endorsed by Monarch Money. Use at your own risk.

About

Monarch Initiative MCP server for disease and phenotype data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages