Email tools

How to Connect Claude Code to Cold Email

Connect Claude Code to cold email: add the hosted Outreach2day MCP server with claude mcp add and sign in from /mcp, or call the REST API from the terminal.

Max Korolev
Max KorolevFounder & CEO, Outreach2dayUpdated 6 min read
On this page

Connect Claude Code to Outreach2day

Claude Code command
claude mcp add --transport http --scope user outreach2day https://public.outreach2day.com/mcp

Copies the command that adds Outreach2day for every project

Setup guide
  1. Run the copied command in your terminal
  2. In Claude Code, open /mcp → outreach2day → Authenticate
  3. Sign in with your Outreach2day account
Use an install script
curl -fsSL https://outreach2day.com/install | sh -s -- --client claude

Adds the server to Claude Code, after a backup of each config. Each client asks you to sign in to Outreach2day on first use. View the script

Short answer: Claude Code reaches your cold email setup in three ways. The simplest is the hosted Outreach2day MCP server at https://public.outreach2day.com/mcp: claude mcp add --transport http -s user outreach2day https://public.outreach2day.com/mcp adds it, and Claude Code signs in to Outreach2day with OAuth from /mcp; no API key needed. Claude Code can also call the Outreach2day REST API with curl from your terminal, or use a local MCP server over the same API, added with claude mcp add. Claude Code has run remote MCP servers since 18 June 2025, with OAuth or a fixed header.

Checked September 2026 against Claude Code's MCP documentation and Anthropic's remote MCP announcement.

Connection Methods

Method

Works with Outreach2day today

Best for

Setup

Hosted Outreach2day MCP server (--transport http, OAuth sign-in)

Yes

Domains, quotes, mailboxes, warmup, campaigns and replies as tools, no local process

claude mcp add with the URL, then sign in from /mcp

curl through the Bash tool

Yes

One-off checks, scripts, anything in the API

Key in $OUTREACH2DAY_API_KEY

Local MCP server (--transport stdio)

Yes, you run it

Tools you write over the API

Python script + one command

Claude Code asks before it runs a shell command or calls an MCP tool, unless you allow that command or tool for good. That approval step is what makes it a reasonable place to manage infrastructure that costs money.

What Claude Code Can Do With Your Cold Email Setup

  • Size the setup. From a lead count and a daily target, work out mailboxes and domains: at 25 cold emails per mailbox a day and 5 mailboxes per domain, one domain carries about 125 cold emails a day.

  • Check domains. POST /check_domains returns free, taken or not_allowed for up to 50 names per call. Buying domains through the API is paid right away — give an agent a billing-scoped key only if you want it to buy.

  • Read mailboxes. GET /mailboxes lists address, status and domain. The response includes SMTP/IMAP credentials — if you use an API key, store it like a password.

  • Run warmup. GET /warmup/mailboxes shows warmupState per mailbox; POST /warmup/operations enables or pauses warmup with an idempotencyKey, so a retry does not start a second operation.

  • Read replies. GET /threads lists reply threads with a replyIntent label; see triage cold email replies with AI.

  • Prepare campaigns. Draft and lint the sequence in files. The campaign API is not enabled for every workspace; if you send from Instantly or Smartlead, the export endpoints add your mailboxes there.

Connect Claude Code to Outreach2day, step by step

  1. Add the server. Run claude mcp add --transport http -s user outreach2day https://public.outreach2day.com/mcp; user scope makes it available in every project. The installer runs the same command: curl -fsSL https://outreach2day.com/install | sh -s -- --client claude-code

  2. Sign in from Claude Code. Run /mcp, pick outreach2day and choose Authenticate, or run claude mcp login outreach2day; Claude Code opens the Outreach2day sign-in page and keeps the token

  3. Check the tools. /mcp shows outreach2day as connected, with its tools

  4. Ask a read-only question. "List my workspaces and the number of mailboxes in each"; approve the tool call and compare the answer with the app

  5. No browser? Use an API key. For CI or a machine without a browser, run the installer with --use-key: it asks for the key once and the client config reads it from $OUTREACH2DAY_API_KEY

Without MCP, Claude Code can call the REST API with curl. Create a key on the API keys page and export it as OUTREACH2DAY_API_KEY in your shell or a git-ignored .env; Claude Code inherits your environment, so the key never appears in the chat. Add a short note to CLAUDE.md: base URL https://public.outreach2day.com, header Authorization: Bearer $OUTREACH2DAY_API_KEY, reference at dev.outreach2day.com, "never print the key".

You can also run your own local MCP server over the API: build the read-only server from our cold email MCP server guide and register it with the command below.

