Sponsored by Deepsite.site

Copilot Money MCP

Created By
ignaciohermosillacornejo20 days ago
An MCP server that gives AI assistants access to your Copilot Money personal finance data. It reads from the locally cached Firestore database (LevelDB + Protocol Buffers) on your Mac. Reads are 100% local with zero network requests. 17 read tools across spending, investments, budgets, goals, and more — query transactions, accounts, holdings, balances, categories, recurring charges, budgets, goals, and investment performance. There's also write tools (optional with the flag)
Overview

Copilot Money MCP Server

Query and manage your personal finances with AI using local Copilot Money data

License: MIT Node.js 18+ TypeScript Tests codecov copilot-money-mcp MCP server

Disclaimer

This is an independent, community-driven project and is not affiliated with, endorsed by, or associated with Copilot Money or its parent company in any way. This tool was created by an independent developer to enable AI-powered queries of locally cached data. "Copilot Money" is a trademark of its respective owner.

Overview

An MCP server that gives AI assistants access to your Copilot Money personal finance data. It reads from the locally cached Firestore database (LevelDB + Protocol Buffers) on your Mac. Reads are 100% local with zero network requests.

17 read tools across spending, investments, budgets, goals, and more — query transactions, accounts, holdings, balances, categories, recurring charges, budgets, goals, and investment performance.

Privacy First

We never collect, store, or transmit your data to any server operated by this project — we don't have any. See our Privacy Policy for details.

  • No analytics, telemetry, or tracking of any kind
  • Reads are fully local — zero network requests
  • Open source — verify the code yourself

IMPORTANT

Heads up about AI providers. While this server itself runs locally and never sends your data to any server operated by this project, the AI assistant you connect it to (Claude, ChatGPT, Gemini, etc.) will see your Copilot Money data as part of answering your questions. That means your financial data will be transmitted to and processed by the provider of whichever model you choose — Anthropic, OpenAI, Google, or another third party — subject to that provider's own privacy policy and data retention terms.

By using this MCP server with a hosted AI model, you are knowingly sharing your financial data with that AI provider. Only use this tool if you are comfortable with that trade-off. If you are not, consider waiting for an official Copilot Money integration or using a fully local model.

Quick Start

Prerequisites

  • Node.js 18+ (comes bundled with Claude Desktop)
  • Copilot Money (macOS App Store version)
  • Claude Desktop, Cursor, or any MCP-compatible client

Installation via Claude Desktop

  1. Download the latest .mcpb bundle from Releases
  2. Double-click the .mcpb file to install in Claude Desktop
  3. Restart Claude Desktop
  4. Start asking questions about your finances!

Installation via npm

npm install -g copilot-money-mcp

Then add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "copilot-money": {
      "command": "copilot-money-mcp"
    }
  }
}

Installation for Cursor

  1. Install the package globally:

    npm install -g copilot-money-mcp
    
  2. Open Cursor Settings (Cmd + ,) > Features > MCP Servers

  3. Add the server configuration:

    {
      "mcpServers": {
        "copilot-money": {
          "command": "copilot-money-mcp"
        }
      }
    }
    

What You Can Do

Spending Analysis

"How much did I spend on dining out last month?"

"Show me all my Amazon purchases in the last 30 days"

"What are my top 5 spending categories this year?"

Uses get_transactions, get_categories with date ranges, text search, and category filters.

Account Overview

"What's my net worth across all accounts?"

"Show me my checking account balance over the past 6 months, monthly"

"Which bank connections need attention?"

Uses get_accounts, get_balance_history, get_connection_status.

Investment Portfolio

"What are my current holdings and total returns?"

"Show me AAPL price history for the past year"

"What's my time-weighted return this quarter?"

Uses get_holdings, get_investment_prices, get_securities, get_investment_performance, get_twr_returns.

Budgets & Goals

"Am I on track with my budgets this month?"

"How is my emergency fund progressing?"

"Show me my goal history over the past 6 months"

Uses get_budgets, get_goals, get_goal_history.

Subscriptions & Recurring

"What subscriptions am I paying for?"

"How much do I spend on recurring charges per month?"

Uses get_recurring_transactions.

Available Tools

Read Tools (17)

ToolDescription
get_transactionsQuery transactions with filters — date range, category, merchant, amount, account, location, text search, and special types (foreign, refunds, duplicates, HSA-eligible).
get_accountsList all accounts with balances, filter by type (checking, savings, credit, investment). Includes net worth calculation.
get_categoriesList categories with transaction counts and spending totals. Supports list, tree, and search views.
get_recurring_transactionsIdentify subscriptions and recurring charges with frequency, cost, and next expected date.
get_budgetsGet budgets with spending vs. limit comparisons.
get_goalsGet financial goals with target amounts, progress, and monthly contributions.
get_goal_historyMonthly progress snapshots for goals with daily data and contribution records.
get_balance_historyDaily balance snapshots for accounts over time. Supports daily, weekly, or monthly granularity.
get_holdingsCurrent investment holdings with ticker, quantity, price, cost basis, and total return.
get_investment_pricesHistorical price data (daily + high-frequency) for stocks, ETFs, mutual funds, and crypto.
get_investment_splitsStock split history with ratios, dates, and multipliers.
get_investment_performancePer-security investment performance data.
get_twr_returnsTime-weighted return (TWR) monthly data for investment holdings.
get_securitiesSecurity master data — ticker, name, type, price, and identifiers (ISIN/CUSIP).
get_connection_statusBank sync health for linked institutions, including last sync timestamps and errors.
get_cache_infoLocal cache metadata — date range, transaction count, cache age.
refresh_databaseReload data from disk. Cache auto-refreshes every 5 minutes.

