About Lunchmoney Mcp V2
Lunchmoney Mcp V2 connects MCP clients to the Lunch Money API v2 for account, budget, and transaction operations. Its tools cover read and CRUD workflows, with cached reference data and responses that resolve category, tag, and account names.
Key features
- 01Read account, budget, and transaction data
- 02Create, update, and delete records
- 03Batch-update up to 500 transactions
- 04Split and group transactions
- 05Cache categories, tags, and accounts
- 06Return names instead of raw IDs
Use cases
- 01Review spending and recurring expenses
- 02Categorize or tag transactions
- 03Update many transactions in a batch
- 04Manage manual accounts and categories
MCP support
It exposes 14 tools to MCP clients for reading and managing Lunch Money data through the API v2. Configure it with a Lunch Money API token.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMElunchmoney-mcp-v2
MCP server for the Lunch Money API v2. First MCP server built on the v2 API.
Features
- 14 tools covering read, CRUD, and advanced operations
- Hydrated responses: category, tag, and account names instead of raw IDs
- Smart caching: categories, tags, and accounts cached at startup, auto-refreshed after mutations
- Type-safe: generated from the official OpenAPI spec via
openapi-typescript
Setup
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"lunchmoney": {
"command": "npx",
"args": ["lunchmoney-mcp-v2"],
"env": {
"LUNCHMONEY_TOKEN": "your-api-token-here"
}
}
}
}
Claude Code
Add to .mcp.json in your project or ~/.claude/mcp.json globally:
{
"mcpServers": {
"lunchmoney": {
"command": "npx",
"args": ["lunchmoney-mcp-v2"],
"env": {
"LUNCHMONEY_TOKEN": "your-api-token-here"
}
}
}
}
Get your API token from Lunch Money Developer settings.
Tools
Read
| Tool | Description |
|---|---|
get_user | Account info (name, email, currency) |
list_transactions | List/search transactions with filters, or look up by ID |
list_categories | All categories (nested or flat view) |
list_tags | All tags |
get_accounts | Manual + synced accounts with balances |
get_summary | Budget summary with income/spending/per-category breakdown |
get_recurring | Recurring items (subscriptions, bills, income) |
CRUD
| Tool | Actions | Description |
|---|---|---|
manage_transaction | create, update, delete | Single transaction operations |
manage_category | create, update, delete | Category management (force delete with dependency info) |
manage_tag | create, update, delete | Tag management (force delete with dependency info) |
manage_account | create, update, delete | Manual account management (Plaid accounts are read-only) |
Advanced
| Tool | Actions | Description |
|---|---|---|
bulk_update_transactions | — | Batch update up to 500 transactions at once |
split_transaction | split, unsplit | Split a transaction into parts or restore the original |
group_transactions | group, ungroup | Combine transactions into a group or restore originals |
Example prompts
Once connected, just ask your LLM naturally:
Reviewing & organizing
- "Show me all unreviewed transactions from this month"
- "Categorize all my Amazon transactions as Shopping"
- "What did I spend on groceries last week?"
- "Mark these 5 transactions as reviewed"
Budget overview
- "Give me a spending summary for January"
- "What are my recurring expenses?"
- "How much do I have in each account?"
Managing transactions
- "Add a $45 transaction for dinner at Nobu yesterday"
- "Split that $120 Costco transaction into $80 groceries and $40 household"
- "Group these three Uber transactions into one"
- "Delete the duplicate transaction I just created"
Organizing
- "Create a new category called Side Projects"
- "Tag these transactions with travel"
- "Show me all my categories with their IDs"
- "Rename the Dining Out category to Restaurants"
Development
npm install
npm run build
npm start
Regenerate types from the OpenAPI spec:
npm run generate:types
Architecture
src/
index.ts Entry point — registers tools, initializes cache
client.ts openapi-fetch client + error handling
cache.ts In-memory cache for categories, tags, accounts
format.ts Text formatters for all response types
types.ts Generated from @lunch-money/v2-api-spec
tools/
user.ts get_user
transactions.ts list_transactions, manage_transaction, bulk_update, split, group
categories.ts list_categories, manage_category
tags.ts list_tags, manage_tag
accounts.ts get_accounts, manage_account
summary.ts get_summary
recurring.ts get_recurring
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.