Instant mailboxes for humans, agents, and pipelines.

Unlimited email addresses for development and testing. Make one up on the spot — then open it in your browser, curl it, or let your agent check it via MCP.

readout · live mailbox armed
acme.user_receives_password_reset@mailmatter.dev

Any address you can name is already receiving — no create step. The part after the dot is your test case.

or connect your agent no signup · no card

the problem

As a web developer, you never have enough inboxes.

01
One address, one slow loop.

Trigger a send, tab over to read it, tweak, resend. Need a second address? You’re on aliases and throwaway Gmails.

02
Multi-actor flows get even more complicated.

An owner invites an admin, who invites teammates — each needing confirmation-link clicks or OTPs. Five inboxes at once.

03
Automation is blocked.

In CI or agent workflows, a human still has to open the inbox and click the link.

the fix

An inbox for every actor, every scenario.

Named on the spot — no create step, no cleanup. Now your CI and agents can run the whole flow themselves, from invite to OTP.

acme.owner@ acme.admin@ acme.t1@ acme.t2@ acme.t3@
wait_for_email("otp_login") 427 193 ✓ your test reads it and moves on

access

Read it however you work

MailMatter is MCP-native. Look with your eyes, fetch it in a script, or let an agent drive it — same address, same key, same result. Sign in and we hand you the config with your key already in it.

mailmatter.dev/app
Reset your acme password
now · noreply@acme.app
Welcome to acme
2m ago
To reset your password, click below:
🔗 acme.app/reset?token=k3yR…
images & links stay inert until you click

agent setup is one line:

claude mcp add --transport http mailmatter \
  https://mailmatter.dev/mcp \
  --header "Authorization: Bearer mm_<your key>"
the key is the only thing you need an account for: [G] Google [gh] GitHub

features

Built for the hard cases

The everyday loop is simple. These earn their keep on the stubborn bug, the security check, and the pipeline that would rather be pushed than poll.

.eml

Drop below the renderer to byte-exact source — headers, MIME parts, attachments — when a rendered view hides the bug.

sandbox

Nothing leaks while you look — remote images blocked, links never auto-visited, not by us or your agent. Open a suspicious email without ever telling its sender you did.

X-Test-Run

Tag mail with a custom header and filter the inbox by it — a durable hook from a CI run to the mail it produced.

webhooks pro

Get a POST the instant a message lands, instead of holding a long-poll open — for pipelines that would rather be pushed.

health soon

Email-health analysis — SPF/DKIM/DMARC results and spam-score hints surfaced on every message you receive.

Pricing

The anonymous door and a free account are both free, no card. Pro and Team are live today for scale and longer retention — webhooks, your own domain, and org roles are on the way.

Anonymous

free

$0

  • Random address, minted on click
  • 25 messages/day
  • Readable in this browser only
  • Expires on an idle timer
  • No MCP or API keys — sign in for those
Open an inbox

Free account

recommended

$0

  • 2 projects — acme.signup@
  • Unlimited scenarios under each
  • 500 messages/month
  • API keys + MCP for CI and agents
  • 72-hour retention

Pro

$19/mo

  • 10 projects, unlimited scenarios
  • 10,000 messages/month
  • 30-day retention
  • Webhooks

Team

$79/mo

  • 100 projects, unlimited scenarios
  • 100,000 messages/month
  • 90-day retention
  • Your own domain — qa@acme-test.com soon
  • Org roles and link invites — up to 10 teammates

FAQ

Is it really free? +

Yes. Anonymous inboxes and signed-in accounts are free, no card. We only charge for the paid plans — Pro and Team — which add more messages, longer retention, and custom domains soon. We’ll never run ads, because third-party ad requests would break our no-outbound-network guarantee.

Can anyone read my inbox? +

Anyone who knows the address can send to it, but reading requires the secret — held in an httpOnly cookie for anonymous inboxes, or your account for named ones. Guessing an address grants send only, never read.

How long is mail kept? +

72 hours, then it’s purged automatically. It’s a test instrument, not a mailbox — don’t store anything you need to keep. Longer retention is a planned paid option.

How do I drive it from an agent? +

Point your MCP client at https://mailmatter.dev/mcp with an API key — one line for Claude Code, a small JSON block for Cursor or VS Code. Your agent gets seven tools, including wait_for_email, which blocks until the message arrives. Not on MCP? Reading, waiting, and cleanup are available over plain REST too.

Are inbox names globally unique? +

On the shared mailmatter.dev domain, yes — the name is part of the address, so it’s first-come. If you need a private namespace, a paid custom domain (coming soon) will give you one that’s entirely yours.

Does it work with claude.ai or ChatGPT web? +

Not directly. Remote connectors there require OAuth with dynamic client registration; MailMatter authenticates with an org API key instead. Use the HTTP API, or bridge locally with mcp-remote. Claude Code, Cursor, and VS Code connect natively.