# send16-mcp [![npm version](https://img.shields.io/npm/v/send16-mcp?color=cb3837&logo=npm)](https://www.npmjs.com/package/send16-mcp) [![npm downloads](https://img.shields.io/npm/dm/send16-mcp?color=cb3837&logo=npm)](https://www.npmjs.com/package/send16-mcp) [![MCP](https://img.shields.io/badge/MCP-server-6E56CF)](https://modelcontextprotocol.io) [![license](https://img.shields.io/npm/l/send16-mcp?color=3da639)](./LICENSE) **The email API your AI agent can actually use.** A [Model Context Protocol](https://modelcontextprotocol.io) server for [Send16](https://send16.com) 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. ```bash npx send16-mcp ``` --- ## Quick start You need a Send16 API key (`sk_live_…`) from your [dashboard](https://send16.com/dashboard/developers). Then pick your client: ### Claude Desktop / Claude Code `claude_desktop_config.json` (macOS: `~/Library/Application Support/Claude/`, Windows: `%APPDATA%\Claude\`): ```json { "mcpServers": { "send16": { "command": "npx", "args": ["-y", "send16-mcp"], "env": { "SEND16_API_KEY": "sk_live_..." } } } } ``` ### Cursor `.cursor/mcp.json`: ```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: 1. Ask the agent to call `whoami` — it returns your workspace and your `sandbox_recipient` (your account owner's email). 2. Send `from: "onboarding@send16.com"` to that address. It delivers with **zero DNS setup**. 3. 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: ```bash docker build -t send16-mcp . && docker run -p 4242:4242 send16-mcp ``` ## Develop ```bash 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