Lunch Money — Claude Code MCP server: what it does, how to install
Connects personal finances from LunchMoney to your coding assistant. It lets AI read budgets and manage transactions via API v2.
claude mcp add --env LUNCHMONEY_API_TOKEN=<LUNCHMONEY_API_TOKEN> --env LUNCHMONEY_DEBUG=<LUNCHMONEY_DEBUG> --transport stdio lunch-money -- npx -y @akutishevsky/lunchmoney-mcpWhat Lunch Money does
This server connects your MCP client with LunchMoney v2 alpha endpoints over stdio. It provides operations for handling transactions, categories, and recurring payments. Bulk modifications and attachments work right away.
Payloads use TOON encoding rather than standard JSON to keep token usage down. The codebase uses TypeScript with Zod validation. The tools can manage manual balance records, trigger Plaid bank syncs, and retrieve monthly balance histories.
You must provide a valid LUNCHMONEY_API_TOKEN before starting. Without it, requests will fail. The v3.0.0 update removed get_all_crypto, so fetching crypto balances now requires get_all_manual_crypto and get_all_synced_crypto.
What it helps with
- inspect monthly budget limits and category totals
- split or bulk update expense transactions
- trigger balance updates on connected Plaid accounts
- track monthly balance history for manual accounts
Example prompts for the agent
- Show my current month budget summary from LunchMoney.
- Split transaction 1234 into groceries and household goods.
- Trigger a balance sync for my connected Plaid accounts.
How to install Lunch Money
Platform CLI
claude mcp add --env LUNCHMONEY_API_TOKEN=<LUNCHMONEY_API_TOKEN> --env LUNCHMONEY_DEBUG=<LUNCHMONEY_DEBUG> --transport stdio lunch-money -- npx -y @akutishevsky/lunchmoney-mcpReplace <…> with your own values
Platform CLI
codex mcp add lunch-money --env LUNCHMONEY_API_TOKEN=<LUNCHMONEY_API_TOKEN> --env LUNCHMONEY_DEBUG=<LUNCHMONEY_DEBUG> -- npx -y @akutishevsky/lunchmoney-mcpReplace <…> with your own values
Config file
{
"mcpServers": {
"lunch-money": {
"command": "npx",
"args": [
"-y",
"@akutishevsky/lunchmoney-mcp"
],
"env": {
"LUNCHMONEY_API_TOKEN": "<LUNCHMONEY_API_TOKEN>",
"LUNCHMONEY_DEBUG": "<LUNCHMONEY_DEBUG>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"lunch-money": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@akutishevsky/lunchmoney-mcp"
],
"env": {
"LUNCHMONEY_API_TOKEN": "<LUNCHMONEY_API_TOKEN>",
"LUNCHMONEY_DEBUG": "<LUNCHMONEY_DEBUG>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e LUNCHMONEY_API_TOKEN=<LUNCHMONEY_API_TOKEN> -e LUNCHMONEY_DEBUG=<LUNCHMONEY_DEBUG> lunch-money npx -y @akutishevsky/lunchmoney-mcpReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Lunch Money
How to install Lunch Money in Claude Code?
Run claude mcp add lunchmoney-mcp -e LUNCHMONEY_API_TOKEN=<LUNCHMONEY_API_TOKEN> -- npx -y @akutishevsky/lunchmoney-mcp. Replace <LUNCHMONEY_API_TOKEN> with your developer token from LunchMoney.
Why does this server return TOON instead of JSON?
The server uses TOON serialization to lower context token usage. This leaves more room in the model prompt when dealing with large lists of financial records.
What changed for crypto tracking in version v3.0.0?
The previous get_all_crypto tool was removed to match LunchMoney v2 endpoints. Users should now call get_all_manual_crypto and get_all_synced_crypto separately.