Monarch Money MCP Server

Monarch Money MCP Server

Enables integration with Monarch Money to query financial data, analyze spending patterns, track budgets, and get personalized financial insights through conversational AI with Claude Desktop.

Category
Visit Server

README

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

šŸ›”ļø 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"

šŸ” Transaction Search

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured