ZeroDrop について
ZeroDropは、メール認証フロー向けの使い捨て受信箱をAIエージェントに提供するMCPサーバーです。受信メールからOTPやマジックリンクを抽出するため、エージェントが本文を解析せずに登録メールを処理できます。
主な機能
- 01使い捨てメールアドレスを生成
- 02条件を指定して受信メールを待機
- 03OTPとマジックリンクを自動抽出
- 04最近のメールと保留通知を確認
- 05APIキーまたはセルフホストインスタンスのURLを設定
活用シーン
- 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掲載時のツール一覧 · 5 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| prefix | string | いいえ | 受信トレイ名の任意のプレフィックス。例:アプリ名やテスト名 |
詳細
zerodrop-mcp
AI エージェント向けメール認証 — Claude、Cursor、Claude Code、その他あらゆる MCP クライアントに、OTP とマジックリンクを自動抽出する使い捨てメール受信箱を提供する MCP サーバーです。
エージェントがアプリのサインアップをテストします。アプリは認証コードを送信します。読み取れる受信箱がなければ、エージェントは先に進めません。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 キーがなくても、1 日に 1 つの送信元から 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
使い捨てメールアドレスを作成します。ローカルで即座に実行され、ネットワークリクエストは発生しません。
| Param | Type | Description |
|---|---|---|
prefix | string, optional | 受信箱名の接頭辞。例:アプリ名 |
受信箱のアドレスを返します。zerodrop.dev/keys のキーを ZERODROP_API_KEY に設定すると、名前はキーの接頭辞(k7x2-myapp-swift-x7k29ab)で始まり、そのキーだけが受信箱を読み取れます。キーがない場合、ハイフンより前の部分が英字と数字をそれぞれ 1 文字以上含む 4 文字の接頭辞(app1、app1-web など)は形容詞の後に配置されます(swift-app1-web-x7k29ab)。そのため、受信箱が他の人のアカウントに紐付くことはありません。
wait_for_email
条件に一致するメールが届くまで待機し、OTP とマジックリンクをあらかじめ抽出した状態で返します。エージェントが HTML を解析したり、本文に正規表現を適用したりする必要はありません。
| Param | Type | Description |
|---|---|---|
inbox | string | generate_inbox が返すアドレス |
timeout_seconds | number, optional | デフォルトは 30、最大は 120 |
from_contains | string, optional | 送信者で絞り込みます |
subject_contains | string, optional | 件名で絞り込みます |
require_otp | boolean, optional | OTP を含むメールのみを対象にします |
require_magic_link | boolean, optional | マジックリンクを含むメールのみを対象にします |
戻り値:
{
"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 キーがない場合、1 日に 1 つの送信元から 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": "…" } として表示されます。
エージェントの用途
- 認証フローのエンドツーエンドテスト — サインアップ → OTP → 認証済みまで、すべてエージェントが実行します
- QA の自動化 — 実際の受信箱が必要な Playwright テストを Claude Code が作成・実行します
- 開発 — 「自分のアプリにサインアップして、認証メールが機能するか教えてください」
仕組み
生成された受信箱に送信されたメールは、ZeroDrop のオープンソースワーカーによってCloudflare のエッジで受信されます。エージェントが読む前に、エッジで OTP とマジックリンクが抽出されます。無料プランでは、最後のメールを受信してから 30 分後に受信箱が削除されます。
設定
環境変数(MCP クライアントの設定で指定します):
| 変数 | デフォルト | 説明 |
|---|---|---|
ZERODROP_API_KEY | — | zerodrop.dev/keys で取得できる無料のキーです。受信箱の名前はキーのプレフィックスで始まり、読み取れるのはキーの所有者だけです。また、受信できるメール数に制限はありません。キーを設定しない場合、受信箱は公開され、1 人の送信者が 1 日に送信できるのは異なる 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)のみです。それ以外には送信しません - 受信箱の生成はすべてローカルで行われます
- 実行時の依存関係は 2 つです。公式の MCP SDK と zod です
- 問題の報告先:[email protected]
ライセンス
MIT — zerodrop.dev
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。