About receivemail.dev
receivemail.dev provides disposable email inboxes through a REST API, for QA tests and short-lived signup flows that need verification messages. Mailboxes require no signup or API key to create, and a mailbox-specific secret controls message access.
Key features
- 01Create temporary email addresses
- 02Read recent messages
- 03Wait for incoming mail
- 04Set mailbox expiration
- 05Access inbox with mailbox secret
Use cases
- 01Test email verification and OTP flows
- 02Exercise application signup in QA
- 03Receive messages without using a permanent inbox
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://receivemail.dev/mcpclaude mcp add --transport http dev-receivemail-receivemail https://receivemail.dev/mcp{"mcpServers":{"dev-receivemail-receivemail":{"type":"http","url":"https://receivemail.dev/mcp"}}}Open in Cursor{"servers":{"dev-receivemail-receivemail":{"type":"http","url":"https://receivemail.dev/mcp"}}}Open in VS Code{"mcpServers":{"dev-receivemail-receivemail":{"type":"http","url":"https://receivemail.dev/mcp"}}}{"mcpServers":{"dev-receivemail-receivemail":{"serverUrl":"https://receivemail.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEreceivemail.dev
A disposable, real-receiving email address via one API call. No signup, no SMTP setup, no account. Built for testing verification/OTP emails, signup flows, and anywhere a QA suite would otherwise need to burn a real inbox.
Live at receivemail.dev.
How it works
# create a mailbox (default: expires in 15 min)
curl -X POST https://receivemail.dev/mailboxes
# => {"address":"[email protected]","expiresAt":"...","secret":"..."}
# trigger your own app's email to that address, then poll:
curl https://receivemail.dev/mailboxes/[email protected]/messages \
-H "Authorization: Bearer <secret from above>"
# => {"address":"...","messages":[{"from_address":"...","subject":"...","body_text":"..."}]}
The secret returned at creation is the only credential — hold onto it, there's no account/login. Any address at @receivemail.dev accepts mail even if never explicitly reserved (same as any disposable-inbox provider), but only a reserved address has a secret to read it back with.
Endpoints
| Endpoint | Description |
|---|---|
POST /mailboxes | Create a new address. Optional {"ttlMinutes": 1-60} body, default 15. Public, no token required. |
GET /mailboxes/:address | Metadata (created/expiry). Requires the mailbox's own secret as a Bearer token. |
GET /mailboxes/:address/messages | Last 50 messages, newest first. Same secret. |
GET /mailboxes/:address/wait?timeout=25&since=<ISO> | Long-poll: returns the newest message newer than since as soon as one arrives, or {"timed_out":true} after timeout seconds (max 25). Same secret. |
Limits
- 20 mailbox creations/minute per IP, 12,000/day globally.
- 60 minutes max mailbox lifetime — this is for short-lived test flows, not a permanent inbox.
- Messages are pruned 24h after their mailbox expires.
Free to use, no API key needed to create a mailbox.
Architecture
Fully serverless, no shared infrastructure with anything else:
- Cloudflare Email Routing on the
receivemail.devzone receives the actual mail. - Cloudflare Worker (
src/index.ts) — anemail()handler parses and stores incoming mail viapostal-mime; afetch()handler serves the REST API and the landing page (src/landing.ts); ascheduled()handler runs a daily cleanup of expired mailboxes/old mail/rate-limit buckets. - D1 (
schema.sql,schema_v2.sql,schema_v3.sql) —emails,mailboxes(with a per-mailboxsecretfor capability-style read access),rate_limits.
Local development
npm install
npx wrangler dev # local dev server
npm run deploy # wrangler deploy
Requires a Cloudflare account with the receivemail.dev zone, Email Routing configured, and a D1 database bound as DB in wrangler.toml.
Related
sms-florin — same idea, for SMS/OTP verification codes instead of email (rents a real UK phone number).
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.