Public beta · Agent-Ready Level 5

A real inbox
for tests & agents.

Create a throwaway email, catch the verification mail, extract the OTP. Three REST calls or one MCP tool call. No IMAP, no browser automation, no SDK to install.

Install MCP
npx -y @mailsink/mcp
QUICKSTART

Three calls. That's it.

Provision an inbox, point your signup flow at it, pull the OTP. Smart extractors tuned for Stripe, GitHub, Clerk, Supabase, Resend, Auth0, and dozens more.

Read the docs
# 1. Add MailSink to your Claude Desktop / Cursor / Claude Code config
{
  "mcpServers": {
    "mailsink": {
      "command": "npx",
      "args": ["-y", "@mailsink/mcp"],
      "env": { "MAILSINK_API_KEY": "msk_REPLACE_ME" }
    }
  }
}

# 2. Ask Claude:
# "Create a MailSink inbox, wait for the verification email, return the OTP."
Response { "code": "847291", "from": "[email protected]", "subject": "Your code" }
WORKS WITH YOUR STACK
WHY MAILSINK

Three primitives. No glue code.

IMAP is a tax. Browser automation breaks. Mock email services don't actually receive mail. MailSink gives you what every test suite and agent actually needs: an inbox, a wait primitive, an extractor.

Receivable

Real MX records on rotating shared domains. Stripe, GitHub, Google, Clerk, Supabase all deliver. No sandbox limits, no "test addresses" that bounce.

POST /v1/inboxes

Pollable & long-polling

One endpoint blocks until the OTP arrives, so your test skips the polling loop. Built for CI runners with strict timeouts.

GET /v1/inboxes/:id/wait-for-code

Agent-native via MCP

Drop @mailsink/mcp into Claude, Cursor, or any MCP host. Eight read-only tools your agent already knows how to call.

npx @mailsink/mcp

EDGE-NATIVE

Built on Cloudflare's edge.

Every inbox is provisioned and delivered through Cloudflare Email Routing, Workers, D1, and R2. No region to pick, no cold start tax. Senders see real MX records. You see structured JSON.

Delivered 14:23:01
OTP 847291
Delivered 14:22:48
LINK https://github.com/verify?t=…
Pending 14:22:32

Real MX, real senders

Stripe, GitHub, Clerk, Auth0 all deliver to your inbox through Cloudflare Email Routing. No sandbox, no bounce.

Learn more
POST /v1/inboxes 201
{ "id": "inb_8xefq", "address": "signup-…@codenotify.net" }
GET /v1/inboxes/inb_8xefq/wait-for-code 200
{ "code": "847291", "from": "[email protected]" }
MCP wait_for_email ok
{ "code": "847291", "from": "[email protected]" }

Structured JSON. No IMAP.

Three REST calls or one MCP tool. Your test, agent, or CI runner gets exactly the shape it expects.

Read the docs
VS THE INCUMBENTS

Smaller surface. Honest pricing.

Other tools optimize for SMTP testing or marketing-email dev. MailSink is built for the verify-the-code, agent-completes-signup case. Prices reflect that.

Ours MailSink MailSlurp Mailtrap AgentMail
Receive real mail Sandbox only
MCP server shipped
OTP extraction endpoint /latest-code Manual Manual
Free tier 50 inboxes/mo 10 inboxes Trial 14d Limited
Paid entry $15/mo $59/mo $15/mo $25/mo
Anonymous mode no signup

// pricing as of 2026-05. Inputs verified via vs MailSlurp, vs Mailtrap, vs AgentMail.

PRICING

Free for hobby. Fair for teams.

Free
$0/forever
  • 50 inboxes / month
  • 1 hour TTL
  • 60 req / minute
  • 256 KB email size
  • MCP server
Start free
Pro
$15/month
  • 2,000 inboxes / month
  • 24 hour TTL
  • 600 req / minute
  • 1 MB email size
  • MCP server access
Get Pro
Team
$49/month
  • Everything in Pro, plus:
  • 20,000 inboxes / month
  • 7 day TTL
  • 3,000 req / minute
  • 5 MB email size
  • Priority support
Get Team
FAQ

A few things you'll want to know.

How reliable is the extraction?

Good against common senders: Stripe, GitHub, Google, Clerk, Supabase, Auth0, Resend, AWS, and dozens more. We describe it honestly as basic extraction and document supported patterns per sender. If a sender isn't supported you can still read the raw message body via GET /v1/messages/:id.

Can I use this to sign up for services I don't own?

No. MailSink is for testing your own signup flows, CI email verification, and authorized agent workflows. Creating accounts on third-party services in violation of their terms is prohibited and we'll cut off accounts that do it.

How long do emails stick around?

Exactly as long as the TTL you set, then they're removed from R2 and D1. Free: 1 hour. Pro: 24 hours. Team: 7 days. No backup copies, no retention.

Do you support webhooks?

Not in the first release. The MCP tool does long-polling with a timeout (wait_for_email), which covers the common agent case. Webhooks are on the roadmap.

What happens if a shared domain gets blocklisted?

We rotate shared domains across a reserve pool and monitor delivery. When a sender flags one, new inboxes auto-provision on a clean domain until it clears. Bring-your-own-domain is coming soon.

Can I self-host?

Not yet. The ingress plus Cloudflare Workers stack isn't trivial to package for self-hosting, so we're focused on the hosted product first.

Ship the flow you keep postponing.

curl -X POST https://api.mailsink.dev/v1/inboxes