MCP + API

Connect any AI model to your newsletter.

Breaker ships with an MCP server and a full API. Your model drafts campaigns, builds segments, and pulls the numbers. You review the work and press send.

Install MCP API Docs
MCP sessionConnected
YouDraft Thursday's issue from these three links.
Modelcampaign_create() Draft saved: The Overshare #142
YouWho clicked our pricing link last week?
Modellink_clicks() 214 contacts. 41 sit in your Enterprise segment.
Draft waiting in editor

One API. Every part of your account.

CampaignsDraft by APICreate and update draft campaigns, read and replace the body, render a preview. Drafts open in the editor, ready to edit by hand.
ReportingQuery your numbersPull opens, clicks, unsubscribes, and RealClick™ for one campaign or an aggregated time period.
SegmentsBuild audiencesStatic lists or rule-driven dynamic segments. Create them, read and replace the rules, list members, recalculate.
ContactsManage your listCreate, find, update and tag contacts, change subscription status, pull per-contact engagement. List tags, custom fields and signup forms.

Your model. Our tools.

MCP is an open standard that lets a model use outside tools. Breaker's MCP server hands your model the controls: campaigns, segments, contacts, and reports. Ask in plain English. Get answers from your live account data.

01ConnectAdd Breaker to claude.ai with one URL, or to Claude Code, Cursor, Codex and any other MCP client
02AskDraft content, build segments, question your stats
03ReviewOpen the draft in your editor. Change what you want. Send it.
> Which subject lines beat 60% opens
  this quarter?

  report_summary(from="2026-07-01", to="2026-09-30")

  9 of 31 campaigns above 60%
  Top: "I cried writing this (unrelated but still)"  68.4%
  Runner up: "My therapist said not to send this"  64.1%

> Tag everyone who clicked the webinar
  link as warm.

  contact_tag(tag="warm") × 312
  312 contacts tagged warm
Install

Up and running in one paste.

The fastest route for coding tools. Paste this into Claude Code, Codex, Cursor, or any AI coding assistant. It asks for your key, works out which client it is running in, registers the server, and checks the connection.

Prompt
Set up the Breaker MCP server for me.

Breaker is an email newsletter platform. For this setup the MCP server runs
locally over stdio via npx and authenticates with an API key — do not look for
a browser sign-in or a hosted endpoint.

1. Ask me for my Breaker API key before you write any config. It looks like
   bk_live_... . If I don't have one, tell me to create it at
   https://app.breaker.email under Settings then API Keys, and wait for me. You
   cannot create a key yourself.

2. Work out which MCP client you are running in and register the server using
   that client's own method, named "breaker", at user scope where the client
   has one.

   Claude Code:
     claude mcp add breaker --scope user \
       --env BREAKER_API_KEY=bk_live_my_key_here \
       -- npx -y -p @breaker-email/mcp breaker-mcp

   Codex:
     codex mcp add breaker --env BREAKER_API_KEY=bk_live_my_key_here \
       -- npx -y -p @breaker-email/mcp breaker-mcp

   Any other client — add this to its MCP config file:
     {
       "mcpServers": {
         "breaker": {
           "command": "npx",
           "args": ["-y", "-p", "@breaker-email/mcp", "breaker-mcp"],
           "env": { "BREAKER_API_KEY": "bk_live_my_key_here" }
         }
       }
     }

   Keep the -p flag and the breaker-mcp binary name exactly as written: npx is
   told the package and the executable separately so it never has to guess.

   VS Code uses the same shape under a "servers" key rather than "mcpServers".

   BREAKER_API_KEY is required. Put the key in the env block — for a stdio
   server this is the correct mechanism, not a workaround.

3. Confirm it worked before calling it done. Check the breaker tools are listed,
   then call newsletter_get, which takes no arguments and only reads. Tell me
   which newsletter it returned. A 401 means the key is wrong or revoked — tell
   me, don't retry. During setup, never call a tool that creates, updates or
   deletes anything.

4. A Breaker API key belongs to one newsletter. Once you know the name, offer to
   rename the server to breaker-<newsletter> — lowercase, spaces and punctuation
   replaced with dashes, so "Founders' Brief (EU)" becomes
   breaker-founders-brief-eu. Useful if I run more than one newsletter. Only
   rename if I say yes, and do it by removing and re-adding the server with the
   same key.

Claude.ai

Nothing to install and no API key. Add Breaker's hosted endpoint as a custom connector and sign in with your Breaker account.

Remote MCP server URL
https://api.breaker.email/mcp
  1. In claude.ai open Settings, Connectors, then Add custom connector.
  2. Name it Breaker, paste the URL above, and click Add.
  3. Click Connect and sign in with your Breaker account. The sign-in picks the one newsletter this connection can reach.
  4. Start a chat and ask. The Breaker tools show up in the tools menu.

The connection is listed, and can be removed, in Breaker under Settings, Integrations, AI Clients. Run more than one newsletter? Add the connector once per newsletter and sign in to each.

Claude Code

