Enhanced MCP server for MonarchMoney financial data access with dynamic tool generation
Project description
🏦 Monarch Money MCP Server Enhanced
🎉 Claude Desktop Extension - One-Click Installation!
A dynamic MCP (Model Context Protocol) server that automatically exposes all methods from the monarchmoney-enhanced library as MCP tools. Now available as a Claude Desktop Extension for seamless one-click installation!
✨ NEW in v0.11.0: 2-5x performance improvements with intelligent caching, query variants, and request deduplication!
🚀 Performance Optimized: 40-60% reduction in API calls, 60-70% data transfer reduction, 80%+ cache hit rates, and comprehensive real-time monitoring.
Key Features
🎯 One-Click Installation: Install as a Claude Desktop Extension - no configuration files needed!
🔄 Fully Dynamic: Automatically discovers and exposes all MonarchMoney methods as tools
🚀 Auto-Updating: GitHub Actions automatically release new versions with MCPB bundles
📊 Complete API Access: Every method in the library becomes an MCP tool automatically
🛠️ Smart Schema Generation: Automatically generates parameter schemas from method signatures
⚡ Performance Optimized: 2-5x improvements, intelligent caching, query variants, request deduplication, real-time monitoring
💫 User-Friendly Setup: Configure credentials through Claude Desktop's intuitive interface
Automatically Available Features
Since this server dynamically exposes all monarchmoney-enhanced methods, you get access to everything:
- Account Management: Create, update, delete accounts, get balances, history
- Transaction Operations: CRUD operations, categorization, tagging, rules, splits
- Budget Management: Set budgets, analyze spending, track goals
- Category & Tag Management: Create, modify, delete categories and tags
- Institution Management: Manage connected financial institutions
- Recurring Transactions: Track and manage recurring payments
- Investment Tracking: Portfolio holdings, performance data
- Subscription Management: Account details and billing info
- And more...: Any new features added to
monarchmoney-enhancedare instantly available!
Installation
Option 1: 🚀 Claude Desktop Extension (Recommended)
⚡ FASTEST & EASIEST INSTALLATION ⚡
Transform your installation experience from complex manual setup to Chrome extension-style simplicity:
-
Download the Extension: Get the latest
monarch-money-enhanced-0.11.0.mcpbfile from the Releases page -
Install in Claude Desktop: Double-click the
.mcpbfile to automatically install in Claude Desktop -
Configure: Enter your Monarch Money credentials in Claude Desktop settings:
- Email: Your Monarch Money account email
- Password: Your Monarch Money account password
- MFA Secret (optional): Your 2FA secret key if enabled
- Force Login (optional): Force fresh login instead of cached session
-
Enable: Enable the extension in Claude Desktop settings
That's it! 🎉 No manual configuration files, no path setup, no terminal commands required!
Option 2: 🛠️ Manual Installation (Advanced Users)
-
Clone or download this MCP server
-
Install dependencies:
cd /path/to/monarch-money-mcp uv sync
-
Add the server to your
.mcp.jsonconfiguration file:
{
"mcpServers": {
"monarch-money-enhanced": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/monarch-money-mcp-enhanced",
"run",
"python",
"server.py"
],
"env": {
"MONARCH_EMAIL": "your-email@example.com",
"MONARCH_PASSWORD": "your-password",
"MONARCH_MFA_SECRET": "your-mfa-secret-key"
}
}
}
}
Important Notes:
- Replace
/path/to/uvwith the full path to youruvexecutable (find it withwhich uv) - Replace
/path/to/monarch-money-mcp-enhancedwith the absolute path to this server directory - Use absolute paths, not relative paths
Getting Your MFA Secret
- Go to Monarch Money settings and enable 2FA
- When shown the QR code, look for the "Can't scan?" or "Enter manually" option
- Copy the secret key (it will be a string like
T5SPVJIBRNPNNINFSH5W7RFVF2XYADYX) - Use this as your
MONARCH_MFA_SECRET
🚀 Performance Optimizations (v0.11.0)
2-5x Performance Improvements
Our latest release delivers significant performance enhancements:
- 40-60% API Call Reduction: Intelligent caching with TTL strategies
- 60-70% Data Transfer Reduction: Query variants (basic/balance/full)
- 80%+ Cache Hit Rates: For static data (categories, account types)
- Request Deduplication: 80% efficiency preventing duplicate calls
- Real-time Monitoring: Performance metrics and cache optimization
Key Optimizations
-
🎯 Query Variants: Choose data detail level to reduce overfetching
basic: Minimal fields for lightweight operationsbalance: Includes balance informationfull: Complete account data (default)
-
📊 Intelligent Caching: Multi-tier TTL strategies
- 2 minutes: Dynamic data (transactions, balances)
- 4 hours: Semi-static data (merchants, institutions)
- 7 days: Static data (categories, account types)
-
⚡ Performance Tools: Built-in monitoring and optimization
get_cache_metrics: Real-time performance insightspreload_cache: Context-aware preloading (dashboard/investments/transactions)
Benchmarks
- Before: 50-100 API calls per session, 100-200KB data transfer
- After: 10-20 API calls per session, 20-40KB data transfer
- Improvement: 2-5x faster typical workflows
How It Works
The server automatically discovers all public methods from the monarchmoney-enhanced library and creates MCP tools for them. This means:
- No Manual Tool Definitions: Methods are discovered at runtime
- Automatic Schema Generation: Parameter types and requirements are inferred from method signatures
- Instant Updates: When
monarchmoney-enhancedadds new methods, they become available immediately - Complete Coverage: Every public method becomes an MCP tool
- Performance Optimized: Automatic caching and optimization without code changes
Available Tools (Dynamic)
Instead of listing specific tools, here's how to see what's available:
- Runtime Discovery: The server lists all available tools when it starts
- Method Coverage: All public methods from
MonarchMoneyclass become tools - Automatic Documentation: Tool descriptions are generated from method docstrings
Example Tools (Auto-Generated)
Some examples of tools that are automatically created:
get_accounts- Retrieve all linked financial accountscreate_transaction- Creates a transaction with the given parameterscreate_transaction_category- Creates a new transaction categoryget_transaction_tags- Get all transaction tagsset_budget_amount- Set budget amount for a categoryget_merchants- Get all merchantsdelete_transaction- Deletes the given transactionget_recurring_transactions- Get all recurring transactionscreate_manual_account- Creates a new manual account- And 90+ more... (automatically updated as the library grows)
New Performance Tools (v0.11.0):
get_cache_metrics- Real-time cache performance insightspreload_cache- Context-aware cache preloading for improved performance
Usage Examples
Creating Transaction Categories
Use create_transaction_category with name "Shared - Telco" to create a new category for shared telecom expenses.
Applying Transaction Rules
Use the transaction management tools to automatically categorize transactions. For example:
- Find transactions containing "Sentris Network LLC"
- Update them to use the "Shared - Telco" category
Performance Monitoring (NEW in v0.11.0)
Monitor and optimize performance with new tools:
- Check cache performance: get_cache_metrics
- Preload cache for dashboard: preload_cache with context "dashboard"
- Use query variants: get_accounts with detail_level "basic" for faster responses
- Monitor API efficiency: Track cache hit rates and API calls saved
Query Optimization Examples (NEW in v0.11.0)
Optimize data fetching with query variants:
- Quick account list: get_accounts with detail_level "basic"
- Account balances: get_accounts with detail_level "balance"
- Full account data: get_accounts with detail_level "full" (default)
- Dashboard view: preload_cache with context "dashboard" for faster loading
Complete Financial Management
Since all MonarchMoney methods are available:
- Create and manage accounts with create_manual_account
- Set up budgets with set_budget_amount
- Tag transactions with set_transaction_tags
- Analyze spending patterns with get_cashflow_summary
- Track investments with get_account_holdings
- Monitor performance with get_cache_metrics
Session Management
The server automatically manages authentication sessions:
- Sessions are cached in a
.mmdirectory for faster subsequent logins - The session cache is automatically created and managed
- Use
MONARCH_FORCE_LOGIN=truein the env section to force a fresh login if needed
Troubleshooting
MFA Issues
- Ensure your MFA secret is correct and properly formatted
- Try setting
MONARCH_FORCE_LOGIN=truein your.mcp.jsonenv section - Check that your system time is accurate (required for TOTP)
Connection Issues
- Verify your email and password are correct in
.mcp.json - Check your internet connection
- Try running the server directly to see detailed error messages:
uv run server.py
Session Problems
- Delete the
.mmdirectory to clear cached sessions - Set
MONARCH_FORCE_LOGIN=truein your.mcp.jsonenv section temporarily
Performance Issues (NEW in v0.11.0)
- Check cache performance: Use
get_cache_metricsto see hit rates - If cache hit rate is low, try:
preload_cachewith appropriate context - For faster responses: Use
get_accountswithdetail_level: "basic" - Monitor API usage: Track
api_calls_savedin cache metrics
Auto-Updates
This repository includes GitHub Actions that automatically:
- Monitor Updates: Checks every 6 hours for new
monarchmoney-enhancedreleases - Auto-Release: Creates new releases when the library updates
- Zero Maintenance: No manual intervention needed to get new features
- Dependency Management: Dependabot keeps other dependencies secure
- MCPB Generation: Automatically creates
.mcpbextension bundles for every release - Extension Distribution: Ready-to-install bundles available in GitHub Releases
- Performance Testing: Automated testing validates optimizations and performance improvements
Building MCPB Extensions (For Developers)
If you want to create your own MCPB bundle:
-
Install MCPB CLI:
npm install -g @anthropic-ai/mcpb
-
Generate Bundle:
mcpb pack -
Output: The CLI generates
monarch-money-enhanced-VERSION.mcpbready for distribution
The manifest.json file defines the extension configuration and is automatically used by the MCPB CLI.
Credits
Original MCP Server
- Author: Taurus Colvin (@colvint)
- Repository: https://github.com/colvint/monarch-money-mcp
Enhanced MCP Server
- Enhanced By: Keith Herrington (@keithah)
- Repository: https://github.com/keithah/monarch-money-mcp-enhanced
- Name:
monarch-money-mcp-enhanced - Version: Synchronized with
monarchmoney-enhancedlibrary - Features: Dynamic tool generation, 2-5x performance improvements, auto-updates, complete API coverage, intelligent caching, query variants
MonarchMoney Enhanced Library
- Enhanced By: Keith Herrington (@keithah)
- Repository: https://github.com/keithah/monarchmoney-enhanced
- Description: Enhanced version of the MonarchMoney Python library with additional features
Original MonarchMoney Python Library
- Author: hammem (@hammem)
- Repository: https://github.com/hammem/monarchmoney
- License: MIT License
This dynamic MCP server automatically adapts to library changes, providing seamless integration with AI assistants through the Model Context Protocol.
Security Notes
- Keep your credentials secure in your
.mcp.jsonfile - The MFA secret provides full access to your account - treat it like a password
- Session files in
.mmdirectory contain authentication tokens - keep them secure - Consider restricting access to your
.mcp.jsonfile since it contains sensitive credentials
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file monarch_money_mcp_enhanced-0.11.6.tar.gz.
File metadata
- Download URL: monarch_money_mcp_enhanced-0.11.6.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e347bc68eeed11bc89d99be9ed31ad91d7eaba1791957c5039c11213b32b561
|
|
| MD5 |
5765846cbab3d53991f3750b47551c68
|
|
| BLAKE2b-256 |
81423922a632a282455f32c76d0de849b9bd89a8c64bc04de5bf96b90f23bd98
|
File details
Details for the file monarch_money_mcp_enhanced-0.11.6-py3-none-any.whl.
File metadata
- Download URL: monarch_money_mcp_enhanced-0.11.6-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2457e4ad041c116c9c8cfd1f37387dcaa4c2408699c04fde6cd04abb7559426
|
|
| MD5 |
8915e78e096c632ffed7e642f0d3f0e2
|
|
| BLAKE2b-256 |
3c6a5677946309ca45e3c69cbfb91d00de322a066cbc872e15f43cb2d3f7630e
|