monarch-mcp-server
MCP Server for Monarch Money, utilizing an unofficial api.
README
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.
Built with the MonarchMoney Python library by @hammem - A fantastic unofficial API for Monarch Money with full MFA support.
🚀 Quick Start
1. Installation
Option A: If you're Rob (already configured)
The server is already installed in your Claude Desktop configuration. No additional installation needed!
Option B: First-time setup for others
-
Clone this repository:
git clone https://github.com/robcerda/monarch-mcp-server.git cd monarch-mcp-server -
Install dependencies:
pip install -r requirements.txt pip install -e . -
Configure 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
2. One-Time Authentication Setup
Important: For security and MFA support, authentication is done outside of Claude Desktop.
Open Terminal and run:
cd /path/to/your/monarch-mcp-server
python login_setup.py
Follow 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 in Claude Desktop
Once authenticated, use these tools directly in Claude Desktop:
get_accounts- View all your financial accountsget_transactions- Recent transactions with filteringget_budgets- Budget information and spendingget_cashflow- Income/expense analysis
✨ 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)
📈 Financial Analysis
- Get Budgets: Access budget information including spent amounts and remaining balances
- Get Cashflow: Analyze financial cashflow over specified date ranges with income/expense breakdowns
🔐 Secure Authentication
- One-Time Setup: Authenticate once, use for weeks/months
- MFA Support: Full support for two-factor authentication
- Session Persistence: No need to re-authenticate frequently
- Secure: Credentials never pass through Claude Desktop
🛠️ Available Tools
| Tool | Description | Parameters |
|---|---|---|
setup_authentication |
Get setup instructions | None |
check_auth_status |
Check authentication status | None |
get_accounts |
Get all financial accounts | None |
get_transactions |
Get transactions with filtering | limit, offset, start_date, end_date, account_id |
get_budgets |
Get budget information | None |
get_cashflow |
Get cashflow analysis | start_date, end_date |
get_account_holdings |
Get investment holdings | account_id |
create_transaction |
Create new transaction | account_id, amount, description, date, category_id, merchant_name |
update_transaction |
Update existing transaction | transaction_id, amount, description, category_id, date |
refresh_accounts |
Request account data refresh | None |
📝 Usage Examples
View Your Accounts
Use get_accounts to show me all my financial accounts
Get Recent Transactions
Show me my last 50 transactions using get_transactions with limit 50
Check Spending vs Budget
Use get_budgets to show my current budget status
Analyze Cash Flow
Get my cashflow for the last 3 months using get_cashflow
📅 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 - Restart Claude Desktop
- Try using a tool like
get_accounts
Session Expired
Sessions last for weeks, but if expired:
- Run the same setup command again
- Enter your credentials and 2FA code
- Session will be refreshed automatically
Common Error Messages
- "No valid session found": Run
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 # Authentication setup script
├── pyproject.toml # Project configuration
├── requirements.txt # Dependencies
└── README.md # This documentation
Session Management
- Sessions are stored securely in
.mm/mm_session.pickle - Automatic session discovery and loading
- Sessions persist across Claude Desktop restarts
- No need for frequent re-authentication
Security Features
- Credentials never transmitted through Claude Desktop
- MFA/2FA fully supported
- Session files are encrypted
- Authentication handled in secure terminal environment
🙏 Acknowledgments
This MCP server is built on top of the excellent MonarchMoney Python library created by @hammem. Their library provides the robust foundation that makes this integration possible, including:
- Secure authentication with MFA support
- Comprehensive API coverage for Monarch Money
- Session management and persistence
- Well-documented and maintained codebase
Thank you to @hammem for creating and maintaining this essential library!
📄 License
MIT License
🆘 Support
For issues:
- Check authentication with
check_auth_status - Run the setup command again:
cd /path/to/your/monarch-mcp-server && python login_setup.py - Check error logs for detailed messages
- Ensure Monarch Money service is accessible
🔄 Updates
To update the server:
- Pull latest changes from repository
- Restart Claude Desktop
- Re-run authentication if needed:
python login_setup.py
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。