Model Context Protocol

Email, in your
AI's toolbox.

CONFIRM-GATED SENDS

Connect Email Bump to Claude Desktop, Claude Code, or Cursor and your assistant gets 74 tools — drafting campaigns, managing contacts, reading analytics — while sends stay behind your explicit approval.

View this page as Markdown
Claude Code — install + connect in one pasteNo key pasting — login opens your browser
$ curl -fsSL https://raw.githubusercontent.com/danest/emailbump-cli/main/install.sh | sh && ~/.local/bin/emailbump login && claude mcp add emailbump -- ~/.local/bin/emailbump mcp
Claude Desktop or Cursor — step 1: install, then run `emailbump login`
$ curl -fsSL https://raw.githubusercontent.com/danest/emailbump-cli/main/install.sh | sh
Step 2: add to claude_desktop_config.json or .cursor/mcp.json — after emailbump login no key is needed (or pin one via env EMAILBUMP_API_KEY)
JSON config
{
  "mcpServers": {
    "emailbump": {
      "command": "emailbump",
      "args": ["mcp"]
    }
  }
}
  • Works with
  • Claude Desktop
  • Claude Code
  • Cursor
  • Windsurf
  • Zed
HOW IT WORKS

Your key, your machine, your approval.

The server runs locally inside the emailbump binary and speaks MCP over stdio — no hosted middleman, nothing shared beyond what each tool returns.

  • 01

    Local stdio server

    Your MCP client launches `emailbump mcp` as a subprocess. The credential stays on your machine — stored by emailbump login (0600) or passed via environment; tools call the same public REST API the dashboard uses.

  • 02

    Instructions travel with the tools

    At connection time the server hands the assistant its operating rules: rehearse with a test send, confirm audiences with the human, never re-subscribe without fresh consent.

  • 03

    send_campaign has a two-step lock

    Called without confirm=true it returns the campaign for review instead of sending. The assistant must show you the audience, subject, and from address and get your approval before confirming.

  • 04

    The dangerous tools don't exist

    No deletes, no bulk import, no consent overrides on the MCP surface. What isn't exposed can't be misused.

Tool catalog

74 tools, eleven groups.

Every tool returns the REST API's JSON verbatim, so what the assistant sees is exactly what the API said.

GroupToolsNotes
Getting set upcreate_account · verify_email_code · whoami · start_authorization · finish_authorizationcreate_account makes one from an email address — no browser, no password. Nothing sends until the six-character code is entered with verify_email_code. whoami is the call to make first: which project the key is in, whether the address is confirmed, which domains are verified, and what to send from.
Sendingsend_email · get_email · get_limitsOne transactional email at a time, with scheduling. get_email says what became of it — a send is accepted, not delivered. Limits before bulk work.
Sending domainslist_domains · add_domain · check_domain · enable_branded_tracking · disable_branded_trackingAdd the domain the customer's mail should come from, publish the DNS records it returns, and poll until verified. Branded link tracking is a second, optional step — until it's on, links read as Email Bump's shared tracking domain.
Audiencelist_contacts · create_contact · get_contact · update_contact · subscribe_contact · unsubscribe_contact · create_list · add_contact_to_list · remove_contact_from_listContacts, lists and consent. Subscribe carries an explicit fresh-consent warning.
Eventstrack_eventBehavioral events that drive segments and automation flows.
Campaignslist_campaigns · create_campaign · get_campaign · update_campaign · send_campaign · delete_campaign · get_ab_resultsDraft and A/B test freely; send_campaign is confirm-gated with a review round-trip.
Signup formslist_form_presets · create_signup_form · list_signup_forms · get_signup_form · update_signup_form · publish_signup_form · get_form_embed_code · list_form_submissions · update_form_theme · copy_form_themeAsk for a signup form and get one. Eight ready-made shapes to start from — newsletter, popup, two-step, sticky bar and more — then the agent publishes it and writes the one-line snippet straight into your template. Forms start as drafts, so nothing is live until publish_signup_form is called.
Flowslist_flows · get_flow · create_flow · update_flow · delete_flow · test_flow · activate_flow · pause_flow · enroll_in_flow · list_flow_enrollmentsAutomated journeys — triggers, waits, and branches. test_flow mails a draft's sends to one address before anything is live; pause is the safe stop.
Inboundlist_inbound · get_inbound_message · reply_to_inbound_message · get_inbound_address · forward_inbound_message · list_forward_rules · create_forward_rule · delete_forward_ruleEmail people sent you. Message contents are flagged as untrusted input; forwarding is confirm-gated. Rules auto-forward what arrives — without a match address that means everything, so it asks first.
Account structurelist_workspaces · create_workspace · list_projects · create_project · get_project · update_project · delete_project · create_project_keyWorkspaces and the projects inside them, plus per-project keys. update_project is where the postal address in the compliance footer gets set. delete_project is name-confirmed and permanent.
Referencelist_lists · list_segments · list_templatesRead-only lookups the assistant needs to target and compose correctly.
Questions

MCP, answered.

What is MCP?

The Model Context Protocol is an open standard that lets AI assistants call tools you run. Claude Desktop, Claude Code, Cursor, and a growing list of clients speak it. The Email Bump MCP server turns your account into 74 tools those assistants can use — with your permission, under your key.

What do I need before connecting?

The emailbump binary (one-line installer on this page) and an authorized credential. The easy path is emailbump login: your browser opens, you click Authorize, and you choose the key's scope — one project, or all access — no key copying. CI or pinned setups can set EMAILBUMP_API_KEY in the server config instead. Either way the credential stays on your machine and is never sent to the AI provider.

Can the assistant send a campaign on its own?

No. send_campaign requires confirm=true, and calling it without that returns the campaign — audience, subject, from address — with instructions to show it to you and get explicit approval first. Drafting, listing, and analytics tools are unrestricted because they are harmless.

Which clients are supported?

Anything that speaks MCP over stdio: Claude Desktop, Claude Code, Cursor, Windsurf, Zed, and others. The configs on this page cover the common three; the pattern is identical elsewhere — run `emailbump mcp` with the key in the environment.

Is there a hosted (remote) MCP server?

Not yet — today the server runs locally inside the CLI binary, which keeps your API key on your machine. A hosted endpoint with OAuth is on the roadmap for web-based clients.

What can't it do?

There are deliberately no delete tools on the MCP surface, no bulk import, and no way to bypass the send confirmation. For those, use the dashboard or the CLI where the same actions are gated behind --yes.