---
name: aureli
description: Read and update someone's net worth, assets, debts, investments and bank transactions in Aureli, a UK net worth tracker, through its hosted MCP server. Use when the user asks what they're worth, for the balance of an account, card, loan or mortgage, how their money is split across cash, property, pensions and investments, where their money goes, how much ISA or pension allowance is left this tax year, or to record a new balance, holding or trade. For example "what's my net worth", "check my Amex balance", "track my portfolio", "how much did I spend on eating out last month" or "I bought 10 more shares of VWRL".
compatibility: Needs an MCP client that can reach a remote Streamable HTTP server and sign in with OAuth in a browser, and an Aureli account (free Lite plan or Pro).
metadata:
  author: Aureli
  version: "1.0"
  homepage: https://aureli.app
  mcp-server: https://aureli.app/api/mcp
---

# Aureli

Aureli is a net worth tracker built in the UK. People keep their whole financial picture in one place: bank and savings accounts, pensions, ISAs, shares, crypto, property, and the mortgages, loans and cards against them. Bank balances sync through open banking (Finexer in the UK, Stripe in the US). Stocks, crypto and commodities are repriced from market data. Anything else is updated by hand, in the app or through you.

The Aureli MCP server gives you the same view of the user's account that they see in the app. You can also update it if they let you.

## Connect

Add Aureli as a remote MCP server:

```
https://aureli.app/api/mcp
```

- **Transport:** Streamable HTTP, POST only. Serving is stateless, so clients on the 2026-07-28 spec and on 2025-era Streamable HTTP both work.
- **Auth:** OAuth 2.1 with PKCE (S256), with no API key. The first request returns a 401 whose `WWW-Authenticate` header points to the OAuth metadata. Clients can register themselves dynamically. The user signs in to Aureli in their browser and chooses what to grant.
- **Claude Code:** `claude mcp add --transport http aureli https://aureli.app/api/mcp`

| Scope             | What it allows                                                                                                                                                          |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `portfolio:read`  | Every read tool: portfolios, assets, debts, valuations, allocation, tax year, subscription status and bank transactions                                                 |
| `portfolio:write` | Everything `portfolio:read` allows, plus the write tools: recording values, adding and editing holdings, trades, archiving, categorising transactions and syncing banks |

A token with neither scope sees no tools. There are also per-portfolio roles. An owner or editor can make changes. A viewer can only read, even with write scope.

