Skip to main content
A lot of generic-looking transactions — utility bills, phone bills, insurance premiums — are recognizable to a human because they match an email receipt the biller sent the week prior. An agent with access to both Breadbox and Gmail can do the same cross-check. This guide walks through the pattern with a sample prompt you can adapt.
The concrete tool names below (search_threads, get_thread) match Claude’s built-in Gmail connector — the easiest path if you’re already using Claude Desktop or claude.ai. Other Gmail MCP implementations (e.g. community mcp-gmail servers) expose similar primitives but may rename them. The workflow — Gmail search by query string, then fetch the top thread — is identical across MCPs; verify the exact tool names against whichever server you install.

Why you’d want this

Take a transaction like:
On its own, it’s clearly a utility. But the category in Breadbox might default to something generic (RENT_AND_UTILITIES_OTHER), and you probably want it classified as rent_and_utilities_gas_and_electricity. More importantly, for shared households, you may want to confirm that the amount on the charge matches the amount PG&E actually billed — catching a billing mistake the day it happens is worth real money. Gmail almost always has the corresponding statement email a few days earlier:
Cross-referencing the two gives the agent confidence to categorize confidently, and surfaces any discrepancy as a flag for the household.

The prompt pattern

Expose a Gmail MCP to the same agent that already has the Breadbox MCP. Instruct it to search Gmail for the merchant, confirm the amount, and categorize.

A routing rule to feed the queue

Have a rule pre-tag likely bills into needs-review-bills at sync time so this specialist has a clean batch to work.
Customize the merchant list to match the billers you actually use.

The shape of the Gmail MCP call

Gmail MCPs expose a small surface — search by query, fetch a specific thread, and optionally label or reply. The agent needs the first two. The shapes below mirror Claude’s built-in Gmail connector (search_threads and get_thread); community MCPs may rename the tools but keep the same param set and the same Gmail search syntax (from:, newer_than:, subject:, etc.). A typical search call:
A typical fetch call for the top result:
The response includes the subject line, sender, date, and message body. The agent extracts the dollar amount from the body using string parsing — most billers put the amount in the subject line too, which is easier to parse reliably.

Why this agent earns its keep

The manual version of this task — opening Gmail, searching for the merchant, confirming the amount, categorizing the transaction — takes 30–60 seconds per bill. A household with 8 recurring bills spends 4–8 minutes a month on this; not a lot, but dull and error-prone. An agent doing it in parallel at sync time turns billing errors into a zero-effort flag, which is where the real value is.
Last modified on June 25, 2026