Integration

Lunch Money integration

Lunch Money is a personal finance and budgeting app; its v2 API reads and changes a budget: transactions (list, insert, update, split, group, attach receipts, delete), categories and tags, budgets and the budget summary, recurring items, manual accounts, Plaid-synced bank accounts, manual and synced crypto balances, monthly balance history, and user and account settings. Everything it returns is personal financial data (balances, transactions, payees, account names and masks). Raw Plaid metadata, Plaid connection ids and custom metadata on transactions and accounts are not returned, and bank credentials never pass through it. Authentication is a personal access token created on the Lunch Money developers page, sent as a Bearer token; requests are limited to 100 per minute per IP address.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Lunch Money.Built from the 65 Lunch Money tools below, on the connection you add once.

What you can do with Lunch Money

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Transaction, 9 operations

  • create_transactionsCreate transactionsPOSTAgents: ask firstInserts 1 to 500 transactions (each needs date and amount; positive amount = money out), optionally applying the manual account's rules. Returns the inserted transactions and skipped duplicates (personal financial data).
  • delete_transactionDelete transactionDELETEAgents: ask firstPermanently deletes one transaction (irreversible). Fails if it is split, a split parent, a group or part of a group: unsplit or ungroup it first.
  • delete_transactionsDelete transactionsDELETEAgents: ask firstPermanently deletes several transactions by id (irreversible). Fails, deleting nothing, if any id does not exist or is split or grouped (unsplit or ungroup first).
  • get_transactionGet transactionGETAgents: ask firstReturns one transaction by id with its children (for a split parent or a group) and attachments: date, amount, currency, payee, category, account, tags, notes, status. Returns personal financial data.
  • list_transactionsList transactionsGETAgents: ask firstLists transactions (the most recent when no start_date and end_date are given), filtered by account, category, tag, recurring item, status or pending. Returns personal financial data. Page with limit (up to 2000) and offset while has_more is true.
  • split_transactionSplit transactionPOSTAgents: ask firstSplits a transaction into children whose amounts must add up to its amount; each child may set payee, date, category, tags and notes. The parent is then hidden from list_transactions. Returns it with its children (personal financial data).
  • unsplit_transactionUnsplit transactionDELETEAgents: ask firstUndoes a split: deletes the child transactions and restores the parent as one ordinary transaction. Pass the parent id (the split_parent_id of a child).
  • update_transactionUpdate transactionPUTAgents: ask firstUpdates one transaction: date, amount, currency, payee, category, notes, account, recurring item, tags (tag_ids replaces, additional_tag_ids adds), external_id, status. Leave a field out to keep it. Returns it (personal financial data).
  • update_transactionsUpdate transactionsPUTAgents: ask firstUpdates 1 to 500 existing transactions in one call: each item needs id plus the fields to change (category_id, payee, notes, date, amount, tag_ids, status...). Split or grouped transactions cannot be changed. Returns them (personal financial data).

Balance history, 7 operations

  • delete_account_balance_historyDelete account balance historyDELETEAgents: ask firstPermanently deletes every stored monthly balance history entry of one manual, Plaid, manual crypto or deleted account. For one symbol of a synced crypto account use delete_crypto_synced_balance_history.
  • delete_crypto_synced_balance_historyDelete crypto synced balance historyDELETEAgents: ask firstPermanently deletes every stored monthly balance history entry of one symbol of a synced crypto account.
  • get_account_balance_historyGet account balance historyGETAgents: ask firstReturns the monthly balance history of one manual, Plaid, manual crypto or deleted account (account_type plus account_id). Returns personal financial data. For one symbol of a synced crypto account use get_crypto_synced_balance_history.
  • get_crypto_synced_balance_historyGet crypto synced balance historyGETAgents: ask firstReturns the monthly balance history of one symbol (such as eth) of a synced crypto account, by account_id from list_crypto_synced_accounts. Returns personal financial data. Optional start_month and end_month (YYYY-MM).
  • list_balance_historyList balance historyGETAgents: ask firstReturns the monthly balance history of every account (manual, Plaid-synced, crypto, deleted), grouped by source, with month, balance, currency and to_base. Returns personal financial data. Optional start_month and end_month (YYYY-MM).
  • upsert_account_balance_historyUpsert account balance historyPUTAgents: ask firstWrites past monthly balances for one manual, Plaid, manual crypto or deleted account: each balances entry sets month (YYYY-MM, past) and balance, creating or overwriting it. Returns the entries written (personal financial data).
  • upsert_crypto_synced_balance_historyUpsert crypto synced balance historyPUTAgents: ask firstWrites past monthly balances for one symbol of a synced crypto account: each balances entry sets month (YYYY-MM, a past month) and balance, creating or overwriting it. Returns the entries written (personal financial data).