Step-by-step guides for each client: [Claude](https://aureli.app/kb/connecting-to-claude), [ChatGPT](https://aureli.app/kb/connecting-to-chatgpt), [Gemini](https://aureli.app/kb/connecting-to-gemini), [Grok](https://aureli.app/kb/connecting-to-grok). The user can revoke access at any time under Profile → Security → Connected apps.

## Conventions

- **Start with `list_portfolios`.** Most tools take a `portfolioId`, and many users have more than one portfolio (personal, joint, a parent's). Ask the user which one they mean if it's unclear.
- **Take IDs from tool results, never guess them.** Asset and debt IDs come from `get_portfolio_information`. Account IDs come from `list_transaction_accounts`. Valuation IDs come from `get_asset_valuations` and `get_debt_valuations`.
- **Money going in is whole minor units.** £1,234.56 is `123456`. Money coming back is a formatted amount, which is what to quote to the user. Some tools also return the exact `minorUnits`; where they don't, don't try to work it out from the formatted string.
- **Debts are what's owed, as a positive number.** Never send a negative balance.
- **Dates are ISO 8601** (`2026-03-30`). A new value defaults to today. A new holding or debt can't be dated in the future.
- **Each portfolio has a base currency** that totals are reported in. Assets and debts keep their own currency. Use `convert_currency` rather than your own rates.

## Workflows

### What's my net worth?

- [ ] `list_portfolios`, then pick the portfolio
- [ ] `get_net_worth` for the total, its assets and its debts
- [ ] If the user wants the detail behind the number, use `get_portfolio_information`

### What's the balance on my Amex / Barclays / mortgage?

- [ ] `get_portfolio_information` and match the account by name
- [ ] If it's bank-connected and the user is about to act on the figure, run `sync_bank_accounts` first. Say that the refreshed balance may take a moment to arrive.
- [ ] For the history, use `get_asset_valuations` or `get_debt_valuations`

### Update a balance by hand

- [ ] `get_portfolio_information` to find the asset or debt and its currency
- [ ] Confirm the amount and date with the user
- [ ] `add_asset_valuation` or `add_debt_valuation` in minor units. This adds a new value and keeps the history.

### What are my biggest assets and debts? How am I allocated?

- [ ] `get_largest_assets` or `get_largest_debts`. Assets come with interest terms, units and cost basis where recorded. Debts come with rate, payment, limit and loan-to-value.
- [ ] `get_asset_allocation` for the split by asset class

### Add something new

- [ ] Listed share, ETF or fund: `search_stocks`, confirm the exact listing with the user, then `create_stock_asset`
- [ ] Crypto: `search_crypto`, then `create_crypto_asset`
- [ ] Gold, silver, oil: `search_commodities`, then `create_commodity_asset`
- [ ] Property, pension, savings, a car, private shares: `create_manual_asset`
- [ ] Card, loan, mortgage, tax bill: `create_debt`
- [ ] Bank accounts are connected in the Aureli app, where the bank asks for consent. You can't connect one over MCP.

### I bought or sold some shares

- [ ] `get_portfolio_information` to find the holding
- [ ] `record_holding_trade` with the units traded, not the new total. If the holding tracks cost, a buy needs `totalCost`, so ask the user rather than guessing.
- [ ] Sold everything? Use `archive_asset` instead.

### Where does my money go?

- [ ] `get_spending_by_category` for the period. It leaves transfers between the user's own accounts and card repayments out of spending on purpose.
- [ ] If much is uncategorised, say so. With write scope, offer to file it: `get_account_transactions`, `list_transaction_categories`, then `categorise_transactions`, all in one call.

### How much ISA or pension allowance have I got left?

- [ ] `get_tax_year_status`, for portfolios held in pounds. It shows each allowance that resets on 6 April, what's used, what's left and the days to go.

### I sold the house / paid off the loan / closed the account

- [ ] `archive_asset` or `archive_debt`. The value drops to zero from today but past net worth is unchanged.
- [ ] Undo with `list_archived_items`, then `unarchive_asset` or `unarchive_debt`

## Tools

### Portfolios and net worth (read)

| Tool                        | What it does                                                                  | Example prompt                            |
| --------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------- |
| `list_portfolios`           | Portfolios the user can see, with currency and their role                     | "Which portfolios do I have?"             |
| `get_portfolio_information` | Every active asset and debt with its current value                            | "Show me everything in my portfolio"      |
| `get_net_worth`             | Total assets minus total debts                                                | "What's my net worth?"                    |
| `get_asset_allocation`      | Split by asset class, with amounts and percentages                            | "How am I allocated?"                     |
| `get_largest_assets`        | Top assets, with terms, units, cost basis and linked debts                    | "What are my five biggest assets?"        |
| `get_largest_debts`         | Top debts, with rate, payment, limit and loan-to-value                        | "Which debt costs me most?"               |
| `get_asset_valuations`      | One asset's details and value history                                         | "How has my pension grown this year?"     |
| `get_debt_valuations`       | One debt's terms and balance history                                          | "How fast is my mortgage coming down?"    |
| `list_archived_items`       | Assets and debts that were sold, closed or paid off                           | "What have I archived?"                   |
| `convert_currency`          | Converts an amount at Aureli's latest rates                                   | "What's $5,000 in pounds?"                |
| `get_tax_year_status`       | UK allowance checklist (ISA, pension, dividend, CGT and more), GBP portfolios | "How much ISA allowance have I got left?" |
| `get_subscription_info`     | Plan (Lite or Pro), how it was bought, and renewal or expiry date             | "When does my Pro plan renew?"            |

### Bank transactions (read)

These tools only cover bank connections where the user switched on transaction data.

| Tool                          | What it does                                                           | Example prompt                                     |
| ----------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------- |
| `list_transaction_accounts`   | Accounts with transaction data switched on                             | "Which accounts can you see transactions for?"     |
| `get_account_transactions`    | Transactions for one account, newest first, up to 200 at a time        | "Show my Monzo transactions from last week"        |
| `list_transaction_categories` | The fixed set of spending categories                                   | "What categories can a transaction go in?"         |
| `get_spending_by_category`    | Spending by category, income, and the essential vs discretionary split | "How much did I spend on eating out in September?" |

### Recording values and adding holdings (write)

| Tool                     | What it does                                                    | Example prompt                            |
| ------------------------ | --------------------------------------------------------------- | ----------------------------------------- |
| `add_asset_valuation`    | Records a new value for an asset                                | "My house is worth £450,000 now"          |
| `add_debt_valuation`     | Records a new balance for a debt                                | "My Amex balance is £1,240"               |
| `search_stocks`          | Finds the exact listing of a share, ETF or fund                 | "Find Vanguard FTSE All-World"            |
| `search_crypto`          | Finds a crypto pair                                             | "Look up Ethereum"                        |
| `search_commodities`     | Finds a commodity's symbol                                      | "Find gold"                               |
| `create_stock_asset`     | Adds a share holding that reprices itself                       | "Add 40 shares of VWRL on the LSE"        |
| `create_crypto_asset`    | Adds a crypto holding that reprices itself                      | "Track my 0.3 BTC"                        |
| `create_commodity_asset` | Adds a commodity holding that reprices itself                   | "Add 10 oz of gold"                       |
| `create_manual_asset`    | Adds an asset valued by hand: property, pension, savings, a car | "Add my workplace pension, worth £62,000" |
| `create_debt`            | Adds a card, loan, mortgage, student loan or tax bill           | "Add my car finance, £8,400 left"         |

### Editing (write)

| Tool                     | What it does                                                                        | Example prompt                         |
| ------------------------ | ----------------------------------------------------------------------------------- | -------------------------------------- |
| `update_asset`           | Renames an asset or changes its notes, label or whether the money is easy to get at | "Rename 'ISA' to 'Vanguard S&S ISA'"   |
| `update_debt`            | Renames a debt or changes its notes or label                                        | "Call the loan 'Car finance'"          |
| `record_holding_trade`   | Records units bought or sold in a tracked holding                                   | "I sold 5 Apple shares"                |
| `delete_asset_valuation` | Deletes one mistaken value, permanently                                             | "Delete the value I entered yesterday" |
| `delete_debt_valuation`  | Deletes one mistaken balance, permanently                                           | "Remove that wrong card balance"       |
| `archive_asset`          | Archives a sold or closed asset, keeping its history                                | "I sold the flat"                      |
| `unarchive_asset`        | Brings an archived asset back                                                       | "Restore my old savings account"       |
| `archive_debt`           | Archives a paid-off or closed debt, keeping its history                             | "I've paid off the student loan"       |
| `unarchive_debt`         | Brings an archived debt back                                                        | "Bring back the car loan"              |

### Bank data (write)

| Tool                      | What it does                                               | Example prompt                                   |
| ------------------------- | ---------------------------------------------------------- | ------------------------------------------------ |
| `sync_bank_accounts`      | Asks connected banks for fresh balances and transactions   | "Refresh my bank balances"                       |
| `categorise_transactions` | Files transactions under spending categories, many at once | "Categorise last month's uncategorised spending" |

## Things to know

- **Confirm before you write.** Read the figure back to the user before you record a value, add a holding or archive something. Deleting a valuation can't be undone. An asset or debt can't be deleted over MCP at all, only archived, so its history survives.
- **Errors are written for you to act on.** A refused write says why and says nothing was changed, for example a plan limit, a viewer role, an instrument that can't be priced, or a bank still inside its refresh window. Pass the reason on rather than retrying.
- **Plans.** MCP works on every plan. Lite caps how many assets, debts and auto-updating holdings a user can have, and the caps depend on when they signed up. Pro has no asset or debt limit. A write that would go over a cap is refused and says so, and `get_subscription_info` shows the user's plan.
- **Bank syncs are rate-limited by the bank.** An account that is "not queued" isn't an error. The result says when it can refresh again.
- **Privacy.** Aureli receives the tool calls you make, not the conversation around them. Account data is stored in London. The user decides which scopes you get and can revoke them at any time.

## Further reading

- Aureli: https://aureli.app
- Help centre: https://aureli.app/kb
- Connected apps and scopes: https://aureli.app/kb/connected-apps
- Bank transactions: https://aureli.app/kb/tracking-bank-transactions
- Support: https://aureli.app/support
- Model Context Protocol: https://modelcontextprotocol.io
