Skip to content
Agentmart
Submit a tool

Lunch Money

MCP server for managing LunchMoney personal finances: transactions, budgets, categories, and more.

Connector by akutishevsky · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 109
Write a review

Chalk Labs

Need help deploying Lunch Money?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/akutishevsky-lunchmoney-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for managing LunchMoney personal finances: transactions, budgets, categories, and more.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
25 read · 20 write · 13 delete · 1 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 59

Read from the source code; the running server may list different tools.

Read 25 · Look things up without changing anything.

  • get_account_balance_history
  • get_all_categories
  • get_all_manual_accounts
  • get_all_manual_crypto
  • get_all_plaid_accounts
  • get_all_synced_crypto
  • get_all_tags
  • get_balance_history
  • get_budget_settings
  • get_budget_summary
  • get_crypto_synced_balance_history
  • get_recurring_items
Show 13 more tools
  • get_single_category
  • get_single_manual_account
  • get_single_manual_crypto
  • get_single_plaid_account
  • get_single_recurring_item
  • get_single_synced_crypto
  • get_single_tag
  • get_single_transaction
  • get_supported_cryptocurrencies
  • get_synced_crypto_balance
  • get_transaction_attachment_url
  • get_transactions
  • get_user

Write 20 · Create, change, send or run things.

  • add_supported_cryptocurrency
  • attach_file_to_transaction
  • create_category
  • create_manual_account
  • create_manual_crypto
  • create_tag
  • create_transaction_group
  • create_transactions
  • refresh_synced_crypto
  • trigger_plaid_fetch
  • update_category
  • update_deleted_account_details
Show 8 more tools
  • update_manual_account
  • update_manual_crypto
  • update_tag
  • update_transaction
  • update_transactions_bulk
  • upsert_account_balance_history
  • upsert_budget
  • upsert_crypto_synced_balance_history

Delete 13 · Delete, drop, revoke or wipe things.

  • delete_account_balance_history
  • delete_balance_history_entry
  • delete_category
  • delete_crypto_synced_balance_history
  • delete_manual_account
  • delete_manual_crypto
  • delete_tag
  • delete_transaction
  • delete_transaction_attachment
  • delete_transaction_group
  • delete_transactions_bulk
  • remove_budget
Show 1 more tools
  • unsplit_transaction

Not yet classified 1 · We could not tell from the name and description.

  • split_transaction

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • LUNCHMONEY_API_TOKEN

Other settings (environment variables or headers).

  • LUNCHMONEY_DEBUG

Network hosts it talks to 4

  • api.lunchmoney.dev · found in code
  • coingecko.com · found in code
  • github.com · found in code
  • my.lunchmoney.app · found in code

Tools (59)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_supported_cryptocurrency

    Add a new cryptocurrency to the supported manual-crypto list by submitting its CoinGecko coin-page URL. Only needed when get_supported_cryptocurrencies does not already list the symbol you want to track.

  • attach_file_to_transaction

    Attach a local image or PDF receipt (max 10MB) to a transaction. Allowed types: image/jpeg, image/png, image/heic, image/heif, application/pdf. The file is read from the local filesystem of the host running this MCP server, and its type is determined from its actual contents — files that are not a real image or PDF are rejected. If LUNCHMONEY_ATTACHMENTS_DIR is set on the host, only files inside that directory can be attached.

  • create_category

    Create a new category or a category group. Set is_group=true to create a category group; supply children as an array of existing category IDs and/or strings (names of new sub-categories to create).

  • create_manual_account

    Create a new manually-managed account. (Formerly `create_asset`.)

  • create_manual_crypto

    Create a manually-managed crypto asset. The symbol must match one returned by get_supported_cryptocurrencies.

  • create_tag

    Create a new tag.

  • create_transaction_group

    Create a transaction group from 2-500 existing transactions. Source transactions are hidden from get_transactions and accessible via the new group's `children` (set include_children=true on get_single_transaction). Cannot include split or recurring transactions.

  • create_transactions

    Insert one or more transactions (1-500 per call). Returns inserted transactions plus any skipped duplicates.

  • delete_account_balance_historycan change or delete data

    Delete ALL historical balance entries for a single account. This is irreversible and affects the Net Worth views. To remove a single month, use delete_balance_history_entry instead.

  • delete_balance_history_entrycan change or delete data

    Delete a single historical balance entry by its id. The id must come from an entry with type=historical in a balance history response; ephemeral `current` entries have no id and cannot be deleted.

  • delete_categorycan change or delete data

    Delete a single category or category group. By default fails (HTTP 422) if dependencies exist, returning a structured `dependents` payload. Set force=true to delete and disassociate from all related budgets, transactions, recurring items, etc. Force delete is irreversible.

  • delete_crypto_synced_balance_historycan change or delete data

    Delete ALL historical balance entries for a synced crypto holding. This is irreversible and affects the Net Worth views.

  • delete_manual_accountcan change or delete data

    Delete a manually-managed account. Optionally also delete its transactions/rules/recurring items, and/or its balance history. Both deletion options are irreversible.

  • delete_manual_cryptocan change or delete data

    Delete a manually-managed crypto asset. If the asset has balance history, keep_history must be set explicitly or the API rejects the request. Irreversible.

  • delete_tagcan change or delete data

    Delete a tag. By default fails (HTTP 422) with a structured `dependents` payload if the tag is in use by transactions or rules. Set force=true to delete and disassociate from those records.

