
Lunch Money
Connects Claude directly to your LunchMoney personal finance data through the LunchMoney v2 API. You get full CRUD operations on transactions, categories, tags, budgets, and manual accounts, plus read access to Plaid-connected banks and cryptocurrency holdings. Useful when you want to query spending patterns, update transactions in bulk, manage budgets conversationally, or build financial reports without opening the LunchMoney web app. The server uses TOON encoding instead of JSON to cut token usage during AI conversations. Supports transaction splits, recurring items, file attachments, and advanced filtering. Available as an MCP bundle for one-click installation in Claude Desktop, or deploy it via CLI tools and manual config for other clients.
- GitHub stars
- 113
- tools
- 59
- auth
- Secret needed
- transport
- STDIO
- env vars
- 2
- last updated
- Nov 8, 2026
Tools
59 toolsPublic tool metadata for what this MCP can expose to an agent.
get_userRetrieve current user details
Retrieve current user details
No parameter schema in public metadata yet.
get_all_categoriesList all categories (supports `format` and `is_group` filters)
List all categories (supports `format` and `is_group` filters)
No parameter schema in public metadata yet.
get_single_categoryGet details for a specific category or category group
Get details for a specific category or category group
No parameter schema in public metadata yet.
create_categoryCreate a category or category group (set `is_group=true` plus `children`)
Create a category or category group (set `is_group=true` plus `children`)
No parameter schema in public metadata yet.
update_categoryUpdate properties; replaces the children list on category groups
Update properties; replaces the children list on category groups
No parameter schema in public metadata yet.
delete_categoryDelete a category; pass `force=true` to override dependency check
Delete a category; pass `force=true` to override dependency check
No parameter schema in public metadata yet.
get_all_tagsList all tags
List all tags
No parameter schema in public metadata yet.
get_single_tagGet a tag by ID
Get a tag by ID
No parameter schema in public metadata yet.
create_tagCreate a new tag
Create a new tag
No parameter schema in public metadata yet.
update_tagUpdate tag properties
Update tag properties
No parameter schema in public metadata yet.
delete_tagDelete a tag (with `force` to override dependents)
Delete a tag (with `force` to override dependents)
No parameter schema in public metadata yet.
get_transactionsList transactions with extensive filtering options (date range, account, category, tag, status, pending, metadata, files, etc)
List transactions with extensive filtering options (date range, account, category, tag, status, pending, metadata, files, etc)
No parameter schema in public metadata yet.
get_single_transactionGet full transaction details (always includes plaid_metadata, custom_metadata, files, and children for split/group parents)
Get full transaction details (always includes plaid_metadata, custom_metadata, files, and children for split/group parents)
No parameter schema in public metadata yet.
create_transactionsInsert 1–500 transactions in one call
Insert 1–500 transactions in one call
No parameter schema in public metadata yet.
update_transactionPartial update of one transaction
Partial update of one transaction
No parameter schema in public metadata yet.
delete_transactionDelete one transaction (cannot be split/group)
Delete one transaction (cannot be split/group)
No parameter schema in public metadata yet.
update_transactions_bulkBulk update 1–500 transactions
Bulk update 1–500 transactions
No parameter schema in public metadata yet.
delete_transactions_bulkBulk delete 1–500 transactions by ID
Bulk delete 1–500 transactions by ID
No parameter schema in public metadata yet.
create_transaction_groupCreate a transaction group from existing transactions
Create a transaction group from existing transactions
No parameter schema in public metadata yet.
delete_transaction_groupUngroup a transaction group
Ungroup a transaction group
No parameter schema in public metadata yet.
split_transactionSplit a transaction into 2–500 children
Split a transaction into 2–500 children
No parameter schema in public metadata yet.
unsplit_transactionUndo a previous split
Undo a previous split
No parameter schema in public metadata yet.
attach_file_to_transactionUpload a local file (jpeg/png/heic/heif/pdf, ≤10MB), type verified from its contents
Upload a local file (jpeg/png/heic/heif/pdf, ≤10MB), type verified from its contents
No parameter schema in public metadata yet.
get_transaction_attachment_urlGet a signed download URL for a file attachment
Get a signed download URL for a file attachment
No parameter schema in public metadata yet.
delete_transaction_attachmentDelete a file attachment
Delete a file attachment
No parameter schema in public metadata yet.
get_recurring_itemsList recurring items for a date range (`include_suggested` for system suggestions)
List recurring items for a date range (`include_suggested` for system suggestions)
No parameter schema in public metadata yet.
get_single_recurring_itemGet a recurring item by ID
Get a recurring item by ID
No parameter schema in public metadata yet.
get_budget_summaryPer-category budget summary (backed by `/summary`); supports occurrences, totals, rollover-pool toggles
Per-category budget summary (backed by `/summary`); supports occurrences, totals, rollover-pool toggles
No parameter schema in public metadata yet.
get_budget_settingsAccount-wide budget period and display settings
Account-wide budget period and display settings
No parameter schema in public metadata yet.
upsert_budgetCreate or update a budget for a category and period
Create or update a budget for a category and period
No parameter schema in public metadata yet.
remove_budgetRemove a budget for a category and period
Remove a budget for a category and period
No parameter schema in public metadata yet.
get_all_manual_accountsList all manually-managed accounts (formerly "assets")
List all manually-managed accounts (formerly "assets")
No parameter schema in public metadata yet.
get_single_manual_accountGet a manual account by ID
Get a manual account by ID
No parameter schema in public metadata yet.
create_manual_accountCreate a new manually-managed account
Create a new manually-managed account
No parameter schema in public metadata yet.
update_manual_accountUpdate properties of a manual account
Update properties of a manual account
No parameter schema in public metadata yet.
delete_manual_accountDelete a manual account; optionally also delete its transactions / balance history
Delete a manual account; optionally also delete its transactions / balance history
No parameter schema in public metadata yet.
get_all_plaid_accountsList all connected Plaid accounts
List all connected Plaid accounts
No parameter schema in public metadata yet.
get_single_plaid_accountGet a Plaid account by ID
Get a Plaid account by ID
No parameter schema in public metadata yet.
trigger_plaid_fetchTrigger fetch of latest data from Plaid (optionally scoped to a date range or account)
Trigger fetch of latest data from Plaid (optionally scoped to a date range or account)
No parameter schema in public metadata yet.
get_supported_cryptocurrenciesList the cryptocurrencies supported for manual tracking
List the cryptocurrencies supported for manual tracking
No parameter schema in public metadata yet.
add_supported_cryptocurrencyAdd a cryptocurrency to the supported list from its CoinGecko coin-page URL
Add a cryptocurrency to the supported list from its CoinGecko coin-page URL
No parameter schema in public metadata yet.
get_all_manual_cryptoList all manually-managed crypto balances
List all manually-managed crypto balances
No parameter schema in public metadata yet.
get_single_manual_cryptoGet a single manually-managed crypto balance by ID
Get a single manually-managed crypto balance by ID
No parameter schema in public metadata yet.
create_manual_cryptoCreate a manually-managed crypto asset
Create a manually-managed crypto asset
No parameter schema in public metadata yet.
update_manual_cryptoUpdate a manual crypto balance's name, display name, institution name, or balance
Update a manual crypto balance's name, display name, institution name, or balance
No parameter schema in public metadata yet.
delete_manual_cryptoDelete a manual crypto asset (irreversible)
Delete a manual crypto asset (irreversible)
No parameter schema in public metadata yet.
get_all_synced_cryptoList synced crypto accounts and their nested per-symbol balances
List synced crypto accounts and their nested per-symbol balances
No parameter schema in public metadata yet.
get_single_synced_cryptoGet a single synced crypto account by ID
Get a single synced crypto account by ID
No parameter schema in public metadata yet.
get_synced_crypto_balanceGet one balance inside a synced crypto account by symbol
Get one balance inside a synced crypto account by symbol
No parameter schema in public metadata yet.
refresh_synced_cryptoTrigger a balance refresh for a synced crypto account
Trigger a balance refresh for a synced crypto account
No parameter schema in public metadata yet.
get_balance_historyGet monthly balance history across all accounts (powers the Net Worth views); optional `start_month`/`end_month` (YYYY-MM) range filter
Get monthly balance history across all accounts (powers the Net Worth views); optional `start_month`/`end_month` (YYYY-MM) range filter
No parameter schema in public metadata yet.
get_account_balance_historyGet monthly balance history for one account (`manual`, `plaid`, `crypto_manual`, or `deleted`)
Get monthly balance history for one account (`manual`, `plaid`, `crypto_manual`, or `deleted`)
No parameter schema in public metadata yet.
upsert_account_balance_historyCreate or update monthly balance entries for one account (past months only; all-or-nothing)
Create or update monthly balance entries for one account (past months only; all-or-nothing)
No parameter schema in public metadata yet.
delete_account_balance_historyDelete all historical balance entries for one account
Delete all historical balance entries for one account
No parameter schema in public metadata yet.
get_crypto_synced_balance_historyGet monthly balance history for a synced crypto holding by account id + ticker symbol
Get monthly balance history for a synced crypto holding by account id + ticker symbol
No parameter schema in public metadata yet.
upsert_crypto_synced_balance_historyCreate or update monthly balance entries for a synced crypto holding
Create or update monthly balance entries for a synced crypto holding
No parameter schema in public metadata yet.
delete_crypto_synced_balance_historyDelete all historical balance entries for a synced crypto holding
Delete all historical balance entries for a synced crypto holding
No parameter schema in public metadata yet.
delete_balance_history_entryDelete a single historical balance entry by id
Delete a single historical balance entry by id
No parameter schema in public metadata yet.
update_deleted_account_detailsUpdate the display details (name, institution, type, subtype, mask) shown for a deleted account's balance history
Update the display details (name, institution, type, subtype, mask) shown for a deleted account's balance history
No parameter schema in public metadata yet.
Sponsors
Configuration
LUNCHMONEY_API_TOKEN*secretYour LunchMoney API token. Obtain it from https://my.lunchmoney.app/settings/developer
LUNCHMONEY_DEBUGSet to 'true' to enable debug logging of API requests and responses to stderr
Readme
LunchMoney MCP Server
A Model Context Protocol (MCP) server implementation for LunchMoney, providing programmatic access to personal finance management through LunchMoney's API. Also available as an MCP Bundle (.mcpb) for easy installation in Claude Desktop.
Details
- Repository
- github.com/akutishevsky/lunchmoney-mcp
- Website
- github.com/akutishevsky/lunchmoney-mcp#readme
- Package
@akutishevsky/lunchmoney-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active