Monarch Money MCP Server

Monarch Money MCP Server

Read-only Model Context Protocol server for Monarch Money financial data.

0
Stars
3
Forks
0
Watchers
1
Issues
Provides a Model Context Protocol (MCP) server that enables read-only access to Monarch Money financial accounts, transactions, budgets, and cashflow data. Designed primarily for secure integration with AI assistants such as Claude Desktop, it supports authentication, session persistence, and multi-factor authentication. The implementation allows for detailed transaction analysis, budgeting, and cashflow insights without altering user data, supporting various financial inquiries through standardized endpoints and tools.

Key Features

Read-only access to Monarch Money financial information
Transaction analysis with date filtering and search
Budget tracking and comparison (actual vs target)
Cashflow summary and analysis by category
Secure authentication with support for multi-factor authentication
Session caching and persistence
Detailed account and investment holdings retrieval
Integration support for Claude Desktop and similar AI assistants
Environment variable configuration for credentials
Predefined endpoints and tools for data extraction

Use Cases

Reviewing recent financial transactions
Analyzing personal spending patterns over custom date ranges
Generating summary reports of income, expenses, and savings
Tracking and comparing budget targets vs actual spending
Retrieving account balances and investment holdings
Securely connecting financial data to AI assistants for automated analysis
Searching transaction history for specific merchants or descriptions
Aggregating cashflow information by category or time frame
Providing read-only access to financial data for model context enrichment
Troubleshooting authentication and session issues in finance data workflows

README

Monarch Money MCP Server

A Model Context Protocol (MCP) server that provides read-only access to Monarch Money financial data. This allows AI assistants like Claude Desktop to analyze your financial information, transactions, budgets, and cashflow data.

Note: I've created this for personal fun and is not affiated with Monarch Money. I mostly created it for learning about my spending, using it for projections. Since I don't have any need to mutate any data it's currently READONLY.

Shout out to

Features

  • Read-only access to Monarch Money accounts
  • Transaction analysis with date filtering and search
  • Budget tracking and cashflow analysis
  • Account details including investment holdings
  • Secure authentication with MFA support
  • Session persistence to minimize re-authentication

Installation

Prerequisites

  • Python 3.13+
  • uv package manager (recommended)
  • A Monarch Money account

Setup

  1. Clone the repository:

  2. Install dependencies:

    bash
    uv add mcp monarchmoney python-dotenv
    
  3. Configure environment variables:

    bash
    cp .env.example .env
    

    Edit .env with your Monarch Money credentials:

    MONARCH_EMAIL=your-email@example.com
    MONARCH_PASSWORD=your-monarch-password
    MONARCH_MFA_SECRET=your-mfa-secret-key  # Optional but recommended
    
  4. Test the connection:

    bash
    python test_api.py
    

Usage

Running the Server

Start the MCP server:

bash
python run_server.py

Claude Desktop Integration

Add to your Claude Desktop configuration (claude_desktop_config.json):

json
{
  "mcpServers": {
    "monarch-money": {
      "command": "python",
      "args": ["/path/to/monarch-mcp-server/run_server.py"],
      "env": {
        "MONARCH_EMAIL": "your-email@example.com",
        "MONARCH_PASSWORD": "your-password",
        "MONARCH_MFA_SECRET": "your-mfa-secret"
      }
    }
  }
}

Available Resources

  • monarch://accounts - All linked accounts
  • monarch://transactions/recent - Last 100 transactions
  • monarch://budgets - Budget information with actual vs target
  • monarch://cashflow/summary - Income, expenses, and savings summary

Available Tools

  • get_transactions - Get transactions with date range filtering
  • get_account_details - Detailed account information including holdings
  • get_cashflow_analysis - Cashflow analysis by category and time period
  • search_transactions - Search transactions by description or merchant
  • get_categories - All transaction categories
  • get_institutions - Linked financial institutions

Example Prompts

Once configured with Claude Desktop, you can ask:

  • "Show me my recent transactions from last month"
  • "What's my current budget status?"
  • "Analyze my spending patterns by category"
  • "How much did I spend on groceries this year?"
  • "What are my investment account balances?"

Security

  • No write operations - Server is read-only for safety
  • Local credentials - Your login details stay on your machine
  • Session caching - Reduces authentication frequency
  • MFA support - Two-factor authentication recommended

Troubleshooting

Authentication Issues

  1. Run the debug script:

    bash
    python debug_server.py
    
  2. Check environment variables:

    bash
    python -c "import os; print('Email:', bool(os.getenv('MONARCH_EMAIL'))); print('Password:', bool(os.getenv('MONARCH_PASSWORD')))"
    
  3. Clear session cache:

    bash
    rm -rf .mm/
    

Common Issues

  • MFA required: Set MONARCH_MFA_SECRET environment variable
  • Session expired: Delete .mm/ directory to force fresh login
  • Import errors: Ensure all dependencies installed with uv add

Development

Project Structure

monarch-mcp-server/
├── monarch_mcp_server.py     # Main MCP server implementation
├── run_server.py             # Server launcher script
├── debug_server.py           # Authentication debugging
├── test_api.py              # API connection testing
├── tests/                   # Unit tests
│   ├── __init__.py
│   └── test_monarch_mcp_server.py
├── pyproject.toml           # Project dependencies
├── .github/workflows/       # CI/CD workflows
└── .env.example             # Environment template

Testing

Install test dependencies:

bash
uv sync --extra test

Run the unit test suite:

bash
uv run pytest tests/ -v

Run tests with coverage:

bash
uv run pytest tests/ --cov=monarch_mcp_server --cov-report=term

Run manual API test:

bash
python test_api.py

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Disclaimer

This project is not affiliated with Monarch Money. Use at your own risk and ensure compliance with Monarch Money's terms of service.

Star History

Star History Chart

Repository Owner

carsol
carsol

User

Repository Details

Language Python
Default Branch main
Size 37 KB
Contributors 1
License MIT License
MCP Verified Nov 12, 2025

Programming Languages

Python
100%

Tags

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • investor-agent

    investor-agent

    Comprehensive Financial Analysis Server for LLMs via Model Context Protocol

    investor-agent is an MCP server designed to deliver in-depth financial insights and market analysis to Large Language Models. It leverages real-time data sources and advanced analysis tools to provide information such as market movers, ticker data, options chains, historical prices, financial statements, ownership structure, and sentiment indices. The platform features robust caching and error handling for reliable and efficient data delivery while supporting extensible financial analytics with optional technical indicators and intraday data.

    • 286
    • MCP
    • ferdousbhai/investor-agent
  • Dappier MCP Server

    Dappier MCP Server

    Real-time web search and premium data access for AI agents via Model Context Protocol.

    Dappier MCP Server enables fast, real-time web search and access to premium data sources, including news, financial markets, sports, and weather, for AI agents using the Model Context Protocol (MCP). It integrates seamlessly with tools like Claude Desktop and Cursor, allowing users to enhance their AI workflows with up-to-date, trusted information. Simple installation and configuration are provided for multiple platforms, leveraging API keys for secure access. The solution supports deployment via Smithery and direct installation with 'uv', facilitating rapid setup for developers.

    • 35
    • MCP
    • DappierAI/dappier-mcp
  • tasty-agent

    tasty-agent

    Model Context Protocol server for TastyTrade portfolio monitoring and trading.

    tasty-agent is a Model Context Protocol (MCP) server designed to enable LLMs to interface with TastyTrade brokerage accounts. It provides functionality for monitoring portfolios, analyzing market positions, and executing trades through a standardized API. The tool offers automated implied volatility (IV) analysis, supports real-time market data streaming, and features robust rate limiting and error handling to ensure reliability. Authentication is handled via OAuth, and the tool is easily configurable for MCP clients.

    • 47
    • MCP
    • ferdousbhai/tasty-agent
  • MCP Fathom Analytics

    MCP Fathom Analytics

    Unofficial MCP server for AI-powered access to Fathom Analytics data.

    MCP Fathom Analytics provides an unofficial Model Context Protocol (MCP) server that enables AI assistants to access and interact with Fathom Analytics data. It integrates with the Fathom Analytics API via the @mackenly/fathom-api SDK, offering tools to retrieve account details, manage sites, list events, generate analytics reports, and access real-time visitor data. Designed for use in AI model workflows, it allows secure and flexible analytics integration and supports configuration for clients such as Claude Desktop.

    • 2
    • MCP
    • mackenly/mcp-fathom-analytics
  • mcp-server-ledger

    mcp-server-ledger

    Model Context Protocol server for interacting with Ledger CLI via AI assistants.

    mcp-server-ledger provides a standardized Model Context Protocol interface for the Ledger CLI, enabling AI-driven querying and analysis of double-entry accounting data. It exposes key Ledger CLI commands as tools accessible by Large Language Models for financial reporting, budget analysis, and account management. It supports deployment via Docker, Smithery, or 'uv', and requires a valid ledger file and appropriate environment setup.

    • 35
    • MCP
    • minhyeoky/mcp-server-ledger
  • Twelve Data MCP Server

    Twelve Data MCP Server

    Seamless AI-powered access to financial market data via the Twelve Data API.

    Twelve Data MCP Server provides a Model Context Protocol-compliant server for integrating and accessing Twelve Data’s financial market API. It enables users and AI agents to retrieve historical data, real-time quotes, and instrument metadata for stocks, forex, and crypto using natural language or endpoint calls. The system leverages AI-driven routing, including OpenAI GPT-4o, to intelligently map plain English queries to relevant API endpoints for structured or conversational workflows. Integration options are available for platforms like Claude Desktop and VS Code, with flexible local or remote deployment.

    • 43
    • MCP
    • twelvedata/mcp
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results