SadaSend is a transactional email API with a Model Context Protocol (MCP) server and per-key agent guardrails, built for developers who let AI agents send email on their behalf.
Give your agent email.
Not your whole account.
Scoped keys, recipient allowlists, and approval mode. The email API built for agents you don't fully trust yet.
3,000 emails free · no card · every guardrail on every plan
// The ceiling, set once when the key is minted.
// The agent gets the key. It cannot widen any of this.
{
scopes: ['send', 'read'], // what it may do
allowlist: ['@yourteam.com'], // who it may reach
rateLimitMax: 50, // how fast
rateLimitWindow: '1h',
mode: 'approval', // who signs off
}Works natively with your agent stack
Whether your agent runs through a hosted Model Context Protocol server, SDK tool calling, or autonomous state machines — SadaSend drops in with zero custom plumbing.
Claude Desktop & Code
One command to add our hosted MCP server via HTTP/SSE transport.
Cursor & Windsurf
Pre-configured rules and MCP endpoints for agentic workspace coding.
Vercel AI SDK
Typed schemas with automatic z.object validation and retry logic.
LangChain & LangGraph
Tool bindings with human-in-the-loop approval interrupt nodes.
CrewAI
Role-based agent email actions with delegated human sign-off.
OpenAI Swarm
Stateless tool execution with automated idempotency keys.
Built on the rails Gmail actually checks
Since November 2025 Google, Yahoo, Microsoft and Apple reject non-compliant bulk mail outright rather than filtering it. SadaSend enforces the requirements in the product, not in a help article.
- SPF · DKIM · DMARC
- Verified before your first send is accepted
- RFC 8058
- One-click unsubscribe headers injected automatically
- Complaint rate
- Watched per account, throttled before 0.10%
- Suppression
- Automatic and account-wide on every hard bounce
Every other email MCP hands your agent the whole account
Read the competition carefully and they all promise the same thing: native access to the full platform — Mailgun’s MCP server exposes more than fifty operations, Postmark’s exposes four. That is a capability claim with no control story, and it is the reason your engineering lead says no. SadaSend puts a ceiling on every key, and every guardrail below is on the free plan.
keys.createEnforced at the API before the send reaches the queue — not in a doc, not in a lint rule, and not dependent on the agent behaving.
How SadaSend guarantees zero runaway email
The barrier sits in front of the queue, not in a help doc or an agent prompt. Every send is validated at the edge before anything is dispatched.
Agent initiates tool call
Your agent (Claude, Cursor, LangChain) invokes send_email with recipient and body. It cannot alter the key’s preset limits.
SadaSend evaluates policy gate
Every send is verified against the key’s immutable scopes, recipient allowlist, hourly rate limits, and suppression history.
Instant dispatch or human sign-off
Allowlisted transactional sends dispatch in <50ms. Out-of-allowlist sends are refused; high-risk sends hold in pending_approval for 1-click human clearance.
- Zero LLM Training
- Customer email content, variables, and payloads are never used to train or fine-tune models.
- Immutable Scopes
- Agents hold keys that can only send or read — never mint keys, delete domains, or remove suppressions.
- Cryptographic Webhooks
- HMAC-SHA256 signatures with timestamp replay protection on all delivery events.
- Immutable Audit Trail
- Every attempt, refusal, and delivery event is logged with microsecond timestamps for forensic review.
Under ten lines to a delivered email
Install, set a key, send. The TypeScript SDK is hand-written — typed template variables, a real error class per failure mode, and automatic retry with idempotency so a retried send is never a duplicate.
bun add sadasendimport { SadaSend } from 'sadasend';
const sada = new SadaSend(process.env.SADASEND_API_KEY!);
await sada.emails.send({
from: 'you@yourdomain.com',
to: 'user@example.com',
subject: 'Welcome aboard',
html: '<strong>It works.</strong>',
});Looking for full API schemas, error codes, webhook verifiers, or MCP tools?
Explore all documentationA hosted MCP server with a ceiling
Point your agent at SadaSend and it gets the tools it needs — and none of the ones it should never have. No install required.
claude mcp add --transport http sadasend https://mcp.sadasend.com| Tool | Scope | Does |
|---|---|---|
| send_email | send | Send one, honouring key mode and allowlist |
| preview_email | send | Dry run — render and validate, never send |
| get_email_status | read | Delivery state and full event trail |
| search_emails | read | Filtered log search — the debugging workhorse |
| list_domains | read | Which domains are verified — the first check when a send is refused |
| check_domain_setup | domains | Per-record DNS diagnosis, with the fix |
| list_templates | read | Templates on the account, with the variables each expects |
| check_suppression | read | Is this address suppressed, and why |
| render_template | read | Preview a template without sending |
| get_stats | read | Bounce and complaint rates for a window |
There is no create_api_key, no delete_domain, and no remove_suppression tool. An agent that can mint its own credentials or un-suppress a complainer has no ceiling. Those operations live in the dashboard, where a human is present.
- “Send the welcome email to the three users who signed up this morning.”
- “Why did our password reset to dana@example.com bounce yesterday?”
- “Check whether our DNS is set up correctly for sending.”
- “Show me every email that bounced this week, grouped by reason.”
Deliverability tools that tell you the fix
The same verification engine that onboards sending domains. Free, no account, no sign-up, no email capture — run a check and read the fix.
- SPF checkerNewResolves every include and counts your lookups against the limit of ten.
- DKIM validatorNewFetches the selector, checks the key length, verifies a signature.
- DMARC checkerNewParses your policy and tells you what it actually does to failing mail.
- MX lookupNewResolves the chain and flags misconfigurations.
- Blocklist checkNewQueries the major blocklists for an IP or domain.
- Inbox placement testNewSend one message and see where it lands across major providers.
Where we win, and where we do not
Every row in our column is a capability you can check against the API today, not a roadmap. The last two rows are ones we do not have and do not pretend to — a comparison that concedes nothing is an advert, and you would read it as one.
| Capability | SadaSend | Resend | Postmark | Loops |
|---|---|---|---|---|
| Transactional email API | Yes | Yes | Yes | Yes |
| MCP server | Yes | Yes | Partial | Yes |
| Per-key recipient allowlist | Yes | No | No | No |
| Agent approval mode | Yes | No | No | No |
| Dry run / preview send | Yes | Partial | No | No |
| Scoped API keys | Yes | Partial | Partial | Partial |
| Per-key rate limit | Yes | Partial | Partial | Partial |
| SMTP relay | Yes | Yes | Yes | No |
| Free deliverability tools | Yes | No | Partial | No |
| Marketing campaign suite | No | Yes | No | Yes |
| Visual email designer | No | Yes | No | Yes |
The ceiling is not a paid feature
Every guardrail and all ten MCP tools are on every plan, including the free one. Selling the safety only to people who can already afford it would mean nobody ever finds out why it matters.
- 3,000 emails — one time, not monthly
- 100 emails a day
- 1 sending domain
- 30-day log retention
- All ten MCP tools
- Every guardrail
- 10,000 emails / month
- No daily limit
- 5 sending domains
- 30-day log retention
- SMTP relay
- Free migration
- 50,000 emails / month
- 25 sending domains
- 30-day log retention
- 10 webhook endpoints
- Webhook replay
- Per-attempt delivery logs
- 250,000 emails / month
- Unlimited sending domains
- 90-day log retention
- 25 webhook endpoints
- Priority sending queue
- Response time commitment
Start on the free plan without a card. Yearly billing saves 15% on Starter and Pro, 20% on Scale. Overage is $0.60, $0.50 or $0.40 per thousand by plan, charged only on what you send above it. No per-seat pricing, ever — that is a model for sales tools, not developer infrastructure.
Straight answers
Each answer stands on its own, so you can quote it without the rest of the page.
Give your agent email in under two minutes.
Mint a scoped key, set your team allowlist, and point your agent at our hosted MCP server. 3,000 emails free forever — no credit card required.
- 3,000 emails free forever
- All 10 MCP tools included
- Every guardrail active on Day 1
- No credit card required