Skip to content

Email infrastructure designed for how AI agents work

Your agent just got a 30-year head start

A transactional email API built on 30 years of Constant Contact infrastructure, the same pipeline trusted by over 460,000 businesses.

From complex to conversational

The same task, framed the same way as the source prototype: before MCP and with MCP.

The Old Way
Complex
// Initialize client
const client = new EmailClient({
  apiKey: process.env.CTCT_API_KEY,
  apiSecret: process.env.CTCT_SECRET
});

// Authenticate
await client.authenticate();

// Get contact lists
const lists = await client.getContactLists();
const enterpriseList = lists.find(
  (list) => list.name === "Enterprise Leads"
);

// Create template
const template = await client.createTemplate({
  name: "Welcome Email",
  subject: "Welcome to our platform",
  body: generateEmailHTML()
});

// Send emails
for (const contact of enterpriseList.contacts) {
  try {
    await client.sendEmail({
      to: contact.email,
      templateId: template.id,
      variables: {
        firstName: contact.firstName,
        company: contact.company
      }
    });
    await sleep(100); // Rate limiting
  } catch (error) {
    console.error(`Failed for ${contact.email}`);
  }
}

~45 lines of boilerplate, manual error handling, rate limiting concerns

With CTCT MCP
Conversational
// In your AI chat (Cursor, Claude Desktop, etc.)

"Draft an introductory email for
our new enterprise leads."

-> Draft created
-> Preview ready
-> Audience estimated: 1,247 contacts
-> Policy check passed

Confirm: Send now with execution_class=production?
[Yes] [Preview first] [Schedule instead]

// Safe by default. Explicit to send.
// The MCP handles:
// - Draft generation
// - Preview with safety checks
// - Audience estimation
// - Production requires confirmation
// - Clear fallback paths

Natural language drafts. Explicit production sends. Enterprise safety.

From signup to send in under 60 seconds

1

Get your API key

Send your first email in seconds.

2

Verify your domain

Add a DNS record. We handle the rest.

3

Reach your audience

One API call. Your email is in the inbox.

Backed by 30 years of email infrastructure

The same delivery pipeline trusted by 460,000+ businesses at scale, now accessible through a clean transactional API.

98%Inbox placement focus
460k+Businesses served
30Years in email
SOC 2Type II certified

Built for developers and agents

Everything you need to ship transactional email, without building deliverability infrastructure from scratch.

server

Drop in the MCP server

Add it to Claude, ChatGPT, or any MCP-compatible client. Your agent gets send, schedule, suppress, and report as native tools.

MCP serverAgent skillsClaude / GPT
lock

Inbox placement, not just sent

Constant Contact deliverability, compliance, and sender reputation posture exposed through a clean developer API.

DeliverabilityReputationCompliance
settings

Idempotent and safe by default

Retries stay controlled with idempotency keys, signed webhooks, and explicit production-send confirmations.

IdempotencySigned webhooksSafe retries
lightbulb

Full delivery tracking

Bounces, complaints, opens, and clicks are streamed and queryable so builders can trace a message end to end.

WebhooksReportingOpen and click events

Works with your AI stack

via MCP or REST

Claude Code

Cursor

Codex

OpenAI

Gemini

Ready to ship?

Start with 3,000 free emails. No credit card required.

cURL
curl -X POST https://api.ctct.dev/v1/emails \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "you@yourdomain.com",
    "to": "user@example.com",
    "subject": "Welcome",
    "html": "<p>Thanks for signing up.</p>"
  }'

Join the community

Get early tips, connect with other developers, and be the first to hear what's shipping.