Sendsets: the cold email API for AI agents

MCP serverCommunication

Cold email API for AI agents: connect mailboxes, warm up, run campaigns and handle replies.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use Sendsets: the cold email API for AI agents

Install Sendsets: the cold email API for AI agents

The server’s own address, for the clients that take one directly. Or connect ahel onceand every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user sendsets-the-cold-email-api-for 'https://api.sendsetsapi.com/v1/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://api.sendsetsapi.com/v1/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=sendsets-the-cold-email-api-for&config=eyJ1cmwiOiJodHRwczovL2FwaS5zZW5kc2V0c2FwaS5jb20vdjEvbWNwIn0=

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://api.sendsetsapi.com/v1/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add sendsets-the-cold-email-api-for --url 'https://api.sendsetsapi.com/v1/mcp'

    Run it once, then sign in with codex mcp login sendsets-the-cold-email-api-for if the server asks for an account.

From the project's README

As published by AddisonHoff/sendsets in README.md.

Sendsets gives AI agents a programmable way to run cold email. An agent (Claude Code, Codex, Cursor, Gemini CLI, ChatGPT, or your own code) can connect sending mailboxes, warm them up, build and launch outbound campaigns, add leads, and read and answer replies through an MCP server, a CLI, or a REST API instead of a sales dashboard.

This repository is the public, agent-facing home of Sendsets:

WhatWhere
Remote MCP serverhttps://api.sendsetsapi.com/v1/mcp (streamable HTTP, OAuth 2.1 or API key)
Agent skills (SKILL.md)skills/sendsets, skills/sendsets-cli
Claude Code plugin marketplace.claude-plugin/marketplace.json
Gemini CLI extensiongemini-extension.json
MCP Registry manifestserver.json (io.github.AddisonHoff/sendsets)
OpenAPI 3.1 specopenapi.json
Docsdocs.sendsetsapi.com

Sign up at app.sendsetsapi.com. Free for up to 10 mailboxes.

What an agent can do with it

The MCP server and the REST API expose the same service-layer tools. What a credential can see is limited by the scopes it was granted.

  • Campaigns: create a draft, add and edit sequence steps, pick sender mailboxes, view leads, logs and stats, start and stop
  • Leads and contacts: add, search, tag, bulk edit, read timelines and sent mail, manage segments
  • Mailboxes: list and inspect connected mailboxes, adjust limits, toggle warmup, set tracking domains, check warmup standing
  • Inbox and replies: list and read threads, draft and send replies, label, snooze, cancel scheduled sends
  • Runs: durable, idempotent, preflighted campaign runs (create_run, get_run, list_runs, cancel_run)
  • Suppressions, analytics, webhooks: manage the do-not-contact list, read dashboard analytics, manage signed webhooks

Send-class tools (start_campaign, compose_email, send_reply, and an autonomous create_run) go through a credential-bound policy. A call returns executed, awaiting_approval (a person approves it in the dashboard within 30 minutes), or blocked. Approval can never override a missing opt-out, a suppression, or a mailbox health check.

Connect the MCP server

The server advertises OAuth 2.1 protected-resource metadata (RFC 9728) and supports dynamic client registration, so MCP clients that speak OAuth sign you in through the browser with no key to paste. A static ssk_ API key from the dashboard works too, as Authorization: Bearer ssk_....

Claude Code

claude mcp add --transport http sendsets https://api.sendsetsapi.com/v1/mcp

Or install the plugin, which adds the MCP server and the skills together:

/plugin marketplace add AddisonHoff/sendsets
/plugin install sendsets@sendsets

Claude (claude.ai and Claude Desktop): Settings > Connectors > Add custom connector, URL https://api.sendsetsapi.com/v1/mcp.

Codex

codex mcp add sendsets --url https://api.sendsetsapi.com/v1/mcp
codex mcp login sendsets

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "sendsets": { "url": "https://api.sendsetsapi.com/v1/mcp" }
  }
}

VS Code (.vscode/mcp.json)

{
  "servers": {
    "sendsets": { "type": "http", "url": "https://api.sendsetsapi.com/v1/mcp" }
  }
}

Gemini CLI

gemini extensions install https://github.com/AddisonHoff/sendsets

Any client with a static key

{
  "mcpServers": {
    "sendsets": {
      "type": "http",
      "url": "https://api.sendsetsapi.com/v1/mcp",
      "headers": { "Authorization": "Bearer ssk_..." }
    }
  }
}

Install the skills

The sendsets skill teaches an agent to read your product, propose five outbound workflows that use the product itself, then build and run the one you pick. The sendsets-cli skill is the full reference for driving Sendsets from a terminal.

npx skills add AddisonHoff/sendsets

Or copy skills/sendsets into ~/.claude/skills/ (Claude Code) or ~/.codex/skills/ (Codex). The same files are served at https://sendsetsapi.com/skills/sendsets/SKILL.md, and https://sendsetsapi.com/claude.md is a one-link starting point for any coding agent.

CLI

curl -fsSL https://sendsetsapi.com/cli.sh | sh        # macOS and Linux, checksum verified
sendsets login
sendsets doctor --json

Windows: irm https://sendsetsapi.com/cli.ps1 | iex. The CLI signs in as a person and speaks only the public REST API; every command takes --json.

REST API

Base URL https://api.sendsetsapi.com/v1. Errors carry a stable code and request_id, lists use data plus cursor pagination, and side-effectful writes accept an Idempotency-Key. Spec: openapi.json. Reference: docs.sendsetsapi.com/api.

Safety defaults

Sendsets is conservative by default: 50 campaign emails per mailbox per day, 600 seconds between sends from one mailbox, gradual warmup, automatic suppression on bounces, complaints and unsubscribes, and a stop on reply. A test send and a live launch are separate decisions, and an agent should not launch a campaign unless the user asked it to send.

License

The skills and manifests in this repository are licensed under Apache-2.0.

Advanced
Delivery
sendsets MCP server → your ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-addisonhoff-sendsets
Source
github.com/AddisonHoff/sendsets
Hosted endpoint
https://api.sendsetsapi.com/v1/mcp