Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"send16": {
"env": {
"SEND16_API_KEY": "sk_live_..."
},
"args": [
"-y",
"send16-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
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.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'send16-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked send16-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in ai-ml / communication
Persistent memory using a knowledge graph
Dynamic problem-solving through sequential thought chains
An open-source AI agent that brings the power of Gemini directly into your terminal.
Lightweight core CLI surface for Claude Flow — memory + hooks commands only. Designed to load fast on cold npx cache (<5s) so plugin skills don't race the 30s MCP-startup timeout. The full @claude-flow/cli metapackage lazy-loads everything else on top of
MCP Security Weekly
Get CVE alerts and security updates for io.github.spruikco/send16-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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
You need a Send16 API key (sk_live_…) from your dashboard. Then pick your client:
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/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.
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.
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:
whoami — it returns your workspace and your sandbox_recipient (your account owner's email).from: "onboarding@send16.com" to that address. It delivers with zero DNS setup."Send a test email from onboarding@send16.com to my account email with the subject 'It works'."
79 tools across the platform, including:
send_email (single/batch/scheduled/attachments), transactional templates, delivery status.Every tool also accepts an optional apiKey parameter that overrides SEND16_API_KEY, so you can switch workspaces in one session.
| 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 |
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
npm install
SEND16_API_KEY=sk_live_... npm ru
... [View full README on GitHub](https://github.com/spruikco/send16-mcp#readme)