Skip to main content
Glama
Monarch Money MCP Server

Monarch Money MCP Server

by whitebirchio

Monarch Money MCP Server

A Model Context Protocol (MCP) server that provides seamless integration between Monarch Money and Claude Desktop. This server enables you to query your financial data, analyze spending patterns, and get personalized financial insights directly through conversational AI.

šŸš€ Features

  • šŸ¦ Account Management: View all accounts with real-time balances and details

  • šŸ’³ Transaction Analysis: Search and filter transactions with advanced criteria

  • šŸ“Š Spending Insights: Analyze spending patterns by category, merchant, and time period

  • šŸ’° Budget Tracking: Monitor budget performance with planned vs. actual spending

  • šŸ“ˆ Net Worth Calculation: Track your total net worth and asset allocation

  • šŸ“… Monthly Reports: Generate comprehensive monthly financial summaries

  • šŸ·ļø Category Management: Explore and analyze transaction categories

  • šŸ“‰ Balance History: View account balance trends over time

  • šŸ” Secure Authentication: Token-based authentication with MFA support

Related MCP server: monarch-mcp

šŸ›”ļø Security & Privacy

  • Token-based authentication - No need to store credentials long-term

  • Environment variable protection - Credentials never hardcoded

  • Multi-factor authentication support - Enhanced security for your financial data

  • GraphQL API integration - Secure communication with Monarch Money

  • Local processing - All analysis happens on your machine

šŸ“‹ Prerequisites

Before you begin, ensure you have:

  • Node.js 18+ installed on your system

  • Claude Desktop application installed

  • Monarch Money account with valid credentials

  • npm or yarn package manager

šŸ”§ Installation

1. Clone the Repository

git clone https://github.com/whitebirchio/monarch-mcp.git
cd monarch-mcp

2. Install Dependencies

npm install

3. Authentication Setup

šŸ”‘ Option A: Token Authentication (Recommended)

  1. Get your authentication token:

    npm run login
  2. Follow the prompts to enter your Monarch Money credentials and MFA code (if required)

  3. Copy the generated token for use in Claude Desktop configuration

šŸ“§ Option B: Direct Credentials

Create a .env file with your credentials:

MONARCH_TOKEN=your-auth-token-here

4. Build the Project

npm run build

āš™ļø Claude Desktop Configuration

macOS Configuration

Edit your Claude Desktop config file:

~/Library/Application Support/Claude/claude_desktop_config.json

Add this configuration:

{
  "mcpServers": {
    "monarch-money": {
      "command": "node",
      "args": ["/absolute/path/to/monarch-mcp/dist/index.js"],
      "env": {
        "MONARCH_TOKEN": "your-auth-token-here"
      }
    }
  }
}

Windows Configuration

Edit your Claude Desktop config file:

%APPDATA%/Claude/claude_desktop_config.json

Use the same JSON structure with Windows-style paths:

{
  "mcpServers": {
    "monarch-money": {
      "command": "node",
      "args": ["C:\\path\\to\\monarch-mcp\\dist\\index.js"],
      "env": {
        "MONARCH_TOKEN": "your-auth-token-here"
      }
    }
  }
}

šŸ’” Important: Use the absolute path to your installation directory.

šŸŽÆ Usage Examples

After configuring Claude Desktop and restarting the application, you can ask questions like:

šŸ’° Financial Overview

  • "What's my current net worth?"

  • "Show me all my account balances"

  • "What's my checking account balance?"

šŸ“Š Spending Analysis

  • "How much did I spend on groceries last month?"

  • "Show me my largest expenses from the past week"

  • "Break down my spending by category for Q3"

  • "Find all transactions over $500 this year"

šŸ“ˆ Budget Insights

  • "How am I doing against my budget this month?"

  • "Which budget categories am I overspending in?"

  • "Show me my budget vs actual for each category"

  • "Find all Amazon purchases from last month"

  • "Show me restaurant transactions over $50"

  • "What did I spend at Costco this year?"

šŸ“… Historical Analysis

  • "Compare my spending this month vs last month"

  • "Show my account balance trends for the past 6 months"

  • "What was my net income last month?"

šŸ› ļø Available Tools

Tool

Description

Parameters

get_accounts

List all financial accounts

None

get_account_balance

Get specific account balance

accountId

get_transactions

Retrieve transactions with filters

limit, accountId, startDate, endDate

get_spending_by_category

Spending breakdown by category

startDate, endDate

get_budget_summary

Current budget status

None

search_transactions

Search transactions by criteria

query, minAmount, maxAmount, limit

get_net_worth

Calculate total net worth

None

get_monthly_summary

Monthly financial summary

year, month

get_categories

List all transaction categories

None

get_account_snapshots

Account balance history

accountId, startDate, endDate

šŸ”§ Development

Development Commands

# Run in development mode
npm run dev

# Build for production
npm run build

# Start production server
npm start

# Get authentication token
npm run login

Project Structure