Configuration

Cache TTL

The server caches data in memory for 5 minutes. Configure via environment variable:

# Set cache TTL to 10 minutes
COPILOT_CACHE_TTL_MINUTES=10 copilot-money-mcp

# Disable caching (always reload from disk)
COPILOT_CACHE_TTL_MINUTES=0 copilot-money-mcp

You can also refresh manually using the refresh_database tool.

Decode Timeout

For large databases (500MB+), increase the decode timeout (default: 90 seconds):

# Via environment variable
DECODE_TIMEOUT_MS=600000 copilot-money-mcp

# Via CLI flag
copilot-money-mcp --timeout 600000

For databases over 1GB, also increase Node.js memory:

{
  "mcpServers": {
    "copilot-money": {
      "command": "node",
      "args": [
        "--max-old-space-size=4096",
        "/path/to/copilot-money-mcp/dist/cli.js",
        "--timeout", "600000"
      ]
    }
  }
}

Supported Date Periods

The period parameter supports these shortcuts:

this_month last_month last_7_days last_30_days last_90_days ytd this_year last_year

Known Limitations

Local Cache Dependency

This server reads from Copilot Money's local Firestore cache, not the cloud. Firestore's offline persistence caches every document the app has ever fetched, so the local database generally contains all transactions, accounts, budgets, goals, and other data you've viewed in the app. The default Firestore cache size is 100 MB (enough for tens of thousands of transactions), and older documents are only evicted via LRU garbage collection if that limit is exceeded.

To maximize cached data: Open the Copilot Money app and browse through your data (transaction history, accounts, budgets) to ensure it has been fetched and cached locally.

Troubleshooting

Database Not Found

If you see "Database not available":

  1. Ensure Copilot Money is installed and has synced data
  2. Check the database location: ~/Library/Containers/com.copilot.production/Data/Library/Application Support/firestore/__FIRAPP_DEFAULT/copilot-production-22904/main
  3. Verify .ldb files exist in the directory
  4. Provide a custom path: copilot-money-mcp --db-path /path/to/database

Decode Worker Timed Out

If you see "Decode worker timed out":

  1. Increase the timeout: copilot-money-mcp --timeout 300000 (5 minutes)
  2. For 1GB+ databases, also increase Node.js memory: node --max-old-space-size=4096 dist/cli.js --timeout 300000

No Transactions Found

  • Open the Copilot Money app and wait for sync
  • The database structure may have changed — open an issue

Contributing

See CONTRIBUTING.md for development setup, architecture, and how to add new tools.

License

MIT License - See LICENSE for details.

Acknowledgments

  • Built with MCP SDK by Anthropic
  • Data validation with Zod
  • Developed with Bun

Server Config

{
  "mcpServers": {
    "copilot-money": {
      "command": "copilot-money-mcp",
      "args": [
        "--write"
      ]
    }
  }
}
Recommend Clients
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
WindsurfThe new purpose-built IDE to harness magic
Refact.aiOpen-source AI Agent for VS Code and JetBrains that autonomously solves coding tasks end-to-end.
HyperChatHyperChat is a Chat client that strives for openness, utilizing APIs from various LLMs to achieve the best Chat experience, as well as implementing productivity tools through the MCP protocol.
LutraLutra is the first MCP compatible client built for everyone
Roo Code (prev. Roo Cline)Roo Code (prev. Roo Cline) gives you a whole dev team of AI agents in your code editor.
Cline – #1 on OpenRouterAutonomous coding agent right in your IDE, capable of creating/editing files, executing commands, using the browser, and more with your permission every step of the way.
ChatWiseThe second fastest AI chatbot™
Continue⏩ Create, share, and use custom AI code assistants with our open-source IDE extensions and hub of models, rules, prompts, docs, and other building blocks
SOCIAL-API.AI
chatmcpChatMCP is an AI chat client implementing the Model Context Protocol (MCP).
MCP ConnectEnables cloud-based AI services to access local Stdio based MCP servers via HTTP requests
CursorThe AI Code Editor
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
ZedCode at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
DeepChatYour AI Partner on Desktop
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
A Sleek AI Assistant & MCP Client5ire is a cross-platform desktop AI assistant, MCP client. It compatible with major service providers, supports local knowledge base and tools via model context protocol servers .
MCP PlaygroundCall MCP Server Tools Online
Cherry Studio🍒 Cherry Studio is a desktop client that supports for multiple LLM providers.
y-cli 🚀A Tiny Terminal Chat App for AI Models with MCP Client Support