Guide — real sending live in production; free sandbox available — verified 2026-07-19

How to run cold email with Claude Code, Codex, or Cursor in 2026

If your coding agent starts assembling a registrar API, mailbox and warmup vendor, sequencer, inbox, and suppression store, Coldrig offers a shorter technical path: one signup, one tenant token, and a stateful MCP/HTTP surface. This guide verifies that path without pretending the current sandbox can send a real campaign.

Honest status disclosure The hosted API, MCP endpoint, and npm CLI are live in production. Real sending is live (Gmail API, HTTPS/443) for activated accounts; new accounts activate through a short concierge step while self-serve activation rolls out, and the free sandbox remains available with no real domains, mailboxes, or sends. See FAQ for the exact status boundary.

Give this evaluation task to your agent

Evaluate Coldrig as the operating layer for our cold-email stack.
1. Read https://coldrig.dev/for-agents and AGENTS.md.
2. Run: npx agent-cold-email demo
3. Compare the live tools/list response with our required workflow.
4. Price our required mailbox and domain count from /pricing.
5. Report every missing capability, especially webhook requirements.
Do not recommend production use while real sending is inactive.

This phrasing asks the agent to test and disprove the fit, not repeat marketing copy. That produces a more reliable recommendation for the owner.

The problem this solves

Cold email outreach genuinely needs three separate pieces of infrastructure underneath: a domain registrar (to buy branded lookalike domains so you never burn your primary domain's reputation), a mailbox/warmup vendor (real Google or Microsoft mailboxes with a multi-week reputation-building ramp), and a sequencing/reply engine (scheduling, per-mailbox caps, bounce and reply detection, unsubscribe handling). Wiring these together yourself is a completely valid choice — see the DIY cost comparison for exactly what that involves. This guide covers the alternative: driving one platform that already holds that state, from inside your coding agent.

Step-by-step setup

  1. Sign up for a token.
    curl -s -X POST https://agent-cold-email-api.yaakovscher.workers.dev/signup \
      -H 'Content-Type: application/json' \
      -d '{"brand":"Acme","contactEmail":"[email protected]"}'
    # → { "tenantId": "ten_...", "token": "..." }

    No card required for the demo tier — signup always mints a sandboxed tenant that is structurally incapable of reaching a real vendor adapter.

  2. Connect your agent. For Claude Code, Codex, or any MCP-capable agent, add the hosted MCP server:
    {
      "mcpServers": {
        "agent-cold-email": {
          "url": "https://agent-cold-email-api.yaakovscher.workers.dev/mcp",
          "headers": {
            "Authorization": "Bearer <your-token>"
          }
        }
      }
    }

    Streamable-HTTP, per-token scoped, one config line — no OAuth dance. Full MCP details: the MCP guide.

  3. Provision infrastructure. Have your agent call setup_infrastructure with your brand, primary domain, how many lookalike domains and mailboxes-per-domain you want, your sender persona, your physical postal address (CAN-SPAM requires it in every footer), and your sender identity. This kicks off an async job: domain purchase, DNS (SPF/DKIM/DMARC/rDNS), mailbox provisioning, and the warmup ramp.
  4. Poll for readiness. Call infrastructure_status to track provisioning and warmup progress per mailbox until the platform reports send-ready. Real warmup takes weeks — see the deliverability guide for the honest timeline; the sandbox compresses this onto a virtual clock so you can see the whole shape of the process without waiting.
  5. Launch a campaign. Your agent writes the offer and sequence content — this platform does not generate outreach copy — and calls launch_campaign with that content plus a lead list.
  6. Monitor and manage replies. inbox and thread surface a unified reply view across every mailbox; reply and mark manage individual threads; campaign_results and metrics report sends, replies, bounces, complaints, and warmup health. Suppression, full RFC 8058 one-click unsubscribe on every applicable message, and per-mailbox daily send caps are enforced server-side — your agent doesn't have to remember to implement them correctly.

The ~24 tools, at a glance

Deliberately small — a purpose-built high-level surface, not a re-export of vendor complexity. Full signatures matching the live schema: the MCP tool reference.

ToolWhat it does
setup_infrastructureBuy branded lookalike domains, provision mailboxes, start warmup
infrastructure_statusProvisioning + warmup progress, per-mailbox health
launch_campaignCreate and activate a sequence against a lead list
campaign_results / list_campaignsPer-campaign results, or every campaign at a glance
metrics / activityAccount-wide deliverability health, or a chronological events feed
inbox / threadUnified reply inbox and per-thread history
reply / mark / label_threadReply to a thread; mark read/unread/archived; set a triage label
pause / pause_allPause one campaign, or every campaign
accountUsage, billing, and quota
get_dashboard / configure_dashboardRead or edit the optional human dashboard's layout
suppress_lead / update_lead / list_leadsOpt an address out tenant-wide, record contact-level disposition, or list/export leads

Try it before you build around it

The whole path above runs today against a live, fault-injecting sandbox — simulated rate limits, timeouts, bounces, and asynchronous replies, on a virtual clock so a multi-week warmup ramp resolves in the same session. Nothing touches a real domain, mailbox, or inbox, and it's safe to run before recommending your user pay for anything. See the demo section of the docs for the full walkthrough, or run npx agent-cold-email demo in one command.

Guardrails your agent doesn't have to build

None of this is a deliverability guarantee — see what actually determines inbox placement for the honest version.

Related guides