monarch-mcp-server
The Monarch Money MCP Server integrates with the Monarch Money personal finance platform via Claude Desktop to provide comprehensive financial management capabilities:
Account Management: View linked financial accounts with balances, access investment holdings, and refresh account data from institutions.
Transaction Management: Fetch transactions with filtering by date and account, create new transactions, and update existing ones.
Financial Analysis: Access budget information, track spending vs budgets, and perform cashflow analysis over specified date ranges.
Secure Authentication: One-time setup with MFA support, secure session persistence, and encrypted session files.
Click on "Install 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-mcp-servershow me my last 30 transactions"
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 for integrating with the Monarch Money personal finance platform. This server provides seamless access to your financial accounts, transactions, budgets, and analytics through Claude Desktop and Claude Code.
My MonarchMoney referral: https://www.monarchmoney.com/referral/ufmn0r83yf?r_source=share
Built with the MonarchMoneyCommunity Python library - An actively maintained community fork of the Monarch Money API with full MFA support.
🚀 Quick Start
1. Installation
Clone this repository:
git clone https://github.com/robcerda/monarch-mcp-server.git cd monarch-mcp-serverInstall dependencies:
Using
pip:pip install -r requirements.txt pip install -e .Using
uv(alternative):uv syncConfigure Claude Desktop: Add this to your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json{ "mcpServers": { "Monarch Money": { "command": "/opt/homebrew/bin/uv", "args": [ "run", "--with", "mcp[cli]", "--with-editable", "/path/to/your/monarch-mcp-server", "mcp", "run", "/path/to/your/monarch-mcp-server/src/monarch_mcp_server/server.py" ] } } }Important: Replace
/path/to/your/monarch-mcp-serverwith your actual path!Restart Claude Desktop
OR
Configure Claude Code (CLI): Add this to your Claude Code configuration file:
Global (all projects):
macOS/Linux:
~/.claude.jsonWindows:
%USERPROFILE%\.claude.json{ "mcpServers": { "Monarch Money": { "command": "/opt/homebrew/bin/uv", "args": [ "run", "--with", "mcp[cli]", "--with-editable", "/path/to/your/monarch-mcp-server", "mcp", "run", "/path/to/your/monarch-mcp-server/src/monarch_mcp_server/server.py" ] } } }Project-level (specific directory):
Create
.mcp.jsonin your project directory:{ "Monarch Money": { "command": "/opt/homebrew/bin/uv", "args": [ "run", "--with", "mcp[cli]", "--with-editable", "/path/to/your/monarch-mcp-server", "mcp", "run", "/path/to/your/monarch-mcp-server/src/monarch_mcp_server/server.py" ] } }If installed via
pipinstead ofuv, use:{ "command": "python", "args": ["/path/to/your/monarch-mcp-server/src/monarch_mcp_server/server.py"] }Important: Replace
/path/to/your/monarch-mcp-serverwith your actual path!Restart Claude Code
2. One-Time Authentication Setup
Important: For security and MFA support, authentication is done outside of Claude.
Option A: Email/Password Login
Open Terminal and run:
Using python:
cd /path/to/your/monarch-mcp-server
python login_setup.pyUsing uv:
cd /path/to/your/monarch-mcp-server
uv run python login_setup.pyFollow the prompts:
Enter your Monarch Money email and password
Provide 2FA code if you have MFA enabled
Session will be saved automatically
3. Start Using
Once authenticated, use these tools directly in Claude Desktop or Claude Code:
get_accounts- View all your financial accountsget_transactions- Recent transactions with filteringget_budgets- Budget information and spendingget_cashflow- Income/expense analysis
Related MCP server: mapbox-mcp-server
✨ Features
📊 Account Management
Get Accounts: View all linked financial accounts with balances and institution info
Get Account Holdings: See securities and investments in investment accounts
Refresh Accounts: Request real-time data updates from financial institutions
💰 Transaction Access
Get Transactions: Fetch transaction data with filtering by date, account, and pagination
Create Transaction: Add new transactions to accounts
Update Transaction: Modify existing transactions (amount, description, category, date)
🏷️ Category Management
Get Categories: List all transaction categories with groups, icons, and metadata
Get Category Groups: View category groups with their associated categories
📋 Transaction Review
Get Transactions Needing Review: Find transactions that need attention (uncategorized, no notes, flagged)
Set Transaction Category: Assign a category to a transaction
Update Transaction Notes: Add or update notes on transactions (great for receipt links)
Mark Transaction Reviewed: Clear the needs_review flag on transactions
📦 Bulk Operations
Bulk Categorize Transactions: Apply a category to multiple transactions at once
🔖 Tag Management
Get Tags: List all available tags with colors and usage counts
Set Transaction Tags: Apply tags to a transaction
Create Tag: Create a new tag with custom name and color
🔍 Advanced Search
Search Transactions: Comprehensive search with filters for merchant, category, account, tags, date ranges, and amounts
Get Transaction Details: Retrieve complete details for a single transaction
Delete Transaction: Remove a transaction
Get Recurring Transactions: View upcoming recurring transactions
🤖 Transaction Rules (Auto-Categorization)
Get Transaction Rules: List all auto-categorization rules
Create Transaction Rule: Create rules with merchant/amount conditions to auto-categorize
Update Transaction Rule: Modify existing rules
Delete Transaction Rule: Remove a rule
✂️ Transaction Splits
Get Transaction Splits: View how a transaction has been split into parts
Split Transaction: Divide a single transaction into multiple parts with different categories or merchants
💵 Budget Management
Get Budgets: Access budget information including spent amounts and remaining balances by category
Set Budget Amount: Create or modify budget amounts for any category or category group
📈 Net Worth Tracking
Get Net Worth: Track total net worth over time with daily snapshots and trend analysis
Get Account Balance History: View historical balance data for any account
Get Net Worth by Account Type: See net worth breakdown across account types (checking, savings, investments, etc.)
📊 Financial Analysis
Get Cashflow: Analyze financial cashflow over specified date ranges with income/expense breakdowns
Get Transactions Summary: Quick high-level statistics about your transactions
Get Spending Summary: Spending breakdown by category with totals
🔐 Secure Authentication
One-Time Setup: Authenticate once, use for weeks/months
MFA Support: Full support for two-factor authentication
SSO/Google sign-in: Use
monarch_login_with_tokento paste a session token from your browserSession Persistence: No need to re-authenticate frequently
Secure: Credentials never pass through Claude
🛠️ Available Tools
Tool | Description | Parameters |
| Get setup instructions | None |
| Check authentication status | None |
| Get all financial accounts | None |
| Get transactions with filtering |
|
| Get budget information |
|
| Set budget for a category |
|
| Get cashflow analysis |
|
| Get net worth history |
|
| Get account balance history |
|
| Get net worth by account type |
|
| Get investment holdings |
|
| Create new transaction |
|
| Update existing transaction |
|
| Request account data refresh | None |
| List all transaction categories | None |
| List category groups with categories | None |
| Get transactions needing review |
|
| Set category on a transaction |
|
| Update notes on a transaction |
|
| Mark transaction as reviewed |
|
| Categorize multiple transactions |
|
| List all tags | None |
| Set tags on a transaction |
|
| Create a new tag |
|
| Search transactions with filters |
|
| Get details of a transaction |
|
| Delete a transaction |
|
| Get recurring transactions | None |
| List auto-categorization rules | None |
| Create an auto-categorization rule |
|
| Update an existing rule |
|
| Delete a rule |
|
| Get splits for a transaction |
|
| Split a transaction into parts |
|
| Get high-level transaction statistics | None |
| Get spending breakdown by category |
|
📝 Usage Examples
View Your Accounts
Use get_accounts to show me all my financial accountsGet Recent Transactions
Show me my last 50 transactions using get_transactions with limit 50Check Spending vs Budget
Use get_budgets to show my current budget statusSet a Budget Amount
Set my grocery budget to $600 for this month using set_budget_amountApply Budget to All Future Months
Set my entertainment budget to $150 and apply it to all future months using set_budget_amount with apply_to_future=trueTrack Net Worth Over Time
Show my net worth trend for the past year using get_net_worthView Account Balance History
Show me how my savings account balance has changed over time using get_account_balance_historyNet Worth Breakdown by Account Type
Show my net worth breakdown by account type using get_net_worth_by_account_typeAnalyze Cash Flow
Get my cashflow for the last 3 months using get_cashflowList Available Categories
Show me all available categories using get_categoriesReview Uncategorized Transactions
Show me transactions from the last 7 days that need review using get_transactions_needing_reviewBulk Categorize Transactions
Categorize these three transactions as "Groceries" using bulk_categorize_transactionsTag a Transaction
Add the "Tax Deductible" tag to this transaction using set_transaction_tagsSearch for Transactions
Find all Amazon transactions over $50 from the last month using search_transactionsView Recurring Bills
Show me my upcoming recurring transactions using get_recurring_transactionsCreate Auto-Categorization Rule
Create a rule to automatically categorize Amazon transactions as "Shopping" using create_transaction_ruleSplit a Transaction
Split this $100 Costco transaction into $60 for Groceries and $40 for Household using split_transactionGet Transaction Statistics
Give me a quick summary of my transactions using get_transactions_summaryView Spending by Category
Show my spending breakdown by category for last month using get_spending_summary📅 Date Formats
All dates should be in
YYYY-MM-DDformat (e.g., "2024-01-15")Transaction amounts: positive for income, negative for expenses
🔧 Troubleshooting
Authentication Issues
If you see "Authentication needed" errors:
Run the setup command:
cd /path/to/your/monarch-mcp-server && python login_setup.py(oruv run python login_setup.py)Restart Claude Desktop or Claude Code
Try using a tool like
get_accounts
Session Expired
Sessions last for weeks, but if expired:
Run the same setup command again:
python login_setup.py(oruv run python login_setup.py)Enter your credentials and 2FA code
Session will be refreshed automatically
Common Error Messages
"No valid session found": Run
python login_setup.py(oruv run python login_setup.py)"Invalid account ID": Use
get_accountsto see valid account IDs"Date format error": Use YYYY-MM-DD format for dates
🏗️ Technical Details
Project Structure
monarch-mcp-server/
├── src/monarch_mcp_server/
│ ├── __init__.py
│ └── server.py # Main server implementation
├── login_setup.py # Email/password authentication script
├── pyproject.toml # Project configuration
├── requirements.txt # Dependencies
└── README.md # This documentationSession Management
Sessions are stored securely in
.mm/mm_session.pickleAutomatic session discovery and loading
Sessions persist across Claude Desktop and Claude Code restarts
No need for frequent re-authentication
Security Features
Credentials never transmitted through Claude Desktop or Claude Code
MFA/2FA fully supported
Session files are encrypted
Authentication handled in secure terminal environment
🙏 Acknowledgments
This MCP server is built on top of the MonarchMoneyCommunity Python library, an actively maintained community fork of the original MonarchMoney library by @hammem. The community fork provides:
Updated API endpoints for Monarch Money's current domain
Secure authentication with MFA support
Comprehensive API coverage for Monarch Money
Session management and persistence
Thank you to @hammem for creating and maintaining this essential library!
📄 License
MIT License
🆘 Support
For issues:
Check authentication with
check_auth_statusRun the setup command again:
cd /path/to/your/monarch-mcp-server && python login_setup.pyCheck error logs for detailed messages
Ensure Monarch Money service is accessible
🔄 Updates
To update the server:
Pull latest changes from repository
Restart Claude Desktop or Claude Code
Re-run authentication if needed:
python login_setup.py
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/robcerda/monarch-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server