close
StartupsIntroducing the MachineMail startup programThe startup program

Email for AI Agents

Real inboxes your agents sign up with, wait on, and reply from.

Start free

00The idea

Every agent gets its own inbox, for $0. Mail arrives as agent-safe text with a trust level, and your agent reads it over MCP, wherever it runs.

01Connect

Connect your agent to its inbox.

Wherever it runs means the harness you already use. Add one MCP server to it, sign in with OAuth or pass an API key in CI, and your agent can create inboxes, wait for codes, read, reply and check trust.

Add to Claude Code
$ claude mcp add --transport http machinemail https://mcp.machinemail.dev/mcp

02In action

03Addresses

An inbox for every agent.

Create them with one API call, or let a catch-all domain create them for you.

Catch-all domains.

Docs

Point a domain at us and any address works. The inbox appears on first delivery.

signup-7f3k@acme.dev
expires 24h
otp-runner@acme.dev
expires 23h
invoice-intake@acme.dev
expires 6d
qa-bot-12@acme.dev
permanent
support@acme.dev
permanent

Free addresses.

Pricing

No inbox fees. Free covers 3,000 messages a month; paid plans start at $9.

$0

per inbox and trust report, on every plan

04Trust layer

Mail your agent can safely read.

Every inbound message gets a trust report and a level before your agent sees it.

Agent-safe text.

Docs

Hidden instructions come out before your agent reads a word.

from
paypa1-payouts.ru
auth
dmarc fail
link
display mismatch
hidden
removed: ignore previous instructions
level
quarantined

Five levels.

Docs

Your agent acts on the level, never on what the sender says.

verified
acts on it
known
summarises
unknown
reads only
suspicious
reasons only
quarantined
withheld

05Delivery

Webhooks and MCP.

Push mail to your stack, or let your agent pull it over MCP.

Webhooks.

Docs

Signed, retried for five days, and replayable from the dashboard.

inbox.created
200
message.received.quarantined
200
message.bounced
200, retried
message.received
replay

MCP.

Docs

wait_for_message holds the call open until the mail lands, for up to a minute.

wait_for_message
waiting 0 s
from
no-reply@acme.dev
trust
##### verified
text
Your code is 482 913

06FAQ

Questions.

How does my agent get an address?
Paste the agent prompt into Claude Code, Cursor or any MCP client. The agent registers itself through auth.md, gets a sandbox inbox, and shows you a six-digit code to claim it into your account.
How do I get an API key?
Create a free account and make keys yourself in the dashboard, under API keys. No sales call: the Free plan costs $0 and covers 3,000 messages a month.
What counts as a message?
Each inbound delivery and each outbound send. Spam, quarantined and rejected mail don't count, and neither do drafts until they send.
How does the trust layer decide?
It combines SPF, DKIM and DMARC alignment, your allow and block lists, prior correspondence, link and attachment checks, and a classifier. The report lists every reason it used.
What happens when an ephemeral inbox expires?
A reaper deletes the inbox with its messages, raw MIME and attachments, then emits inbox.expired. New mail before expiry pushes the deadline out.
Can an agent sign itself up?
Yes. Agents follow /auth.md, get a sandbox key and one ephemeral inbox, and show you a 6-digit code. You enter it at /claim to bind the agent to your organization.

Give your agent an address.

Agent waiting with a code? Claim it