Skip to main content
The Brew MCP server exposes customer tasks, not one tool per HTTP route. Some tools compose several Public API v1 operations (get_email_analytics answers the overview, send, and event reads), and a few have no HTTP route at all. The catalog below is generated from what an organization connection’s tools/list returns, grouped under the topics get_brew_capabilities uses. A brand connection sees the same tools except create_brand. Every tool is strictly typed and carries readOnlyHint and destructiveHint annotations. Call get_brew_capabilities with a tool for one tool’s full input schema, or with a topic for focused help. Each description is exactly what your agent reads, and it states the tool’s cost: every credit-metered tool names its price there, and running out returns INSUFFICIENT_CREDITS.

Tool Catalog

Email

Automations

Contacts and audiences

Domains

Brand

Images and media

Data

Account and discovery

Conventions

response_format

Every tool except submit_feedback accepts an optional response_format: The complete machine-readable record is always in structuredContent either way, so concise never costs you data, only the JSON echo in the text channel. Reach for detailed when you want to read the raw fields in the transcript.

idempotency_key

Write tools that can be retried accept an optional idempotency_key: a repeat call with the same key replays the original result instead of acting twice. Use a fresh UUID per intended action. See Safe Retries.

include

Expansions are opt-in. Most tools take include as an array (include: ["html"] on get_email); get_brand and list_flows take a comma-separated string (include: "html"). Each tool’s input schema says which.

Previews

Email and image tools attach a rendered preview your client can show in the transcript, plus an Open in Brew link. Repeat the link; don’t add Markdown images, which some clients turn into a “Show Image” button instead of the design.

Confirmation Before Irreversible Actions

On OAuth and organization connections, a real send_email or a whole-audience run_automation returns a confirmation request first. Show the user the preview and the exact audience, then call again with confirmed: true. See Send Confirmation.

Result Size

Results are sized to fit a model’s context:
  • A list page comes back whole or not at all. When a page is too large, the call returns RESPONSE_TOO_LARGE with no rows and names what to lower (the limit, or an include expansion). Rows are never trimmed behind a cursor.
  • A single record comes back whole in structuredContent. Its text summary may be shortened, keeping the identifiers and next steps. A record past the hard cap returns RESPONSE_TOO_LARGE too.
  • A write always returns its outcome. An oversized result is compacted in place (long strings and arrays shortened), keeping every field’s type.

Need Help?

Our team is ready to support you at every step of your journey with Brew. Choose the option that works best for you:

Search Documentation

Type in the “Ask any question” search bar at the top left to instantly find relevant documentation pages.

ChatGPT/Claude Integration

Click “Open in ChatGPT” at the top right of any page to explore it further with ChatGPT or Claude.