> ## Documentation Index
> Fetch the complete documentation index at: https://breadbox-mintlify-7401d007.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Accounts and users MCP reference

> MCP read tools for listing bank accounts and family members — the ID-discovery tools most agent sessions start with.

These are the tools an agent reaches for first to orient itself. `list_users` returns the family members in the household; `list_accounts` returns the bank accounts those users own. Both are read-only and typically run once at the top of a session.

***

## list\_accounts

Lists all bank accounts synced from Plaid, Teller, or CSV import. Each account belongs to a connection and optionally a user. Returns account type, balances, institution name, and currency.

**Scope:** Read

**Mirrors:** [`GET /api/v1/accounts`](/api/overview)

### Parameters

<ParamField path="user_id" type="string">
  Filter accounts by user ID (UUID or short ID). Omit to return every account.
</ParamField>

### Example input

```json theme={null}
{ "user_id": "u4Xm9pQ2" }
```

<Accordion title="Example output" icon="braces">
  ```json theme={null}
  [
    {
      "id": "a7Xm9pQ2",
      "name": "Chase Checking",
      "official_name": "Chase Total Checking",
      "type": "depository",
      "subtype": "checking",
      "mask": "4321",
      "balance_current": 2450.18,
      "balance_available": 2380.00,
      "balance_limit": null,
      "iso_currency_code": "USD",
      "institution_name": "Chase",
      "user_id": "u4Xm9pQ2",
      "connection_id": "c1Xm9pQ2",
      "connection_status": "active",
      "is_dependent_linked": false,
      "last_balance_update": "2026-04-23T12:00:00Z",
      "created_at": "2026-01-15T00:00:00Z",
      "updated_at": "2026-04-23T12:00:00Z"
    },
    {
      "id": "a8Yn0qR3",
      "name": "Amex Gold",
      "official_name": "American Express Gold Card",
      "type": "credit",
      "subtype": "credit card",
      "mask": "1008",
      "balance_current": -541.20,
      "balance_available": null,
      "balance_limit": 10000.00,
      "iso_currency_code": "USD",
      "institution_name": "American Express",
      "user_id": "u4Xm9pQ2",
      "connection_id": "c2Yn0qR3",
      "connection_status": "active",
      "is_dependent_linked": false,
      "last_balance_update": "2026-04-23T12:00:00Z",
      "created_at": "2026-01-20T00:00:00Z",
      "updated_at": "2026-04-23T12:00:00Z"
    }
  ]
  ```
</Accordion>

<Note>
  `provider` lives on the connection, not the account — resolve it via `connection_id` if you need it. `user_name` is not part of this response; `query_transactions` surfaces the attributed user name on each transaction instead.
</Note>

<Note>
  For credit accounts, `balance_current` represents the amount owed, not available funds. Never sum balances across different `iso_currency_code` values.
</Note>

***

## list\_users

Lists all users (family members) in the system. Each user can own bank connections. User IDs are used to filter transactions and accounts by family member.

**Scope:** Read

**Mirrors:** [`GET /api/v1/users`](/api/overview)

### Parameters

None. Pass an empty object (or just `session_id` / `reason` if you want to associate this read with a session).

### Example input

```json theme={null}
{}
```

### Example output

```json theme={null}
[
  {
    "id": "u4Xm9pQ2",
    "name": "Alice",
    "email": "alice@example.com",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  },
  {
    "id": "u5Yn0qR3",
    "name": "Bob",
    "email": "bob@example.com",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  }
]
```
