关于 ZeroDrop
ZeroDrop 是为 AI Agent 提供一次性邮箱的 MCP 服务,可用于验证流程。它会从收到的邮件中提取 OTP 和魔法链接,让 Agent 无需解析邮件正文即可处理注册邮件。
主要功能
- 01生成一次性邮箱地址
- 02按条件等待收到的邮件
- 03自动提取 OTP 和魔法链接
- 04查看近期邮件及拦截通知
- 05配置 API 密钥或自托管实例地址
适用场景
- 01测试注册和邮件验证流程
- 02运行需要真实收件箱的 QA 测试
- 03检查应用的验证邮件是否正常
MCP 相关
ZeroDrop 向 MCP 客户端提供生成邮箱、等待邮件和检查收件箱等工具,支持 Claude Code、Claude Desktop 和 Cursor。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y zerodrop-mcpZERODROP_API_KEY密钥Free API key from https://zerodrop.dev/keys. Inbox names then start with your key's prefix, only your key can read them, and mail to them isn't limited. Without it, inboxes are public and one sender can reach 5 different inboxes a day.ZERODROP_BASE_URLOverride for self-hosted ZeroDrop instances.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
3收录的工具列表 · 更新于 4 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| prefix | string | 否 | 收件箱名称的可选前缀,例如应用或测试名称 |
详细介绍
zerodrop-mcp
为 AI Agent 验证电子邮件 — 一个 MCP 服务,为 Claude、Cursor、Claude Code 以及任何 MCP 客户端提供一次性邮箱,并自动提取 OTP 和魔法链接。
你的 Agent 测试应用的注册流程。应用发送验证码。没有可读取的邮箱,Agent 就会卡住。使用 zerodrop-mcp:
Agent: generate_inbox()
→ [email protected]
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]
无需 Docker。无需 SMTP。无需注册即可试用:没有 API 密钥时,一个发件人每天可以向 5 个不同的邮箱发送邮件。免费密钥可解除此限制。
安装
Claude Code
claude mcp add zerodrop -- npx -y zerodrop-mcp
Claude Desktop
添加到 claude_desktop_config.json:
{
"mcpServers": {
"zerodrop": {
"command": "npx",
"args": ["-y", "zerodrop-mcp"]
}
}
}
Cursor
添加到 .cursor/mcp.json(项目级)或 ~/.cursor/mcp.json(全局):
{
"mcpServers": {
"zerodrop": {
"command": "npx",
"args": ["-y", "zerodrop-mcp"]
}
}
}
工具
generate_inbox
创建一次性电子邮件地址。本地即时完成,无需网络请求。
| 参数 | 类型 | 说明 |
|---|---|---|
prefix | string,可选 | 邮箱名称前缀,例如你的应用名称 |
返回邮箱地址。在 ZERODROP_API_KEY 中配置来自 zerodrop.dev/keys 的密钥后,名称会以该密钥的前缀开头(k7x2-myapp-swift-x7k29ab),且只有你的密钥可以读取该邮箱。没有密钥时,如果前缀在第一个连字符之前的部分由四个字母和数字组成,且两者至少各有一个(app1、app1-web),该部分会移到形容词之后(swift-app1-web-x7k29ab),这样邮箱就不会归属到他人的账户。
wait_for_email
阻塞等待匹配的邮件到达,然后返回邮件及已提取的 OTP 和魔法链接 — Agent 无需解析 HTML,也无需对邮件正文使用正则表达式。
| 参数 | 类型 | 说明 |
|---|---|---|
inbox | string | 来自 generate_inbox 的地址 |
timeout_seconds | number,可选 | 默认 30,最大 120 |
from_contains | string,可选 | 按发件人筛选 |
subject_contains | string,可选 | 按主题筛选 |
require_otp | boolean,可选 | 仅匹配含 OTP 的邮件 |
require_magic_link | boolean,可选 | 仅匹配含魔法链接的邮件 |
返回:
{
"from": "[email protected]",
"subject": "Your verification code",
"received_at": "2026-07-18T12:34:56Z",
"otp": "847291",
"magic_link": null,
"body_preview": "Your code is: 847291..."
}
没有 API 密钥时,一个发件人每天可以向 5 个不同的邮箱发送邮件。如果 ZeroDrop 因发件人超出此限制而暂存了邮件,wait_for_email 会立即返回(0.3.0 或更高版本)错误,而不是等待超时:
{ "error": "held", "message": "ZeroDrop held an email from yourapp.com to this inbox. The email was not stored. …" }
check_inbox
非阻塞式邮箱快照,包含带有已提取字段的近期邮件,或空列表。ZeroDrop 暂存邮件时,会显示如下通知:{ "held": true, "received_at": "…", "message": "…" }。
Agent 的用途
- 端到端测试身份验证流程 — 注册 → OTP → 验证,全程由 Agent 驱动
- QA 自动化 — Claude Code 编写并运行需要真实邮箱的 Playwright 测试
- 开发 — “注册我自己的应用,告诉我验证邮件是否正常”
工作原理
发送到生成邮箱的邮件会在 Cloudflare 边缘节点被 ZeroDrop 的开源 worker捕获。Agent 读取邮件之前,OTP 和魔法链接就已在边缘节点提取。免费套餐中,邮箱会在收到最新邮件 30 分钟后删除。
配置
环境变量(在 MCP 客户端配置中设置):
| 变量 | 默认值 | 说明 |
|---|---|---|
ZERODROP_API_KEY | — | 从 zerodrop.dev/keys 获取免费密钥。之后,收件箱名称会以密钥前缀开头,只有你的密钥可以读取这些收件箱,且发送到这些收件箱的邮件不受限制。若不设置,收件箱将公开,每个发件人每天最多可联系 5 个不同的收件箱;超出后,收件箱会收到来自 [email protected] 的通知,而不是邮件。 |
ZERODROP_BASE_URL | https://zerodrop.dev | 可自托管实例的 URL |
{
"mcpServers": {
"zerodrop": {
"command": "npx",
"args": ["-y", "zerodrop-mcp"],
"env": { "ZERODROP_API_KEY": "your-key" }
}
}
}
改为编写测试?
如果你要生成测试代码,而不是实时驱动工作流,请直接使用 SDK:
npm · PyPI · Go · RubyGems · Packagist · JitPack · GitHub Action
AI 编码助手上下文:docs.zerodrop.dev/ai-coding
安全
- 服务仅向
ZERODROP_BASE_URL(默认为 zerodrop.dev)发送请求,不会访问其他地址 - 收件箱生成完全在本地进行
- 两个运行时依赖:官方 MCP SDK 和 zod
- 报告问题:[email protected]
许可证
MIT — zerodrop.dev
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。