Crypto balance, 6 operations

  • create_crypto_manual_balanceCreate crypto manual balancePOSTAgents: ask firstCreates a manually tracked crypto balance: name, balance (up to 18 decimals) and symbol (one from list_cryptocurrencies) are required. Returns the created balance (personal financial data).
  • delete_crypto_manual_balanceDelete crypto manual balanceDELETEAgents: ask firstDeletes a manually tracked crypto balance. When it has balance history, keep_history must be set (true keeps the history, false deletes it), or the call fails.
  • get_crypto_manual_balanceGet crypto manual balanceGETAgents: ask firstReturns one manually tracked crypto balance by id: names, balance, symbol, CoinGecko id, value in the primary currency (to_base) and dates. Returns personal financial data.
  • get_crypto_synced_balanceGet crypto synced balanceGETAgents: ask firstReturns one balance of a synced crypto account by symbol: amount, value in the primary currency (to_base) and the dates of the balance and exchange rate. Returns personal financial data.
  • list_crypto_manual_balancesList crypto manual balancesGETAgents: ask firstLists the manually tracked crypto balances: name, display and institution names, balance, symbol, CoinGecko id, value in the primary currency (to_base) and dates. Returns personal financial data.
  • update_crypto_manual_balanceUpdate crypto manual balancePUTAgents: ask firstUpdates a manually tracked crypto balance: name, display_name, institution_name or balance (up to 18 decimals). Leave a field out to keep it; the symbol cannot be changed. Returns the balance (personal financial data).

Category, 5 operations

  • create_categoryCreate categoryPOSTAgents: ask firstCreates a category, or a category group when is_group is true (children then lists existing category ids, category objects or names of new categories to put in it). name must be unique. Returns the created category.
  • delete_categoryDelete categoryDELETEAgents: ask firstDeletes a category or category group. Without force it fails while dependents exist (budgets, categorized transactions, child categories, categorized recurring items) and the error counts them; force=true deletes it anyway.
  • get_categoryGet categoryGETAgents: ask firstReturns one category or category group by id: name, description, income and exclusion flags, group_id, order, archived and, for a group, its children.
  • list_categoriesList categoriesGETAgents: ask firstLists the budget's categories and category groups (name, description, income and exclusion flags, group, order, archived). format=nested (vendor default) nests grouped categories under children; flattened lists them at top level.
  • update_categoryUpdate categoryPUTAgents: ask firstUpdates a category or category group: name, description, income and exclusion flags, archived, group_id, collapsed, or a group's children. Leave a field out to keep it. A category cannot be turned into a group or back.

Manual account, 5 operations

  • create_manual_accountCreate manual accountPOSTAgents: ask firstCreates a manually managed account: name, type and balance are required (institution, display name, subtype, currency, status and dates optional). Returns the account (personal financial data).
  • delete_manual_accountDelete manual accountDELETEAgents: ask firstDeletes a manually managed account. delete_items=true also deletes its transactions, rules and recurring items irreversibly; delete_balance_history=true deletes its balance history. Otherwise its transactions stay, shown with a warning.
  • get_manual_accountGet manual accountGETAgents: ask firstReturns one manually managed account by id: name, institution, type, subtype, balance and its date, currency, value in the primary currency, status and closing date. Returns personal financial data.
  • list_manual_accountsList manual accountsGETAgents: ask firstLists the manually managed accounts (cash, credit, investment, loan, real estate...) with institution, type, subtype, balance, currency, value in the primary currency and status. Returns personal financial data.
  • update_manual_accountUpdate manual accountPUTAgents: ask firstUpdates a manually managed account: name, institution, display name, type, subtype, balance (and balance_as_of), currency, status, closed_on, external_id. Leave a field out to keep it. Returns the account (personal financial data).

