Monarch Money MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Monarch Money MCP Server how much did I spend on dining out last month?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-mcp2. Install Dependencies
npm install3. Authentication Setup
š Option A: Token Authentication (Recommended)
Get your authentication token:
npm run loginFollow the prompts to enter your Monarch Money credentials and MFA code (if required)
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-here4. Build the Project
npm run buildāļø Claude Desktop Configuration
macOS Configuration
Edit your Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.jsonAdd 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.jsonUse 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 |
| List all financial accounts | None |
| Get specific account balance |
|
| Retrieve transactions with filters |
|
| Spending breakdown by category |
|
| Current budget status | None |
| Search transactions by criteria |
|
| Calculate total net worth | None |
| Monthly financial summary |
|
| List all transaction categories | None |
| Account balance history |
|
š§ 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 loginProject 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 fileAPI Architecture
The server implements a three-layer architecture:
MCP Layer (
index.ts) - Handles Model Context Protocol communicationTools Layer (
tools.ts) - Implements financial analysis toolsAPI 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 |
Token expired | Re-run |
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 |
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:
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Make your changes
Test thoroughly with your own Monarch Money account
Commit your changes (
git commit -m 'Add amazing feature')Push to your branch (
git push origin feature/amazing-feature)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
Issues: GitHub Issues
Discussions: GitHub Discussions
Documentation: This README and inline code comments
Made with ā¤ļø for the Claude Desktop community
Available Tools
11 toolsget_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
Scored across 11 tools
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.
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.
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.
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
Related MCP Connectors
Ask Claude about your income and spending, and import bank statements. No bank login.
Read-only access to your own bank, card and brokerage accounts for Claude, ChatGPT and other AI agents: balances, transactions, spending, subscriptions, cashflow and investment holdings. It can never move money.
Personal finance, bank account, and shared memory connector for Claude, ChatGPT, Gemini Spark & more
Ask your AI about your own accounts, debts, budgets and goals. OAuth sign-in, read-only by default.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables 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.11MIT
- AlicenseBqualityCmaintenanceComprehensive 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.25219 PyPI13MIT
- AlicenseNot gradedqualityDmaintenanceProvides read-only access to Tiller Money financial data in Google Sheets, enabling natural language queries for accounts, transactions, categories, and budgets through Claude Desktop.10MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude Desktop to Yodlee financial data, enabling account management, transaction queries, spending summaries, and audio narrations.1MIT