monarch-mcp/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts           # MCP server entry point
│   ā”œā”€ā”€ login.ts          # Authentication helper
│   ā”œā”€ā”€ monarch-api.ts    # Monarch Money API client
│   └── tools.ts          # MCP tool implementations
ā”œā”€ā”€ dist/                 # Compiled JavaScript output
ā”œā”€ā”€ package.json          # Project dependencies
ā”œā”€ā”€ tsconfig.json         # TypeScript configuration
└── README.md            # This file

API Architecture

The server implements a three-layer architecture:

  1. MCP Layer (index.ts) - Handles Model Context Protocol communication

  2. Tools Layer (tools.ts) - Implements financial analysis tools

  3. API Layer (monarch-api.ts) - Manages Monarch Money GraphQL API integration

šŸ› Troubleshooting

Authentication Issues

Problem

Solution

Invalid credentials

Verify your email/password in the login command

MFA required

Use the npm run login command which handles MFA

Token expired

Re-run npm run login to get a fresh token

Integration Issues

Problem

Solution

Tools not appearing

Restart Claude Desktop completely

Server not starting

Verify the absolute path in config file

Permission errors

Check file permissions on dist/index.js

Common Error Messages

  • "MONARCH_TOKEN environment variable is required" - Add your token to the Claude Desktop config

  • "Authentication failed" - Check your token validity and regenerate if needed

  • "GraphQL Error (Code: 400)" - API request format issue (usually handled automatically)

šŸ¤ Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Make your changes

  4. Test thoroughly with your own Monarch Money account

  5. Commit your changes (git commit -m 'Add amazing feature')

  6. Push to your branch (git push origin feature/amazing-feature)

  7. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices

  • Add proper error handling

  • Update documentation for new features

  • Test with real Monarch Money data

  • Maintain backwards compatibility

šŸ“„ License

This project is licensed under the ISC License - see the LICENSE file for details.

āš ļø Disclaimer

This project is an independent integration and is not affiliated with, endorsed by, or sponsored by Monarch Money.

Important Notes:

  • Use this software at your own risk

  • Always verify financial data independently

  • Never make financial decisions based solely on automated tools

  • Keep your authentication credentials secure

  • Review all transactions and calculations manually

šŸ™‹ā€ā™‚ļø Support


Made with ā¤ļø for the Claude Desktop community

Available Tools

11 tools
get_account_balanceC

Get the current balance for a specific account

Inputs: accountId (required).

get_accountsB

Get all financial accounts from Monarch Money

Inputs: no named parameters.

get_account_snapshotsB

Get balance history for a specific account over time

Inputs: accountId (required), startDate, endDate.

get_budget_summaryB

Get current budget summary showing planned vs actual spending

Inputs: no named parameters.

get_categoriesB

Get all transaction categories available in Monarch Money

Inputs: no named parameters.

get_monthly_summaryC

Get monthly financial summary including income, expenses, and savings

Inputs: year (required), month (required).

get_net_worthB

Get current net worth and assets/liabilities breakdown

Inputs: no named parameters.

get_portfolioB

Get current investment portfolio summary, including holdings and performance

Inputs: startDate, endDate.

get_spending_by_categoryC

Get spending breakdown by category for a specific time period

Inputs: startDate (required), endDate (required).

get_transactionsC

Get recent transactions, optionally filtered by account, date range, or amount

Inputs: accountId, limit, startDate, endDate.

search_transactionsC

Search transactions by description, merchant, or amount

Inputs: query, minAmount, maxAmount, limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 11 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose targeting specific financial data endpoints, with no overlap or ambiguity. For example, get_account_balance focuses on current balance, while get_account_snapshots provides historical data, and get_spending_by_category analyzes spending patterns separately from get_transactions.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern with 'get_' prefix, making them predictable and readable. The structure is uniform across all 11 tools, such as get_accounts, get_budget_summary, and get_net_worth, with no deviations in style or convention.

    Tool Count5/5

    The 11 tools are well-scoped for a personal finance server, covering key areas like accounts, transactions, budgets, and investments. Each tool earns its place by addressing a distinct aspect of financial management without being excessive or insufficient for the domain.

    Completeness4/5

    The tool set provides comprehensive read-only coverage for financial data retrieval, including accounts, transactions, budgets, and net worth. A minor gap exists in write operations (e.g., updating transactions or budgets), but agents can still perform most analysis and reporting tasks effectively.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to access and analyze MonarchMoney personal finance data through natural language queries. Provides comprehensive financial insights including account balances, transaction analysis, budget tracking, and spending patterns with enterprise-grade security.
      11
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      Comprehensive Monarch Money integration with read and write support for accounts, transactions, budgets, cashflow, credit history, and more. Secure browser-based auth with tokens stored in the OS keychain. Installs in one click via .mcpb for Claude Desktop.
      25
      219 PyPI
      13
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides read-only access to Tiller Money financial data in Google Sheets, enabling natural language queries for accounts, transactions, categories, and budgets through Claude Desktop.
      10
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Connects Claude Desktop to Yodlee financial data, enabling account management, transaction queries, spending summaries, and audio narrations.
      1
      MIT