Tag, 5 operations

  • create_tagCreate tagPOSTAgents: ask firstCreates a transaction tag with a unique name (1 to 100 characters), optional description, text and background colors, and archived flag. Returns the tag.
  • delete_tagDelete tagDELETEAgents: ask firstDeletes a transaction tag. Without force it fails while transactions or rules use the tag (the error lists the dependents); force=true deletes it anyway.
  • get_tagGet tagGETAgents: ask firstReturns one transaction tag by id: name, description, text and background colors, archived flag and dates.
  • list_tagsList tagsGETAgents: ask firstLists the budget's transaction tags: id, name, description, text and background colors, archived flag and dates.
  • update_tagUpdate tagPUTAgents: ask firstUpdates a transaction tag: name, description, text or background color, archived. Leave a field out to keep it. Returns the tag.

Attachment, 3 operations

  • attach_file_to_transactionAttach file to transactionPOSTAgents: ask firstAttaches a file (under 10 MB) to a transaction, with optional notes. Returns the attachment's id, name, type, size and notes; get_transaction_attachment_url gives a download link.
  • delete_transaction_attachmentDelete transaction attachmentDELETEAgents: ask firstPermanently deletes one file attachment from its transaction.
  • get_transaction_attachment_urlGet transaction attachment urlGETAgents: ask firstReturns a signed, expiring URL to download one transaction attachment (expires_at says until when). Each call returns a fresh link; the file may hold personal financial data.

Bank account, 3 operations

  • fetch_plaid_accountsFetch plaid accountsPOSTAgents: ask firstAsks Plaid to fetch fresh data for all eligible synced accounts, or one id, at most once a minute (a quicker repeat fails as too early). Answers with no body; read list_plaid_accounts after to see the outcome.
  • get_plaid_accountGet plaid accountGETAgents: ask firstReturns one Plaid-synced bank account by id: institution, name, type, subtype, mask, balance, currency, limit, status and the dates of the last import and fetch. Returns personal financial data.
  • list_plaid_accountsList plaid accountsGETAgents: ask firstLists the bank accounts synced through Plaid: institution, name, type, subtype, mask (last digits), balance, currency, limit, status and the dates of the last link, import and fetch. Returns personal financial data.

Crypto account, 3 operations

  • get_crypto_synced_accountGet crypto synced accountGETAgents: ask firstReturns one synced crypto account by id with provider, status and all its balances (symbol, amount, value in the primary currency). Returns personal financial data.
  • list_crypto_synced_accountsList crypto synced accountsGETAgents: ask firstLists the synced crypto accounts (exchange or wallet connections such as Coinbase or Kraken) with provider, status and every balance (symbol, amount, value in the primary currency). Returns personal financial data.
  • refresh_crypto_synced_accountRefresh crypto synced accountPOSTAgents: ask firstAsks Lunch Money to refresh the balances of one synced crypto account from its provider now, and returns the account with its balances (personal financial data).

Account settings, 2 operations

  • get_account_settingsGet account settingsGETAgents: ask firstReturns the budget account's settings shared by every user of it: primary and supported currencies, display name, locale, automatic rule creation and whether pending transactions count in totals.
  • update_account_settingsUpdate account settingsPUTAgents: ask firstUpdates the budget account's settings for every user of it: primary currency, supported currencies (replaced as a whole), display name, locale, automatic rule creation, pending in totals. Send at least one field.

Budget, 2 operations

  • delete_budgetDelete budgetDELETEAgents: ask firstRemoves one category's budget for one budget period (category_id plus start_date, a valid period start). Succeeds even when no budget was set.
  • upsert_budgetUpsert budgetPUTAgents: ask firstSets one category's budget for one budget period: creates it, or updates amount, currency and notes when one exists. start_date must be a valid period start (see get_budget_settings). Returns the budget (personal financial data).