One command, at user scope so every project sees it. Needs an API key from Settings, API Keys in the Breaker app.

Terminal
claude mcp add breaker --scope user --env BREAKER_API_KEY=bk_live_your_key_here -- npx -y -p @breaker-email/mcp breaker-mcp
Or edit the config file directly
{
  "mcpServers": {
    "breaker": {
      "command": "npx",
      "args": ["-y", "-p", "@breaker-email/mcp", "breaker-mcp"],
      "env": { "BREAKER_API_KEY": "bk_live_your_key_here" }
    }
  }
}

Claude Desktop

Same as claude.ai: open Settings, Connectors, Add custom connector, paste the hosted URL, and sign in with your Breaker account. To run the server locally instead, open Settings, Developer, Edit Config, add this, and restart.

claude_desktop_config.json (local server)
{
  "mcpServers": {
    "breaker": {
      "command": "npx",
      "args": ["-y", "-p", "@breaker-email/mcp", "breaker-mcp"],
      "env": { "BREAKER_API_KEY": "bk_live_your_key_here" }
    }
  }
}

ChatGPT

ChatGPT connects to the hosted endpoint as an MCP app, added through Developer mode. No API key: you sign in with your Breaker account.

Remote MCP server URL
https://api.breaker.email/mcp
  1. Open Settings, Plugins, Developer mode, and enable Developer mode.
  2. Go to Settings, Plugins, Browse Plugins. Press + in the top right corner and select Create MCP App.
  3. Give the connection a name, paste the URL above under Connection, and leave authentication as OAuth.
  4. Sign in with your Breaker account when ChatGPT asks. The sign-in picks the one newsletter this connection can reach. Then start a chat and ask.

Developer mode is a beta feature on Plus and Pro plans. On Business, Enterprise and Edu workspaces an admin has to enable it first. The connection is listed, and can be removed, in Breaker under Settings, Integrations, AI Clients.

Codex

One command. Needs an API key from Settings, API Keys in the Breaker app. Codex stores its config as TOML, so the manual version looks different.

Terminal
codex mcp add breaker --env BREAKER_API_KEY=bk_live_your_key_here -- npx -y -p @breaker-email/mcp breaker-mcp
Or edit ~/.codex/config.toml directly
[mcp_servers.breaker]
command = "npx"
args = ["-y", "-p", "@breaker-email/mcp", "breaker-mcp"]

[mcp_servers.breaker.env]
BREAKER_API_KEY = "bk_live_your_key_here"

Web clients that connect to a URL use the hosted endpoint and sign in with a Breaker account. Cursor, VS Code, Windsurf and any other client that speaks MCP over stdio can run the server locally: point it at npx -y -p @breaker-email/mcp breaker-mcp with BREAKER_API_KEY in the environment. VS Code uses the same shape under a servers key rather than mcpServers.

Hosted endpoint (web clients)
https://api.breaker.email/mcp
Local server (stdio clients)
{
  "mcpServers": {
    "breaker": {
      "command": "npx",
      "args": ["-y", "-p", "@breaker-email/mcp", "breaker-mcp"],
      "env": { "BREAKER_API_KEY": "bk_live_your_key_here" }
    }
  }
}

35 tools. Every read and write the API allows.

The same tools whether you use the hosted endpoint or run the server yourself. It is a thin client of the public REST API: it holds no data and adds no behaviour of its own. Anything the API refuses, it refuses too.

NewsletterRead which newsletter the API key belongs to.
CampaignsList and read campaigns, create a draft, change its title, subject and preview text, read and replace its body, preview the rendered email. The write tool spells out the markup the Breaker editor adopts as real blocks: columns, buttons, images, dividers and merge tags.
ReportsNewsletter and per-campaign totals over a date window, per-contact engagement, links and who clicked them, subscriber count and unsubscribes.
SegmentsList and read segments, create one from a fixed list of contacts or from rules, read and replace a dynamic segment's rules, add contacts to a static one, recalculate a dynamic one.
ContactsCreate, find, read and update contacts, add and remove tags, read status and per-campaign engagement, list tags, custom fields and signup forms.

Powerful, but not like, too powerful.

No send accessModels and API keys cannot send a campaign or delete contacts. Only you can do that.
Drafts open in your editorEverything the model writes lands in the campaign editor, easy to change by hand before it goes out.
You approve every sendA person reads the issue and presses the button. Your list never hears from an unsupervised machine.
"We tripled our sponsor revenue and doubled our community memberships with Breaker. Well over a 10X ROI."
Real EstateMedia Publisher
"I was skeptical at first, but breaker delivered. Our newsletter is growing by 5,000 subscribers each month."
Consulting ServicesAgency Owner
"Breaker made scaling my newsletter as an agency owner really easy.
Highly recommend."
Advertising ServicesAgency Owner
"Breaker is our #1 source of booked calls."
Influencer ServicesAgency Owner
Breaker subscribers are our
best growth channel
Media Publisheron behalf of Jordan Belfort

Build your narrative
infrastructure.

Migrate your list and templates in an afternoon.

Apply for access Book a walkthrough