Skip to content

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.

Transactional email · MCP server · SDKs

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

agent-key.tsscoped
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
The difference

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.

agent request
attemptedkeys.create
RefusedKey scope is [send, read]. Minting credentials requires a human in the dashboard.

Enforced 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.

Quickstart

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 sadasend
import { 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>',
});
Model Context Protocol

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
Every tool the agent gets, and the scope each one requires.
ToolScopeDoes
send_emailsendSend one, honouring key mode and allowlist
preview_emailsendDry run — render and validate, never send
get_email_statusreadDelivery state and full event trail
search_emailsreadFiltered log search — the debugging workhorse
check_domain_setupdomainsPer-record DNS diagnosis, with the fix
check_suppressionreadIs this address suppressed, and why
render_templatereadPreview a template without sending
get_statsreadBounce and complaint rates for a window
Deliberately absent

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.

Ask your agent to
  • 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.
Honest comparison

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.

CapabilitySadaSendResendPostmarkLoops
Transactional email APIYesYesYesYes
MCP serverYesYesPartialYes
Per-key recipient allowlistYesNoNoNo
Agent approval modeYesNoNoNo
Dry run / preview sendYesPartialNoNo
Scoped API keysYesPartialPartialPartial
SMTP relayYesYesYesNo
Free deliverability toolsYesNoPartialNo
Years of sending reputationNoYesYesPartial
Marketing campaign suiteNoYesNoYes
Visual email designerNoYesNoYes
Pricing

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.

Free$0/foreverEnough to run a real side project.
  • 3,000 emails / month
  • 1,000 contacts
  • 1 sending domain
  • 1-day log retention
  • MCP server + all guardrails
  • Every free tool
ProMost picked$19/monthFor a product with paying customers.
  • 50,000 emails / month
  • 5,000 contacts
  • Unlimited domains
  • 7-day log retention
  • SMTP relay
  • Approval mode + webhooks
Scale$79/monthWhen email is load-bearing.
  • 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.

Questions

Straight answers

Each answer stands on its own, so you can quote it without the rest of the page.