Email, in your
AI's toolbox.
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$ 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$ curl -fsSL https://raw.githubusercontent.com/danest/emailbump-cli/main/install.sh | sh{
"mcpServers": {
"emailbump": {
"command": "emailbump",
"args": ["mcp"]
}
}
}- Works with
- Claude Desktop
- Claude Code
- Cursor
- Windsurf
- Zed
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.
74 tools, eleven groups.
Every tool returns the REST API's JSON verbatim, so what the assistant sees is exactly what the API said.
| Group | Tools | Notes |
|---|---|---|
| Getting set up | create_account · verify_email_code · whoami · start_authorization · finish_authorization | create_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. |
| Sending | send_email · get_email · get_limits | One 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 domains | list_domains · add_domain · check_domain · enable_branded_tracking · disable_branded_tracking | Add 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. |
| Audience | list_contacts · create_contact · get_contact · update_contact · subscribe_contact · unsubscribe_contact · create_list · add_contact_to_list · remove_contact_from_list | Contacts, lists and consent. Subscribe carries an explicit fresh-consent warning. |
| Events | track_event | Behavioral events that drive segments and automation flows. |
| Campaigns | list_campaigns · create_campaign · get_campaign · update_campaign · send_campaign · delete_campaign · get_ab_results | Draft and A/B test freely; send_campaign is confirm-gated with a review round-trip. |
| Signup forms | list_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_theme | Ask 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. |
| Flows | list_flows · get_flow · create_flow · update_flow · delete_flow · test_flow · activate_flow · pause_flow · enroll_in_flow · list_flow_enrollments | Automated journeys — triggers, waits, and branches. test_flow mails a draft's sends to one address before anything is live; pause is the safe stop. |
| Inbound | list_inbound · get_inbound_message · reply_to_inbound_message · get_inbound_address · forward_inbound_message · list_forward_rules · create_forward_rule · delete_forward_rule | Email 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 structure | list_workspaces · create_workspace · list_projects · create_project · get_project · update_project · delete_project · create_project_key | Workspaces 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. |
| Reference | list_lists · list_segments · list_templates | Read-only lookups the assistant needs to target and compose correctly. |
Three doors into one platform.
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.