Show 44 more tools
  • delete_transactioncan change or delete data

    Delete a single transaction. Fails for split/group transactions and their parents — unsplit/ungroup first. Irreversible.

  • delete_transaction_attachmentcan change or delete data

    Delete a transaction file attachment. Irreversible.

  • delete_transaction_groupcan change or delete data

    Delete (ungroup) a transaction group. The original child transactions remain and revert to normal ungrouped transactions.

  • delete_transactions_bulkcan change or delete data

    Bulk-delete transactions by ID (1-500). Fails if any ID is a split or group parent, or part of a split/group; unsplit or ungroup those first. Irreversible.

  • get_account_balance_historyread-only

    Get monthly balance history for a single account. Call get_all_manual_accounts, get_all_plaid_accounts, or get_all_manual_crypto first to discover ids. For synced crypto holdings use get_crypto_synced_balance_history instead.

  • get_all_categoriesread-only

    Get a list of all categories associated with the user's account. Returns categories in alphabetical order.

  • get_all_manual_accountsread-only

    Get a list of all manually-managed accounts associated with the user. (Formerly known as `assets` in the v1 API.)

  • get_all_manual_cryptoread-only

    Get all manually-managed crypto balances associated with the user.

  • get_all_plaid_accountsread-only

    Get a list of all Plaid (synced) accounts associated with the user.

  • get_all_synced_cryptoread-only

    Get all synced crypto accounts (Coinbase, Kraken, Ethereum wallets) and their nested per-symbol balances. Synced accounts are connected in the Lunch Money web app and cannot be created or edited through the API.

  • get_all_tagsread-only

    Get a list of all tags associated with the user's account.

  • get_balance_historyread-only

    Get monthly account balance history across all accounts — the data behind the Net Worth views in the LunchMoney app. History is monthly. With no month range, returns all available history plus an ephemeral `current` entry for the current month, which is calculated on demand and may change between requests. Only months with data are included.

  • get_budget_settingsread-only

    Get budget period and display settings for the account (granularity, period length, anchor date, hide-no-activity preference, income option, rollover-left-to-budget setting).

  • get_budget_summaryread-only

    Get a summary of the user's budget for a specified date range. Returns per-category totals (other_activity, recurring_activity, budgeted, available, recurring_remaining, recurring_expected). Set include_occurrences=true for a per-period breakdown matching the account's budget periodicity. (Backed by the v2 GET /summary endpoint.)

  • get_crypto_synced_balance_historyread-only

    Get monthly balance history for a synced crypto holding, identified by its account id and ticker symbol. Synced crypto is scoped per symbol, so it is not available through get_account_balance_history.

  • get_recurring_itemsread-only

    Retrieve a list of recurring items expected for a specified date range. The `matches` object on each item is populated based on the requested range.

  • get_single_categoryread-only

    Get details on a single category or category group, including the list of children categories for category groups.

  • get_single_manual_accountread-only

    Get details of a single manual account by ID.

  • get_single_manual_cryptoread-only

    Get a single manually-managed crypto balance by ID. Call get_all_manual_crypto first to discover ids.

  • get_single_plaid_accountread-only

    Get details of a single Plaid (synced) account by ID.

  • get_single_recurring_itemread-only

    Retrieve a single recurring item by ID. Optional date range populates the `matches` object.

  • get_single_synced_cryptoread-only

    Get a single synced crypto account and all its nested balances by ID.

  • get_single_tagread-only

    Get details of a single tag by ID.

  • get_single_transactionread-only

    Get details of a specific transaction. The response always includes plaid_metadata, custom_metadata, files, and (for split or group parents) the children array — none of which are returned by default in get_transactions.

  • get_supported_cryptocurrenciesread-only

    Get the list of cryptocurrencies supported for manual tracking. The `symbol` of an entry here is what must be passed to create_manual_crypto.

  • get_synced_crypto_balanceread-only

    Get a single balance held inside a synced crypto account, looked up by its cryptocurrency symbol.

  • get_transaction_attachment_urlread-only

    Get a short-lived signed download URL for a transaction file attachment. The response includes the URL and an `expires_at` timestamp.

  • get_transactionsread-only

    Retrieve transactions, optionally filtered by date range, account, category, tag, recurring item, status, and more. Returns at most `limit` transactions (default 1000, max 2000); `has_more` is set on the response when more match the filters. Pending and split-parent / group-child transactions are excluded by default.

  • get_userread-only

    Get details on the current user

  • refresh_synced_crypto

    Trigger a balance refresh for a synced crypto account and return the refreshed account. Reaches out to the external crypto provider.

  • remove_budgetcan change or delete data

    Remove the budget for a specific category and period. The request is idempotent — succeeds even if no budget exists for the period.

  • split_transaction

    Split an existing transaction into 2-500 child transactions. The sum of child amounts must equal the parent's amount. After splitting, the parent is hidden from get_transactions and accessible via get_single_transaction (returns the parent with `children`).

  • trigger_plaid_fetch

    Trigger a fetch of latest data from Plaid. Optionally scope the fetch to a date range and/or a specific Plaid account ID. Note: Plaid enforces a minimum 60-second delay between fetch requests; fetching may take up to 5 minutes.

  • unsplit_transactioncan change or delete data

    Unsplit a previously split transaction by deleting its children and restoring the parent. Pass the parent (split_parent_id) — not a child — as the path id.

  • update_category

    Update properties for an existing category or category group. For category groups, supplying children replaces the group's full child list. Cannot be used to convert between category and category group.

  • update_deleted_account_details

    Update the display details shown for a deleted account in the Net Worth views. Applies to all historical entries for that deleted source. At least one field must be provided; pass null to clear a field.

  • update_manual_account

    Update an existing manually-managed account. (Formerly `update_asset`.)

  • update_manual_crypto

    Update a manually-managed crypto balance. At least one of name, display_name, institution_name, or balance must be supplied. The symbol of an existing balance cannot be changed.

  • update_tag

    Update properties for an existing tag.

  • update_transaction

    Update an existing transaction. Provide any subset of writable fields directly (the v2 API no longer wraps the body in a `transaction` envelope). Cannot modify split or grouped transactions; use the corresponding split/group tools instead.

  • update_transactions_bulk

    Update multiple transactions in a single call (1-500). Each entry must include `id` plus at least one writable field. Cannot be used to modify split or grouped transactions.

  • upsert_account_balance_history

    Create or update monthly balance history entries for a single account. Every month must be a past calendar month — the current month is calculated on demand and cannot be written. The request is all-or-nothing: if any entry fails validation, none are applied. The response contains only the entries submitted, not the account's full history.

  • upsert_budget

    Create or update a budget for a category and budget period. The start_date must be a valid budget period start for the account (see get_budget_settings).

  • upsert_crypto_synced_balance_history

    Create or update monthly balance history entries for a synced crypto holding. Every month must be a past calendar month. If an entry sets `symbol`, it must match the symbol argument. The request is all-or-nothing.

Signals

Stars
109
Forks
19
Open issues
0
Weekly downloads
308
Last commit
Aug 3, 2026 (2 months ago)
Last release
Aug 3, 2026 (2 months ago)
Last package publish
Aug 3, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.akutishevsky/lunchmoney-mcp
Version
3.0.0
Auth
API key
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from akutishevsky

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get Lunch Money running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Lunch Money?

CallGet help
Cite this page

Lunch Money MCP server. Agent Mart. https://agentmart.dev/connectors/akutishevsky-lunchmoney-mcp (last updated 2026-10-25)