akutishevsky avatar

Lunch Money

akutishevsky/lunchmoney-mcp

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 tools

Public 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*secret

Your LunchMoney API token. Obtain it from https://my.lunchmoney.app/settings/developer

LUNCHMONEY_DEBUG

Set to 'true' to enable debug logging of API requests and responses to stderr

Readme

LunchMoney MCP Server

npm version npm downloads GitHub downloads license TypeScript MCP Badge

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.


View the full README on GitHub

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

More from akutishevsky