claude mcp add outreach2day-local \
  -e OUTREACH2DAY_API_KEY="$OUTREACH2DAY_API_KEY" \
  -e O2D_WORKSPACE_ID="$O2D_WORKSPACE_ID" \
  -- /path/to/.venv/bin/python /path/to/o2d_mcp.py

The default scope is local: the server is added for you, in this project only. --scope user adds it to every project; --scope project writes it to .mcp.json in the repo, which you should only commit without secrets.

Add the Server by URL

Add the server and sign in:

claude mcp add --transport http -s user outreach2day \
  https://public.outreach2day.com/mcp
claude mcp login outreach2day   # or /mcp inside a session

The installer runs the same command, on Windows too:

curl -fsSL https://outreach2day.com/install | sh -s -- --client claude-code

On Windows, in PowerShell: $env:O2D_CLIENT="claude-code"; irm https://outreach2day.com/install.ps1 | iex. The installer asks for no API key. It runs claude mcp add with the server URL only, user scope, so every project sees the server. Then run /mcp in Claude Code, pick outreach2day and choose Authenticate: Claude Code opens the Outreach2day sign-in page and keeps the token. For CI or a machine without a browser, run the installer with --use-key: it asks for the key once and the client config reads it from $OUTREACH2DAY_API_KEY.

Setup for other clients is on the MCP page.

Prompts to Try in Claude Code

  • "We need to reach 6,000 leads in 4 weeks, 5 sending days a week. How many mailboxes and domains, at 25 cold emails per mailbox per day and 5 mailboxes per domain?"

  • "Check these 20 domain ideas and write the free ones to domains/free.txt. Do not buy."

  • "Show mailboxes whose warmup started less than 14 days ago, grouped by domain."

  • "Read copy/sequence.md and flag any link, any step without spintax in the subject, and any gap that is not 2, 3, 5 or 5 days."

Fifteen more, grouped by task, are in Claude Code prompts for cold email.

Free guide19 min read

Send 100,000 cold emails a month

Domains and mailboxes you need, DNS, warmup, lists, copy and follow-ups, with a launch checklist, sent to your inbox.

Unsubscribe in one click.

Limits and Safety

  • Allow reads only. It is fine to allow read-only tools and curl GETs for good; keep POST calls, and especially purchases, on "ask every time"

  • One key per tool. If you use a key (CI, curl), create one only for Claude Code and revoke it on the API keys page without touching other integrations

  • API limits and key safety: cold email API.

FAQ

Does Claude Code need an API key for the Outreach2day MCP server?

No. Claude Code signs in with OAuth: add the server by URL, then authorise it from /mcp inside a session or with claude mcp login outreach2day. For machines without a browser, put an API key in OUTREACH2DAY_API_KEY and add a header that references it: claude mcp add --transport http -s user outreach2day https://public.outreach2day.com/mcp --header 'Authorization: Bearer ${OUTREACH2DAY_API_KEY}'. The single quotes keep the key out of the config: Claude Code expands the variable when it connects.

Do I need the MCP server, or is the API enough?

The API is enough. Claude Code can call any endpoint with curl. An MCP server gives it named tools with descriptions, which makes repeated questions shorter and lets you strip fields such as passwords in code.

Can Claude Code buy domains or mailboxes?

With the hosted server, Claude Code quotes domains and mailboxes and gives you a Stripe checkout link; you pay on the Stripe page. Over the REST API it can call POST /domains/purchase, which is paid right away.

Is a Claude Code skill the same as an MCP server?

No. A skill is instructions, for example your cold email copy rules. An MCP server gives Claude Code tools that read live data. You can use both: a skill for the rules, the API or a server for domains, mailboxes and warmup.

Does this also work in Claude Desktop?

Yes. In Claude Desktop, add https://public.outreach2day.com/mcp as a custom connector (Customize, Connectors, Add custom connector) and sign in with your Outreach2day account; see how to connect Claude to cold email.

Create an account, add the server in Claude Code and sign in from /mcp; for CI, create a key on the API keys page.

Free guide

Send 100,000 cold emails a month

How to send 100,000 cold emails a month while keeping quality, engagement and conversion rates high: domains, mailboxes, warmup, leads, copy and scaling

Step-by-step playbook · 19 min read
  • Email tools6 min read

    How to Connect Cursor to Cold Email

  • Email tools6 min read

    How to Connect Claude to Cold Email

  • Email tools5 min read

    How to Connect Mistral Le Chat to Cold Email

  • Agent skill

    Warmup metrics reader

Deliverability call

Talk to our deliverability team

Book a call with the people who run our mailbox infrastructure. We look at your current setup and tell you what to change.

  • Review your domains, DNS records and current inbox placement
  • Size the setup: domains, mailboxes per domain and daily volume per mailbox
  • Plan warmup and the move from your current provider or sequencer

Free call

See open times in your time zone and book on this page.

Or open the booking page