loading…
Search for a command to run...
loading…
Enables AI agents to interact with your Lunch Money personal finance data, providing tools for managing transactions, categories, budgets, assets, and accounts.
Enables AI agents to interact with your Lunch Money personal finance data, providing tools for managing transactions, categories, budgets, assets, and accounts.
A Model Context Protocol (MCP) server that enables AI agents to interact with your Lunch Money personal finance data.
This MCP server exposes 15 tools for managing your financial data:
get_user — Get your profile and account informationget_categories — List all categories (flattened or nested)create_category — Create new custom categoriesupdate_category — Modify existing categoriesget_transactions — Query transactions with filters (date range, category, status, etc.)create_transaction — Add new transactions (single or batch up to 500)update_transaction — Update transactions or split them into multiple entriesget_assets — List manually managed assetscreate_asset — Add new manual assetsget_plaid_accounts — List Plaid-connected bank accountstrigger_plaid_fetch — Trigger Plaid account syncget_budgets — View budgets and spending for any date rangeupsert_budget — Set or update budget amountsget_recurring_items — View recurring expenses and incomeget_tags — List all transaction tagsFor local use with Cursor, Claude Desktop, or other stdio-based MCP clients:
# Clone the repository
git clone https://github.com/yourusername/lunchmoney-mcp.git
cd lunchmoney-mcp
# Install dependencies
npm install
# Build the TypeScript
npm run build
Deploy as a remote MCP server accessible via HTTP:
# Clone the repository
git clone https://github.com/yourusername/lunchmoney-mcp.git
cd lunchmoney-mcp
# Install dependencies
npm install
# Set your API key as a secret
npx wrangler secret put LUNCH_MONEY_API_KEY
# Enter your Lunch Money API key when prompted
# Deploy to Cloudflare Workers
npm run deploy
You can run the MCP server directly without cloning:
npx -y lunchmoney-mcp
Note: You'll still need to set the LUNCH_MONEY_API_KEY environment variable.
Add to your Cursor MCP configuration (~/.cursor/mcp.json):
{
"mcpServers": {
"lunchmoney": {
"command": "node",
"args": ["/path/to/lunchmoney-mcp/dist/index.js"],
"env": {
"LUNCH_MONEY_API_KEY": "your_api_key_here"
}
}
}
}
Or with npx:
{
"mcpServers": {
"lunchmoney": {
"command": "npx",
"args": ["-y", "lunchmoney-mcp"],
"env": {
"LUNCH_MONEY_API_KEY": "your_api_key_here"
}
}
}
}
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"lunchmoney": {
"command": "node",
"args": ["/path/to/lunchmoney-mcp/dist/index.js"],
"env": {
"LUNCH_MONEY_API_KEY": "your_api_key_here"
}
}
}
}
Any MCP client that supports stdio transport can use this server. Set the LUNCH_MONEY_API_KEY environment variable and run:
node /path/to/lunchmoney-mcp/dist/index.js
The Cloudflare Workers deployment is designed as a public MCP server where each user brings their own API key. The server never stores any API keys.
How it works:
X-LunchMoney-API-Key headerConnecting with mcp-remote proxy:
{
"mcpServers": {
"lunchmoney": {
"command": "npx",
"args": ["mcp-remote", "https://lunchmoney-mcp.your-subdomain.workers.dev/mcp"],
"env": {
"MCP_HEADERS": "X-LunchMoney-API-Key: your_api_key_here"
}
}
}
}
Note: The mcp-remote proxy must support custom headers. Some MCP clients may not support this yet.
⚠️ Treat your
mcp.jsonfile like a credentials file. It now contains your Lunch Money API key. Never commit it to a Git repository (including dotfiles repos). Add it to.gitignoreif it lives inside one. Anyone with read access to this file can read and modify your Lunch Money data.
Security: This is the most secure model because:
This creates a public MCP server that anyone can use with their own API key. The server doesn't store any credentials.
npm install
npm run deploy
https://lunchmoney-mcp.your-account.workers.dev/mcp
Optional: You can set a default API key for testing:
npx wrangler secret put LUNCH_MONEY_API_KEY
Users connect to your public server with their own Lunch Money API key:
{
"mcpServers": {
"lunchmoney": {
"command": "npx",
"args": ["mcp-remote", "https://lunchmoney-mcp.your-account.workers.dev/mcp"],
"env": {
"MCP_HEADERS": "X-LunchMoney-API-Key: their_api_key_here"
}
}
}
}
# Run locally with hot reload
npm run dev:worker
This is similar to how public API gateways work — the infrastructure is shared, but credentials are per-user.
Once configured, you can ask your AI assistant questions like:
# Install dependencies
npm install
# Run in development mode with hot reload
npm run dev
# Build for production
npm run build
# Type check without emitting
npm run typecheck
# Test with MCP Inspector
npm run inspect
# Build the Worker
npm run build
# Run locally with Wrangler
npm run dev:worker
# Deploy to production
npm run deploy
src/
├── index.ts # MCP server entry point (stdio mode)
├── worker.ts # Cloudflare Workers entry point (HTTP mode)
├── client.ts # Lunch Money API client
├── types.ts # TypeScript type definitions
├── tool-utils.ts # Shared tool utilities
└── tools/ # Individual tool implementations
├── user.ts
├── categories.ts
├── transactions.ts
├── assets.ts
├── plaid.ts
├── budgets.ts
├── recurring.ts
└── tags.ts
| Mode | Transport | Use Case | Entry Point |
|---|---|---|---|
| Local | stdio | Cursor, Claude Desktop | src/index.ts |
| Cloudflare Workers | Streamable HTTP | Remote access, web clients | src/worker.ts |
Both modes share the same tool implementations and API client.
.env file is in .gitignore for this reason.The API key you provide determines what actions the MCP server can perform. Lunch Money API keys can:
This MCP server uses the Lunch Money API v1.
The Lunch Money API has rate limits. The MCP server will pass through any rate limit errors from the API. If you encounter rate limiting, wait a few minutes before trying again.
The server handles Lunch Money API errors and returns them as MCP tool errors. Some notes:
The LUNCH_MONEY_API_KEY environment variable is not set. Check your MCP configuration and ensure the key is properly configured.
Your API key may be invalid or revoked. Verify your key at https://my.lunchmoney.app/developers
If you use Plaid-connected accounts, you may need to trigger a sync:
trigger_plaid_fetch tool to queue a background syncContributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'feat: add amazing feature')git push origin feature/amazing-feature)This project is licensed under the ISC License — see the LICENSE file for details.
Disclaimer: This is an unofficial community project. It is not affiliated with or endorsed by Lunch Money.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"lunch-money-mcp-server": {
"command": "npx",
"args": []
}
}
}Payments, customers, subscriptions
110+ tools for AI agents spanning social media, finance, gaming, music, AU-specific services, and utilities. Zero-config local tools plus platform connectors. n
Unified API hub for AI agents with 56+ tools across travel (Amadeus, Sabre), prediction markets (Polymarket), crypto, and weather. Pay-per-call via x402 micropa
Deploy live HTTPS websites in seconds. Instant subdomains ($1 USDC) or custom .xyz domains ($10 USDC) on Base chain. Templates for crypto tokens and AI agent pr