Cryptocurrency, 2 operations

  • create_cryptocurrencyCreate cryptocurrencyPOSTAgents: ask firstAdds a cryptocurrency to Lunch Money's supported manual-crypto list from its CoinGecko coin-page URL. Refused when its CoinGecko id or symbol is already supported. Returns the new entry.
  • list_cryptocurrenciesList cryptocurrenciesGETAgents: ask firstLists the cryptocurrencies Lunch Money supports for manual crypto balances (id, CoinGecko id, symbol, full name). The symbol given to create_crypto_manual_balance must be one of these.

Recurring item, 2 operations

  • get_recurring_itemGet recurring itemGETAgents: ask firstReturns one recurring item by id: description, status, matching criteria (payee, amount, account, cadence), overrides and the occurrences expected, found and missing in a date range. Returns personal financial data.
  • list_recurring_itemsList recurring itemsGETAgents: ask firstLists the recurring items (expected bills, subscriptions, income) with the criteria they match, overrides and, for a date range, the expected, found and missing occurrences. Returns personal financial data.

Transaction group, 2 operations

  • group_transactionsGroup transactionsPOSTAgents: ask firstGroups existing transactions (ids) into one new transaction whose amount is their sum, with a date and payee, optional category, notes, status (reviewed by default) and tags. Returns the group (personal financial data).
  • ungroup_transactionsUngroup transactionsDELETEAgents: ask firstDeletes a transaction group; its member transactions are kept and become ordinary ungrouped transactions again.

User account settings, 2 operations

  • get_user_account_settingsGet user account settingsGETAgents: ask firstReturns the authorized user's settings in this budget account only: whether transactions are marked reviewed on update or on creation, and the default manual account for new manual transactions.
  • update_user_account_settingsUpdate user account settingsPUTAgents: ask firstUpdates the authorized user's settings in this budget account: auto-review on update, auto-review on creation, default manual account. Send at least one field; fields left out keep their value.

User settings, 2 operations

  • get_user_settingsGet user settingsGETAgents: ask firstReturns the authorized user's display preferences across all budget accounts: debit sign display, payee suggestions, date formats, 12 or 24 hour clock, first weekday, year and weekday display.
  • update_user_settingsUpdate user settingsPUTAgents: ask firstUpdates the authorized user's display preferences across all budget accounts (debit sign, payee suggestions, date formats, clock, first weekday, year and weekday display). Send at least one field.

Balance history entry, 1 operation

  • delete_balance_history_entryDelete balance history entryDELETEAgents: ask firstPermanently deletes one stored (historical) monthly balance entry by its id from a balance history listing. Current (ephemeral) entries cannot be deleted.

Budget settings, 1 operation

  • get_budget_settingsGet budget settingsGETAgents: ask firstReturns how budget periods are calculated: granularity and quantity (for example one month), anchor date, rollover, last-day-of-month and income options. Read it to find a valid period start_date for upsert_budget.

Budget summary, 1 operation

  • get_budget_summaryGet budget summaryGETAgents: ask firstReturns budget performance per category for a date range (budgeted, recurring and other activity, available). Returns personal financial data. Options add inflow and outflow totals, per-period occurrences and the rollover pool.

Deleted account, 1 operation

  • update_deleted_account_detailsUpdate deleted account detailsPUTAgents: ask firstChanges the archived labels (name, institution, display name, account type, subtype, mask) of a deleted account's balance history, by its deleted_account_id from list_balance_history. Applies to all its entries.

User, 1 operation

  • get_current_userGet current userGETAgents: ask firstReturns the user behind the API token: name, email, user id, account id, budget name, primary currency and the label of the API key in use (never the key). Personal data.

Use Lunch Money from Claude Code, Cursor or Codex

Connect Lunch Money in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Lunch Money operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Lunch Money

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Lunch Money once

    Add your Lunch Money connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Lunch Money integration FAQ

What can you do with the Lunch Money integration?

LiveContext exposes 65 operations on Lunch Money, covering transaction, balance history, crypto balance and category.

Popular integrations

Browse the whole catalog