Back to Browse

Receivemail Worker MCP Server

Developer ToolsLow Risk9.3MCP RegistryRemote
Free

Server data from the Official MCP Registry

Disposable email inboxes for agents and tests: create an address, wait for the email. No signup.

About

Disposable email inboxes for agents and tests: create an address, wait for the email. No signup.

Remote endpoints: streamable-http: https://receivemail.dev/mcp

Security Report

9.3
Low Risk9.3Low Risk

Valid MCP server (1 strong, 0 medium validity signals). 1 known CVE in dependencies (0 critical, 1 high severity) Imported from the Official MCP Registry. Trust signals: trusted author (5/5 approved).

3 tools verified · Open access · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Found in Source Code

Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "dev-receivemail-receivemail": {
      "url": "https://receivemail.dev/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

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

mcptry

How it works

# create a mailbox (default: expires in 15 min)
curl -X POST https://receivemail.dev/mailboxes
# => {"address":"a1b2c3d4e5f6@receivemail.dev","expiresAt":"...","secret":"..."}

# trigger your own app's email to that address, then poll:
curl https://receivemail.dev/mailboxes/a1b2c3d4e5f6@receivemail.dev/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

EndpointDescription
POST /mailboxesCreate a new address. Optional {"ttlMinutes": 1-60} body, default 15. Public, no token required.
GET /mailboxes/:addressMetadata (created/expiry). Requires the mailbox's own secret as a Bearer token.
GET /mailboxes/:address/messagesLast 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.dev zone receives the actual mail.
  • Cloudflare Worker (src/index.ts) — an email() handler parses and stores incoming mail via postal-mime; a fetch() handler serves the REST API and the landing page (src/landing.ts); a scheduled() 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-mailbox secret for 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).

Reviews

No reviews yet

Be the first to review this server!