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/month free · no card · MCP server on every tier
const sada = new SadaSend(key, {
// what this key may do
scopes: ['send', 'read'],
// who it may reach
allowlist: ['@yourteam.com'],
// how fast
rateLimit: { max: 50, window: '1h' },
// who signs off
mode: 'approval',
});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. 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.
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.
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_KEY!);
await sada.emails.send({
from: 'you@yourdomain.com',
to: 'user@example.com',
subject: 'Welcome aboard',
html: '<strong>It works.</strong>',
});A 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 |
| check_domain_setup | domains | Per-record DNS diagnosis, with the fix |
| 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
We are building these on the same verification engine that onboards sending domains. Free, no account, no rate limit, no email capture — launching soon.
- SPF checkerSoonResolves every include and counts your lookups against the limit of ten.
- DKIM validatorSoonFetches the selector, checks the key length, verifies a signature.
- DMARC checkerSoonParses your policy and tells you what it actually does to failing mail.
- MX lookupSoonResolves the chain and flags misconfigurations.
- Blocklist checkSoonQueries the major blocklists for an IP or domain.
- Inbox placement testSoonSend one message and see where it lands across major providers.
Where we win, and where we do not
We are new. Resend and Postmark have years of sending reputation we cannot buy. Here is the real picture — if deliverability track record is your only criterion, choose Postmark and we will not argue.
| 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 |
| SMTP relay | Yes | Yes | Yes | No |
| Free deliverability tools | Yes | No | Partial | No |
| Years of sending reputation | No | Yes | Yes | Partial |
| Marketing campaign suite | No | Yes | No | Yes |
| Visual email designer | No | Yes | No | Yes |
Meter both, sting on neither
Send-based pricing punishes you for growing your list. Contact-based pricing punishes you for talking to it. We meter both, generously, and charge less than either.
- 3,000 emails / month
- 1,000 contacts
- 1 sending domain
- 1-day log retention
- MCP server + all guardrails
- Every free tool
- 50,000 emails / month
- 5,000 contacts
- Unlimited domains
- 7-day log retention
- SMTP relay
- Approval mode + webhooks
- 150,000 emails / month
- 25,000 contacts
- 30-day log retention
- Priority sending queue
- Provider failover
- Support with an SLA
Plans are not open for sign-up yet — these tiers are the pricing we will launch with, published early so you can plan against them. Usage-based overage above plan. 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.