MCP for cold email campaigns
Build, launch and track cold email campaigns from your AI assistant
Your assistant writes the sequence into a draft, checks the copy for spam words, imports your contacts and runs a preflight. It launches after you agree, then reports sent, replies and bounces, and pauses when you ask.
https://public.outreach2day.com/mcpOpens Claude with your server URL filled in. Sign in to Outreach2day to finish.
Setup guide
- Click Add, then Connect
- Sign in with your Outreach2day account
- Enable Outreach2day in your conversation
- Orders paid through Stripe after you approve them
- $2.50 per mailbox a month
Create a 3-step campaign for agency owners from this brief, import leads.csv and tell me what blocks the launch.
called outreach2day tools
Draft "Q4 agencies": 3 steps, 2 and 4 days apart. No spam words left.
840 contacts imported; first_name and company became variables.
Preflight: 4 mailboxes are on day 11 of warm-up. 8 ready ones can launch now.
Can an AI assistant launch a cold email campaign over MCP?
Yes. With the Outreach2day MCP server the assistant creates a draft campaign, adds the steps, imports contacts from CSV, attaches warmed mailboxes and runs a preflight check. launch_campaign is refused until the preflight is green and needs your explicit yes. Then the assistant reads stats and replies and can pause the campaign.
Tools
What the agent can do
The tools the assistant calls for this job. Prepare orders is a switch on the sign-in page; Your yes means the tool runs only after you agree in the chat.
Build
create_campaignCreate a campaign as a draft; nothing is sent until launchupsert_campaign_stepAdd or edit a sequence step: subject, body, days until the next stepcheck_copySpam trigger words in a subject and bodyimport_campaign_contactsImport contacts from CSV text, up to 10,000 rows; extra columns become variablesattach_campaign_mailboxesAttach mailboxes whose warm-up started 14 or more days ago
Launch
preflight_campaignChecks sequence, contacts, mailboxes and their warm-up; lists what blocks the launchlaunch_campaignYour yesStart sending after a green preflightpause_campaignStop a campaign from sending; safe to repeat
Results
get_campaign_statsSent, replies and bounces for a campaign: today, yesterday, 7 days, 4 weeks or all timelist_repliesThreads where a contact replied: subject, sender, snippet, reply intent, campaign
Send from Instantly or Smartlead instead
list_sequencersYour connected Instantly and Smartlead accountsexport_mailboxes_to_sequencerYour yesSend mailbox SMTP/IMAP logins to your Instantly or Smartlead account
Step by step
From a brief to a running campaign
What you ask, the tools the assistant calls, and what it answers, step by step.
- 1
Create the draft
You: New campaign for agency owners, 3 steps, 2 and 4 days apart.
called create_campaign, upsert_campaign_step
Agent: Draft "Q4 agencies" created with 3 steps. Nothing is sent until launch.
- 2
Check the copy
called check_copy, upsert_campaign_step
Agent: Step 1 is clean. Step 2 matched "free" and "guarantee". I rewrote that line and saved the step again.
- 3
Import contacts
You: Import leads.csv.
called import_campaign_contacts
Agent: Import running. Done: 840 contacts; first_name and company are now variables.
- 4
Attach mailboxes and preflight
called attach_campaign_mailboxes, preflight_campaign
Agent: 8 ready mailboxes attached. Preflight is green. Launch to 840 contacts?
- 5
Launch
You: Yes, launch.
called launch_campaign
Agent: Launched on 8 mailboxes.
- 6
Read results and act
You: Any problems after a week?
called get_campaign_stats, list_replies
Agent: Last 7 days: 880 sent, 14 replies, 1.1% bounces. 3 replies ask for a call; 2 say not now. Want me to pause anything?
Prompts
Things to ask, by assistant
The same server and tools in every assistant. Each card links the setup for that assistant.
Draft a 4-step sequence for agency owners, check it for spam words, and keep it as a draft.
Set up ClaudeRun preflight on Q4 agencies and tell me exactly what blocks the launch.
Set up ChatGPTImport contacts.csv into Q4 agencies; use the company column as a variable in step 1.
Set up CursorPause every campaign where bounces passed 3% in the last 7 days.
Set up CodexList replies from the last 24 hours with their intent and the step they answered.
Set up GrokExport my ready mailboxes to our Smartlead account.
Set up VS Code
What the agent cannot do
- Send or draft replies in a thread: list_replies reads them, you answer from the Outreach2day inbox
- Find or enrich leads: contacts come from CSV text, up to 10,000 rows per import
- Rewrite copy on its own: check_copy flags spam trigger words, the model does the writing
- Launch without a green preflight, warmed mailboxes and your yes
- Set A/B variants or sending schedules; the tools cover steps, contacts and mailboxes
- Export to sequencers other than Instantly and Smartlead
- Delete or cancel domains, mailboxes, campaigns or your plan
Pricing
- $2.50 per mailbox a month; warm-up and sending included
- 12 mailboxes minimum
- Domains billed yearly: .com $13, .info $5
- The MCP server comes with the account
- Connecting domains you already own is free
Book a call
Book a 30-minute call
Talk to the team that runs the MCP server. We check your setup for your AI client and your first order.
- Free 30-minute call
- Size domains and mailboxes for your volume
- Walk through a quote and the Stripe checkout
- Check your your AI client setup
See open times in your time zone and book on this page.
Or open the booking pageLoading available times…
Open the booking page insteadQuestions
Or talk to the teamWhat does preflight_campaign check?
That the campaign has a sequence, contacts and attached mailboxes, and that every attached mailbox has finished 14 days of warm-up. It returns each blocking check with a hint, and launch_campaign is refused until it is green.
Can the assistant answer replies?
No. list_replies returns each reply's subject, sender, a short snippet, the reply intent and the campaign, so the assistant can sort and summarize them. You answer from the Outreach2day inbox.
Which stats does the assistant see?
Sent, replies and bounces per campaign, for today, yesterday, the last 7 days, the last 4 weeks or all time. Ask for a threshold, for example bounces above 3%, and it pauses the campaign.
Can I keep running sequences in Instantly or Smartlead?
Yes. The assistant lists your connected Instantly or Smartlead accounts and exports the warmed mailboxes there after you confirm; the export sends their SMTP/IMAP logins to that account. Sequences then run in the sequencer.
Does check_copy write cold email copy?
No. It checks a subject and body against a list of spam trigger words and returns the matches. The assistant writes and edits the copy; our free agent skills cover writing and review.
Other jobs for the same server
Each page lists the tools for the job, an example session, prompts per assistant and the limits.
Other cold email MCP servers, compared
Each vendor's official MCP server next to ours, from the vendor's own docs.
- Instantly MCPInstantly's full V2 API as tools, next to our infrastructure server; export between them
- Smartlead MCPSmartlead's campaign and diagnostics server, next to our infrastructure server; export between them
- lemlist MCPlemlist's prospecting, campaign and inbox server, next to our infrastructure server
- Apollo MCPApollo's prospecting and sequences server, next to our infrastructure server
Setup
Connect your AI client
Add https://public.outreach2day.com/mcp to your AI client and sign in with your Outreach2day account when it asks. Then ask: "Check my Outreach2day account status". An API key is only for CI and headless setups.
Setup steps
claude.ai, Claude Desktop and mobile
- In claude.ai or Claude Desktop, open Customize, Connectors, click + and choose Add custom connector
- Paste the server URL, https://public.outreach2day.com/mcp, and click Connect
- The first time the client connects, it opens an Outreach2day sign-in page in your browser. Sign in, turn on Prepare orders so the assistant can quote orders and create Stripe checkout links, and allow access
- The connector then works in claude.ai, Claude Desktop and the mobile apps. Remote servers go in as connectors; claude_desktop_config.json is for local servers
ChatGPT (developer mode)
- Settings, Security and login: turn on Developer mode
- Go to chatgpt.com/plugins, click +, name the app Outreach2day, enter the server URL under Connection and create it
- In a new chat, add Outreach2day from the tools menu. ChatGPT opens the Outreach2day sign-in page on the first tool call; sign in and allow access
Claude Code
- Add the server with the command below (user scope: every project)
- In Claude Code, run /mcp, pick outreach2day and choose Authenticate. Or run claude mcp login outreach2day
- The first time the client connects, it opens an Outreach2day sign-in page in your browser. Sign in, turn on Prepare orders so the assistant can quote orders and create Stripe checkout links, and allow access
- No browser (CI, a headless box)? Use an API key instead: put it in $OUTREACH2DAY_API_KEY and add --header 'Authorization: Bearer ${OUTREACH2DAY_API_KEY}' to the command (single quotes: Claude Code reads the variable when it connects)
claude mcp add --transport http --scope user outreach2day https://public.outreach2day.com/mcp# then, in Claude Code: /mcp, outreach2day, AuthenticateCodex CLI
- Add the server with codex mcp add, or put the block in ~/.codex/config.toml
- Run codex mcp login outreach2day
- The first time the client connects, it opens an Outreach2day sign-in page in your browser. Sign in, turn on Prepare orders so the assistant can quote orders and create Stripe checkout links, and allow access
- Run codex mcp list to check it
codex mcp add outreach2day --url https://public.outreach2day.com/mcpcodex mcp login outreach2day # or by hand, in ~/.codex/config.toml[mcp_servers.outreach2day]url = "https://public.outreach2day.com/mcp"Or set up every client on this computer with one command
curl -fsSL https://outreach2day.com/install | shirm https://outreach2day.com/install.ps1 | iexIt adds the server by URL to Claude Code, Cursor, VS Code, Windsurf, Gemini CLI and Codex, and prints the connector steps for Claude Desktop, after a backup of each config. Each client asks you to sign in to Outreach2day on first use. View the script
Campaigns from your AI assistant
Add the server URL, sign in to Outreach2day and ask. You approve every order and every launch.