MCP server
Give your AI agent email.
sendhustle-mcp is the official Model Context Protocol server for the SendHustle API. Claude, Cursor, and any MCP client can send and manage email in natural language — every endpoint of the HTTP API, exposed as tools your agent calls natively.
TypeScript, zero runtime dependencies, stdio and Streamable HTTP transports. Runs with npx — nothing to install.
Quick start
You need an API key — create a free account, verify a domain, and generate one under API Keys (keys look like sh_…).
Claude Code — one command:
claude mcp add sendhustle \
-e SENDHUSTLE_API_KEY=sh_YOUR_API_KEY \
-- npx -y sendhustle-mcpCursor, Claude Desktop, Windsurf, or any client that takes a JSON server config:
{
"mcpServers": {
"sendhustle": {
"command": "npx",
"args": ["-y", "sendhustle-mcp"],
"env": { "SENDHUSTLE_API_KEY": "sh_YOUR_API_KEY" }
}
}
}Then just ask: “Send our launch announcement to the newsletter audience, A/B test the subject line, and follow up in three days with everyone who didn't open it.”
What your agent can do
111 tools mirroring the full API surface — if the dashboard can do it, your agent can too.
| Emails | Send one-off or batch email, retrieve delivery + engagement events, reschedule or cancel scheduled sends, fetch attachments. |
| Received email | List and read inbound mail, download raw MIME and attachments, forward, or reply in-thread. |
| Domains | Add sending domains, fetch the DNS records to publish, re-verify, and even apply DNS automatically on Cloudflare or GoDaddy. |
| Audiences & contacts | Create audiences, add and update contacts one at a time or in bulk, manage per-contact topics. |
| Contact properties | Define custom merge-tag fields. Creation is an idempotent ensure — asking for an existing key returns it instead of erroring. |
| Segments & topics | Slice audiences into segments and manage subscription topics contacts can opt out of. |
| Campaigns | Create and send campaigns with merge tags, A/B tests, follow-up stages, scheduling, and per-campaign stats. |
| Templates | Create and render reusable templates. |
| Webhooks | Register endpoints, list event deliveries, and verify signatures locally without an API call. |
API keys & safety
The server holds no credentials of its own — it acts with exactly the key you give it, so the guardrails you set on the key are the guardrails on the agent:
- Scope a key to
sending_accessfor send-only agents, or restrict it to a single verified domain. - Sends accept an
Idempotency-Key, so an agent retry can never double-send. - Suppression lists are enforced server-side — an agent cannot email someone who bounced, complained, or unsubscribed.
HTTP transport
Beyond stdio, the server runs as a shared Streamable HTTP endpoint — useful for hosted agents or one server instance backing a whole team. Each client authenticates with its own SendHustle key as the Bearer token.
npx -y sendhustle-mcp --http --port 3000
# Streamable HTTP at POST /mcp — clients pass their own
# SendHustle API key as the Bearer token.Registries & source
- npm: sendhustle-mcp
- Official MCP registry:
io.github.Achlesha/sendhustle-mcp - Smithery: achleshavarshney/sendhustle
- Source: GitHub (MIT)
Ready to wire up your agent?
Create an account, verify a domain, and generate a key — the free plan needs no card.