send16-mcp
The email API your AI agent can actually use. A Model Context Protocol server for Send16 that gives Claude, Cursor, and any MCP client 79 tools to send transactional & marketing email, manage contacts, audiences, segments, automations, templates, the inbox, suppressions, and webhooks — from natural language.
It ships a zero-DNS sandbox sender, so an agent can send its first real, delivered email in seconds with no domain setup.
npx send16-mcp
Quick start
You need a Send16 API key (sk_live_…) from your dashboard. Then pick your client:
Claude Desktop / Claude Code
claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"send16": {
"command": "npx",
"args": ["-y", "send16-mcp"],
"env": { "SEND16_API_KEY": "sk_live_..." }
}
}
}
Cursor
.cursor/mcp.json:
{
"mcpServers": {
"send16": {
"command": "npx",
"args": ["-y", "send16-mcp"],
"env": { "SEND16_API_KEY": "sk_live_..." }
}
}
}
Windsurf, VS Code, and any stdio-capable MCP client work the same way — run the send16-mcp binary with SEND16_API_KEY in the environment.
Hosted (no install)
For clients that only speak remote MCP (Claude web connectors, ChatGPT custom GPTs), point them at the hosted endpoint and authenticate with your key:
https://mcp.send16.com
One connection, your own sk_live_… key — no install, no config file.
First send in seconds — no DNS
Most email APIs make you verify a domain before you can send anything, which blocks an unattended agent on step one. Send16's sandbox sender doesn't:
- Ask the agent to call
whoami— it returns your workspace and yoursandbox_recipient(your account owner's email). - Send
from: "onboarding@send16.com"to that address. It delivers with zero DNS setup. - Verify a domain later to send to anyone.
"Send a test email from onboarding@send16.com to my account email with the subject 'It works'."
What it can do
79 tools across the platform, including:
- Email —
send_email(single/batch/scheduled/attachments), transactional templates, delivery status. - Marketing — campaigns, broadcasts, automations, segments, subscription topics.
- Contacts — create/search/list/import, audiences, tags, custom fields.
- Deliverability — domains, DNS health (SPF/DKIM/DMARC), IP warming & sending capacity.
- Inbox — read and manage transactional replies.
- Webhooks — create/list/rotate outgoing webhook endpoints (HMAC-SHA256 signed).
Every tool also accepts an optional apiKey parameter that overrides SEND16_API_KEY, so you can switch workspaces in one session.
Environment
| Variable | Required | Description |
|---|---|---|
SEND16_API_KEY | Yes | Your Send16 key (sk_live_…) |
SEND16_API_URL | No | API base URL (default: https://api.send16.com) |
SEND16_MCP_PORT | No | If set, serves Streamable HTTP (multi-tenant) instead of stdio |
Self-hosting the HTTP connector
Presence of SEND16_MCP_PORT flips the server into multi-tenant HTTP mode — each request carries its own Authorization: Bearer sk_live_…, threaded through the whole request, so one process serves many users:
docker build -t send16-mcp . && docker run -p 4242:4242 send16-mcp
Develop
npm install
SEND16_API_KEY=sk_live_... npm run dev # run from source
npm run build # bundle to dist/
Links
- Site & docs: https://send16.com · https://send16.com/docs
- npm: https://www.npmjs.com/package/send16-mcp
- Status: https://status.send16.com
License
MIT © Spruik Co