npm zerodrop-mcpstdioMITupdated 1mo ago
Email verification for AI agents โ an MCP server that gives Claude, Cursor, Claude Code, and any MCP client disposable email inboxes with auto-extracted OTPs and magic links.
What can you do with ZeroDrop?
zerodrop-mcp
Email verification for AI agents โ an MCP server that gives Claude, Cursor, Claude Code, and any MCP client disposable email inboxes with auto-extracted OTPs and magic links.
Your agent signs up for a service. The service sends a verification code. Without an inbox it can read, the agent is stuck. With zerodrop-mcp:
Agent: generate_inbox()
โ swift-x7k29ab@zerodrop-sandbox.online
Agent: [fills the signup form with that address]
Agent: wait_for_email(inbox, require_otp: true)
โ { "otp": "847291", "subject": "Verify your email", ... }
Agent: [enters 847291 โ flow complete]
No Docker. No SMTP. No API key. No signup. Free tier works out of the box.
Install
Claude Code
claude mcp add zerodrop -- npx -y zerodrop-mcp
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"zerodrop": {
"command": "npx",
"args": ["-y", "zerodrop-mcp"]
}
}
}
Cursor
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"zerodrop": {
"command": "npx",
"args": ["-y", "zerodrop-mcp"]
}
}
}
Tools
generate_inbox
Creates a disposable email address. Local and instant โ no network request.
| Param | Type | Description |
|---|---|---|
prefix |
string, optional | Prefix for the inbox name, e.g. your app name |
Returns the inbox address and a live watch URL.
wait_for_email
Blocks until a matching email arrives, then returns it with the OTP and magic link already extracted โ the agent never parses HTML or regexes a body.
| Param | Type | Description |
|---|---|---|
inbox |
string | Address from generate_inbox |
timeout_seconds |
number, optional | Default 30, max 120 |
from_contains |
string, optional | Filter by sender |
subject_contains |
string, optional | Filter by subject |
require_otp |
boolean, optional | Only match emails with an OTP |
require_magic_link |
boolean, optional | Only match emails with a magic link |
Returns:
{
"from": "noreply@yourapp.com",
"subject": "Your verification code",
"received_at": "2026-07-18T12:34:56Z",
"otp": "847291",
"magic_link": null,
"body_preview": "Your code is: 847291..."
}
check_inbox
Non-blocking snapshot of the inbox โ recent emails with extracted fields, or an empty list.
What agents use this for
- Testing auth flows end to end โ signup โ OTP โ verified, driven entirely by the agent
- QA automation โ Claude Code writing and running Playwright tests that need real inboxes
- Autonomous workflows โ any agent task that hits an email-verification wall
- Development โ "sign up for my own app and tell me if the verification email works"
How it works
Emails sent to a generated inbox are caught at Cloudflare's edge by ZeroDrop's open-source worker. OTPs and magic links are extracted at the edge before your agent reads them. Inboxes auto-delete after 30 minutes on the free tier.
Configuration
Environment variables (set in your MCP client config):
| Variable | Default | Description |
|---|---|---|
ZERODROP_API_KEY |
โ | Workspace key. Omit for free sandbox mode. |
ZERODROP_BASE_URL |
https://zerodrop.dev |
Self-hosted instance URL |
{
"mcpServers": {
"zerodrop": {
"command": "npx",
"args": ["-y", "zerodrop-mcp"],
"env": { "ZERODROP_API_KEY": "your-key" }
}
}
}
Writing tests instead?
If you're generating test code rather than driving flows live, use the SDKs directly:
npm ยท PyPI ยท Go ยท RubyGems ยท Packagist ยท JitPack ยท GitHub Action
AI coding assistant context: docs.zerodrop.dev/ai-coding
Security
- The server makes requests only to
ZERODROP_BASE_URL(zerodrop.dev by default) โ nothing else - Inbox generation is fully local
- Two runtime dependencies: the official MCP SDK and zod
- Report issues: founder@zerodrop.dev
License
MIT โ zerodrop.dev
Install
Add ZeroDrop to your client. Pick the one you use.
claude mcp add zerodrop-mcp -- npx -y zerodrop-mcpcodex mcp add zerodrop-mcp -- npx -y zerodrop-mcpamp mcp add zerodrop-mcp -- npx -y zerodrop-mcp{
"mcpServers": {
"zerodrop-mcp": {
"command": "npx",
"args": [
"-y",
"zerodrop-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"zerodrop-mcp": {
"command": "npx",
"args": [
"-y",
"zerodrop-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"zerodrop-mcp","command":"npx","args":["-y","zerodrop-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"zerodrop-mcp": {
"command": "npx",
"args": [
"-y",
"zerodrop-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"zerodrop-mcp": {
"command": "npx",
"args": [
"-y",
"zerodrop-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"zerodrop-mcp": {
"command": "npx",
"args": [
"-y",
"zerodrop-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"zerodrop-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"zerodrop-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"zerodrop-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"zerodrop-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y zerodrop-mcpRun `goose configure`, choose **Add Extension โ Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance16/25
- Trust16/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 42 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 0.1.2Latest | Jul 19, 2026 |