Skip to main content
This page is for you — the person deciding what to hand an agent. Agents receive these tool schemas at inference time and don’t need to read this page; they see the parameters, descriptions, and JSON schemas directly through the MCP protocol. Use this reference to understand the surface area a connected AI client can touch, so you can pick the right API-key scope and know what will show up in your audit log.
Looking for the full tool list? This page walks through the handful of tools you’re most likely to care about as a human. For the complete enumeration of every MCP tool with full parameters, examples, and scope labels, see the MCP Reference tab.
Amount convention: Amounts follow Plaid’s convention. Positive values are debits (money leaving an account). Negative values are credits (money entering). If an agent talks about “total spend,” it’s summing positive amounts only.

What a typical agent session looks like

An agent connected to Breadbox usually opens a session by orienting itself before it starts querying. First it calls list_users and list_accounts to see who’s in the household and which accounts exist — this gives it the IDs it needs to filter anything downstream. Then, before pulling rows, it calls count_transactions with its intended filters so it knows whether to expect fifty results or five thousand. Only then does it call query_transactions, paginating with the returned cursor if has_more is true. That pattern — orient, size, query — keeps token usage predictable and matches how Breadbox’s tools are designed. You don’t need to enforce it from the outside; the tool descriptions nudge the agent toward it.

list_accounts

Lists all connected bank accounts with their current balances. An agent typically calls this early in a session to learn what accounts exist and get their IDs. Scope: Read Input parameters Example input
Example output
For credit accounts, balance_current represents the amount owed, not available funds. Amounts across different iso_currency_code values should not be summed.

query_transactions

Searches transactions using a combination of filters. Results are cursor-paginated with a default page size of 50 and a maximum of 500. This is the workhorse tool — almost every non-trivial agent session goes through it. Scope: Read Input parameters Example input
Example output
When there are no more pages, the response includes "has_more": false and "next_cursor": null.
Each transaction object is roughly 50 tokens. At the default page size of 50, one call returns approximately 2,500 tokens of content. At the maximum of 500, a single call can reach 25,000 tokens. If your agent pulls large result sets unfiltered, your context budget will disappear fast.
Page size guidance

count_transactions

Counts matching transactions without returning any transaction data. Accepts the same filters as query_transactions (excluding cursor, limit, sort_by, and sort_order). It’s the cheap pre-flight an agent uses to decide whether to narrow filters or brace for pagination. Scope: Read Input parameters Example input
Example output

list_categories

Returns the Breadbox category taxonomy as a flat list. Each category has a stable slug — the handle agents pass to query_transactions and count_transactions to filter by category, and to rule actions to set a category. Scope: Read Input parameters None. Pass an empty object. Example input
Example output
Pass a category slug as the category_slug parameter in query_transactions and count_transactions to filter by category. Parent slugs (e.g., food_and_drink) include all child categories automatically.

list_users

Lists all family members tracked in Breadbox. Users are labels for account ownership — they are not login accounts. Returned IDs are what an agent uses to filter accounts and transactions by person. Scope: Read Input parameters None. Pass an empty object. Example input
Example output

get_sync_status

Returns the health status of all bank connections: whether they are syncing successfully, when they last synced, and whether any connection needs re-authentication. This is how an agent answers “why don’t I see yesterday’s transactions?” without guessing. Scope: Read Input parameters None. Pass an empty object. Example input
Example output
Status values
To trigger a manual sync from outside an agent session, use POST /api/v1/sync (REST) or breadbox sync trigger (CLI). Breadbox does not expose a trigger_sync MCP tool — syncs run on the configured cron, and agents are expected to call get_sync_status to check freshness rather than kick off their own syncs.

Series (subscriptions)

Breadbox detects recurring charges and groups them into series. These tools are the agent-facing side of the Recurring page — they let a scheduled reviewer adjudicate what the detector proposed and fill in anything it missed. (The tool names stay *_series for API stability even though the surface is now called Recurring.)
A typical reviewer agent calls list_series(status="candidate"), inspects each with get_series, and resolves it with review_series — the same confirm/reject loop a person runs on the Recurring page.
Last modified on June 21, 2026