---
name: hedgerow-money
description: How Hedgerow Money (hedgerowmoney.com) works and how to use its MCP tools. Use it to answer people's questions about the app, to find where something is done, and to read or change their budget through the connected assistant tools.
---

# Hedgerow Money

An envelope budget for money in more than one currency. People put money from their accounts into categories, so they know what each amount is for. Every amount stays in its own currency. The app is at https://hedgerowmoney.com, and the user guide at https://hedgerowmoney.com/guide/en/ explains each task step by step.

## Answering people

- Use the app's words (table below), and give the exact labels the screens show, such as **Assign money** or **Ready to budget**.
- Never add amounts in different currencies together. Report each currency on its own. Only give a total in one currency when the person asks, call it an estimate, and say it uses ECB reference rates.
- Do not say money has a "job" or is "working". Say what the money is _for_.
- For steps, give the short version, and link the guide page that has the full steps.
- Say plainly when the app cannot do something yet. Do not invent features, buttons or workarounds.

## Ideas and words

The full explanation is in [basics](https://hedgerowmoney.com/guide/en/basics).

| Word                                  | Meaning                                                                                                                                                                                         |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Account                               | A bank account, card, wallet or cash box. Exactly one currency, set when added and never changed. A bank with two currencies = two accounts.                                                    |
| Profile                               | The signed-in person and all their data. Never call it an account.                                                                                                                              |
| Category                              | A purpose for money, such as Rent. Categories sit in groups. A category can hold several currencies.                                                                                            |
| Assign                                | Put money from one account into a category. The money stays in the account; no money moves between accounts.                                                                                    |
| Assigned, Spent, Available            | Per category and currency. Spent is money out less refunds. Available = Assigned − Spent. Below zero shows **Overspent**; an account below zero inside a category that is not shows **Uneven**. |
| Ready to budget                       | An account's money that is in no category: Balance − In categories. One per account, in its currency. Income lands here.                                                                        |
| In categories                         | The part of an account's balance that is available in categories.                                                                                                                               |
| Uncategorized                         | A transaction with no category. Its money comes out of, or goes into, Ready to budget.                                                                                                          |
| Expense, Income, Transfer, Conversion | The four transaction types. A transfer is between two accounts in the same currency; a conversion is between different currencies.                                                              |
| Uncleared, Cleared, Reconciled        | A transaction's status: not on a statement yet; the bank shows it; part of a balance the person confirmed.                                                                                      |
| Reconcile                             | Compare an account with a bank statement and confirm the balance.                                                                                                                               |
| Estimate (≈)                          | A total in the display currency at ECB rates. Information only; it never changes money. A dash (—) means no estimate.                                                                           |
| Mapping                               | A saved description of one bank's CSV file: its columns, formats and accounts.                                                                                                                  |
| Category rule                         | "When the payee contains _tesco_, _lidl_ or _aldi_, use Groceries." Picks categories for imported rows. Up to 20 conditions, any or all must match.                                             |

The app has no budget months. It is one running budget: what is assigned stays until it is spent or taken back.

## Where things are

| Place         | Path                            | What is there                                                                                                                                                                                  |
| ------------- | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Budget        | `/b`                            | Totals per currency, warnings, categories with Assigned, Spent and Available (All time or This month), quick actions, first steps; an opened category shows Spent per month for 12 months      |
| Accounts      | `/b/accounts`                   | Every account with Balance, In categories and Ready to budget; closed accounts                                                                                                                 |
| An account    | `/b/accounts/<id>`              | Balance chart for 12 months; register with running balance and status; Opening balance or Reconcile; Import file; Close account                                                                |
| Transactions  | `/b/transactions`               | Every transaction, newest first; Add transaction; Import file                                                                                                                                  |
| Reports       | `/b/reports`                    | Plus. Money in and out per month (12 months, per currency); Where the money went by category for this month, last month, 3 or 12 months; Net worth ≈ in the display currency at each month end |
| Uncategorized | `/b/transactions/uncategorized` | Expenses with no category; pick a category per row and it saves at once, or tick several and Set category; Apply rules to uncategorized                                                        |
| Import        | `/b/import`                     | Upload a CSV, map, review, import, undo                                                                                                                                                        |
| Settings      | `/b/settings`                   | Plan, sharing, passkeys, theme, display currency, exchange rates, category rules, import mappings, AI assistants, export, What's new, delete profile                                           |
| Feedback      | `/b/feedback`                   | Send feedback or report a problem                                                                                                                                                              |

## How to do things in the app

**Start** ([get-started](https://hedgerowmoney.com/guide/en/get-started)). Sign in with an email link (works once, for 10 minutes) or a passkey. Add an account (name, currency), then its opening balance (starting date and balance on that date). Pick the ready-made categories (about 25) or start from scratch. Assign money until Ready to budget is zero in each currency.

**Assign** ([budget](https://hedgerowmoney.com/guide/en/budget)). Select the category's Assigned amount (or **Assign money**), pick **From account** (each shows its own Ready to budget; Ready to budget on the Budget page is the sum over all accounts in a currency, and money can only be assigned from the account that holds it), and type the new **total** that this account gives the category, not the amount to add. A leading sign makes it a change instead: `+5000` adds, `-2000` takes back. Sums with `+` and `-` work too (`12000+3500` is a total); the form shows the new total before **Save**, and it cannot go below zero. A smaller total takes money back to Ready to budget. Open a category to see which accounts fund it and its assignment history.

**Quick actions** (Budget page, or ⋯ on one category; preview first, nothing saves until **Save**): **Cover overspending** (from Ready to budget in the same currency), **Rebalance accounts** (a category keeps Available per account; when one account spent more than it gave while others still hold money there, the category shows **Uneven** and this moves the others' unspent money to the short account: the category total stays, the short account's Ready to budget drops by the move and the others' rises), **Repeat last month**, **Use 3-month average**, **Fund targets** (shown once a category has a monthly target; assigns the target less what the category already got this month, in the target's currency), **Fix Ready to budget** (shown when an account has more assigned than it holds; takes unspent money back, largest first). Amounts keep four decimals but show at the currency's precision (HUF as whole forints), so a shortfall that rounds to zero, such as −0.29 HUF from bank fillér, gets no warning and no fix; the exact value shows on hover.

**Monthly targets** ([targets](https://hedgerowmoney.com/guide/en/budget#targets)). Open a category, **Monthly target**: an amount per month in one currency (one with an open account), **Add target** (later **Save target**); **Remove target** clears it. The open category shows what was assigned this month and what is still needed; **This month** shows "of" the target next to Assigned. Leftover money from earlier months does not count toward the month's target. Free and Plus.

**Categories.** **Add category** (optional group), ⋯ for **Rename**, **Move** or **Delete**. A category can only be deleted if nothing was ever assigned to it or spent from it. A group can be deleted once it is empty.

**Transactions** ([transactions](https://hedgerowmoney.com/guide/en/transactions)). **Add transaction**, pick the type. The amount is typed without a sign; the currency comes from the account. Income usually stays Uncategorized; a refund takes the purchase's category. A transfer has no category. A conversion asks for **Amount sent** and **Amount received** and an optional fee (in the sending currency, with a fee category); it records the rate actually got, and the received money lands in Ready to budget to assign again. **Edit** keeps every earlier version. Changing the amount, account or date of a reconciled transaction adds a linked adjustment. **Delete this transaction** is permanent; it is not possible for an opening balance, a reconciliation or a reconciled transaction. When expenses have no category, **Budget** shows how many with **Choose categories**, which opens a list of them ([categorize](https://hedgerowmoney.com/guide/en/transactions#categorize)); picking a category, or editing the note under the payee, saves that row at once. To give several rows one category, tick them (or **Select all**), choose the category above the list and press **Set category**; reconciled rows cannot be ticked, and rows changed elsewhere since the page loaded are skipped, with counts shown. Income, transfers, conversions, opening balances and adjustments are not listed; a reconciled expense's category is changed from its edit form (its note still saves in place). **Create rule** in a row opens the category rules form with that payee filled in (and the row's category, once picked); saving returns to the list. **Apply rules to uncategorized** (on that list and on the rules page) runs every rule over the listed expenses in one step and says how many got a category; imported ones are also checked against their bank ID, bank's category and mapping, and reconciled ones are left as they are. View-only members cannot run it.

**Accounts** ([accounts](https://hedgerowmoney.com/guide/en/accounts)). Accounts cannot be renamed and their currency cannot change. An opening balance is only possible before an account's first transaction; if it was forgotten, reconcile to the current balance instead. To close an account, bring its balance to zero and take its money out of categories; closed accounts keep their history and can be reopened. **Cleared**: press a transaction's status in a register to switch it between Uncleared and Cleared without editing; in an account's register it changes that account's side only. Reconciled transactions, opening balances and read-only accounts keep their status. No MCP tool does this. **Reconcile**: statement date and balance, tick the uncleared transactions on the statement, **Check difference**, then **Finish**, or **Finish and add an adjustment** if the difference cannot be found.

**Import a bank CSV** ([import](https://hedgerowmoney.com/guide/en/import)). Up to 2 MiB and 10,000 rows. First add an account per currency in the file, each with an opening balance. Upload; the first file from a bank needs a mapping (date column and format, payee, amounts as one signed column, separate money-in and money-out columns, or an amount plus a direction column; optional bank ID, running balance, filter). A negative amount always means money out. Review statuses: **New** (added), **Matched** (same account and amount within four days of one entered by hand; marked cleared, not added again, unless **Import as new**), **Already imported** (skipped), **Skipped** (filter, or a currency with no account), **Error** (blocks the import unless skipped). Categories come from the person's pick, then category rules (first match from the top), then the payee's last category. A rule has up to 20 conditions (payee, note, bank transaction ID or bank's category; contains, is or starts with) and matches when any of them fits, or all if set; edit a rule from **Settings**, **Edit rules**, **Edit** to add a shop to it. Long descriptions wrap in the **Rule** column. **Undo import** removes what the file added; matched transactions stay cleared; not possible after reconciling its transactions.

**Currencies** ([currencies](https://hedgerowmoney.com/guide/en/currencies)). The app never converts money; only a recorded conversion does. Overspending must be covered in the same currency, so euros cannot cover forints until converted. Estimates use the display currency (Settings) and ECB reference rates, loaded each working day for about 30 currencies. A dash means the total would hide a negative amount in another currency, or a rate is missing.

**Share a budget** ([settings](https://hedgerowmoney.com/guide/en/settings#sharing)). Plus. In **Settings**, **Sharing**, **People in your budget**: the other person's email (they must have signed in once) and **View only** or **Can edit**, then **Add person**; up to 10 people. View only sees everything and changes nothing; Can edit changes everything except who is in the budget; only the owner adds, changes or removes people. Someone with access to another budget switches with the **Budget** list at the top of the menu (it switches at once) or **Open** under **Budgets you can open**; a shared budget shows a banner on every page with **Back to your budget**; **Leave** removes them. Personal settings (theme, passkeys, display currency, export, delete profile) and AI assistants stay on the person's own budget. If the owner's Plus ends, members cannot open the budget until it is back; nothing is deleted.

**Settings and data** ([settings](https://hedgerowmoney.com/guide/en/settings)). Plan (first), passkeys, theme (Light, Dark, System), What's new, feedback. **Export data**: JSON (everything, with history) or CSV (current transactions). **Delete profile and data** deletes everything at once and cannot be undone. No ads or trackers; see https://hedgerowmoney.com/privacy. Support: **Feedback** in the sidebar, or email support@hedgerowmoney.com.

**Common questions** ([questions](https://hedgerowmoney.com/guide/en/questions)). Negative Ready to budget: more is assigned than the account holds; use **Fix Ready to budget**, lower a category total, or record missing income. A category got less than expected: a plain number is a total, not an addition; type `+5000` to add. Works in a phone browser; there is no separate mobile app. Sign-ups are closed: the app is in a small trial.

## Plans

- **Free**: one person, everything above, for open accounts in up to 2 currencies. Not AI assistants or sharing. Closed accounts and the display currency do not count.
- **Plus** ([plans](https://hedgerowmoney.com/guide/en/plans)): any number of currencies, AI assistants, Reports, and sharing a budget with others. Plus is coming soon: it cannot be bought yet, and the price is not announced. Do not quote a price.
- New profiles get a 30-day Plus trial with no card.
- After a trial ends, nothing is deleted. Accounts in currencies beyond the two kept ones become read-only: they stay in totals and exports but take no transactions, assignments or imports. The person picks which two currencies stay editable in **Settings**, under **Plan**; a pick then holds for 30 days. Closing accounts also frees a currency.

## AI assistants (MCP)

A Plus feature ([assistants](https://hedgerowmoney.com/guide/en/assistants)). The server is `https://hedgerowmoney.com/mcp` (Streamable HTTP, OAuth). In Claude: **Settings**, **Connectors**, **Add custom connector**. In Claude Code: `claude mcp add --transport http hedgerow https://hedgerowmoney.com/mcp`. The person signs in and chooses **Read only** or **Read and change**. Connections are listed, and disconnected, in **Settings** under **AI assistants**; one unused for 30 days stops.

### Rules for the assistant

- Ask the person before any tool that saves, and say what it will save. A read-only connection does not have the write tools.
- Amounts are exact decimal strings in their account's currency, such as `"12.50"`. In transactions, negative means money out of the account. Dates are `YYYY-MM-DD`.
- Look up ids first (`get_budget`, `list_categories`, `list_imports`); never guess them.
- `assign_to_category` takes the **change**, not the new total: `"100"` adds 100, `"-100"` takes 100 back. (The app's form takes the total, or a change with a leading `+` or `-`.)
- Pass the same `requestId` when retrying a write after a timeout, so it is not saved twice.
- The tools always work on the person's own budget, never on one shared with them.
- Closed and read-only accounts reject writes. A plan error means the person's Plus has ended: tell them, and stop.
- Limits: about 120 requests a minute per connection, and 20 a minute for import steps (tools marked heavy). If a limit is reached, wait a minute and continue.

### Tools

| Tool                      | Writes | Use                                                                                                                                 |
| ------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------- |
| `get_help`                |        | This file                                                                                                                           |
| `get_budget`              |        | Accounts (balance, In categories, Ready to budget, closed, readOnly), totals per currency, estimate                                 |
| `list_categories`         |        | Categories with Assigned, Spent and Available per currency and per funding account, and the monthly target                          |
| `list_transactions`       |        | Current transactions, newest first; filter by account, category (or `uncategorized`), dates, text; 200 a page                       |
| `add_transaction`         | yes    | Expense, income, or a transfer in one currency. Not conversions                                                                     |
| `categorize_transactions` | yes    | One category for up to 500 expenses (`transactionIds`); reconciled and unchangeable ones are counted and left as they are           |
| `create_account`          | yes    | An account: name and currency (never changes afterwards); then set its opening balance                                              |
| `set_opening_balance`     | yes    | Set an opening balance (the account's first transaction), or change the one it has; may be negative                                 |
| `assign_to_category`      | yes    | Assign from one account's Ready to budget, or take back with a negative amount                                                      |
| `set_category_target`     | yes    | A category's monthly target: amount and currency; `"0"` removes it                                                                  |
| `create_category`         | yes    | A category, optionally in a group (created if new)                                                                                  |
| `list_imports`            |        | Saved mappings with their JSON and accounts, the 20 latest files, category rules                                                    |
| `review_import`           |        | A file's counts, balance check, and up to 200 rows; filter new, uncategorized, matched, duplicates, errors                          |
| `upload_import_file`      | yes    | Stage a CSV as `content` or `contentBase64` (non-UTF-8); with `mappingId` it is read at once                                        |
| `preview_import_mapping`  | yes    | First 10 rows read with a mapping, saving nothing; its description gives the mapping shape                                          |
| `save_import_mapping`     | yes    | Save or update (`mappingId`) a mapping and its accounts, one per currency; returns the review                                       |
| `set_import_categories`   | yes    | Categories by line (`null` = Uncategorized), `applyToSamePayee`, `importAnyway` for matched rows                                    |
| `create_import_rule`      | yes    | A category rule with one or more `conditions` and `match` `any` (default) or `all`; with `batchId`, re-read that file so it applies |
| `apply_rules`             | yes    | Run the category rules over every uncategorized expense now; returns how many got a category                                        |
| `commit_import`           | yes    | Import a reviewed file in one step; `skipErrors` leaves out error rows                                                              |
| `undo_import`             | yes    | Remove what an import added                                                                                                         |

### Import with the tools

1. `get_budget`: every currency in the file needs an account with an opening balance. If one is missing, offer to add it with `create_account` and set its opening balance with `set_opening_balance` (dated before the file's first row), and do so if the person agrees.
2. `list_imports`: if a mapping exists for this bank, `upload_import_file` with its `mappingId` and go to step 4.
3. Otherwise `upload_import_file` without one, read the first rows, then `preview_import_mapping` until dates, payees, amounts and directions are right, then `save_import_mapping`.
4. `review_import`: check errors and the balance check. Choose categories with `set_import_categories`, or add rules with `create_import_rule`. Show the person the counts and anything unusual.
5. After the person agrees, `commit_import`. `undo_import` reverses it while its transactions are not reconciled.

### Not possible through the tools

Conversions, editing or deleting transactions (except changing an opening balance), reconciling, closing or reopening accounts, renaming, moving or deleting categories and groups, deleting mappings, editing or deleting rules, plan and settings changes, export and profile deletion. Explain how to do these in the app, using the steps above.
