mailverdict について
mailverdictは、登録フォームや入力フォームの検証向けのメール情報APIとSDKです。使い捨てアドレス、ロールアカウント、無料プロバイダー、MX、入力ミス候補を調べ、更新されるデータセットとSDKのオフラインスナップショットを備えています。
主な機能
- 01使い捨てアドレスの検出
- 02ロールアカウントの検出
- 03無料プロバイダーの分類
- 04MX検証と入力ミス候補
- 05一括チェックとドメイン照会
- 06SDKのスナップショットへのフォールバック
活用シーン
- 01登録時のメールアドレス確認
- 02ドメインの入力ミス修正候補の提示
- 03メールアドレスを送らずにドメイン確認
- 04API障害中もチェックを継続
MCP 対応
キー不要のホスト型MCPサーバーとローカルstdio MCPサーバーを提供し、check_emailとcheck_domainツールを公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.mailverdict.dev/mcpclaude mcp add --transport http dev-mailverdict-mailverdict https://api.mailverdict.dev/mcp{"mcpServers":{"dev-mailverdict-mailverdict":{"type":"http","url":"https://api.mailverdict.dev/mcp"}}}Cursor で開く{"servers":{"dev-mailverdict-mailverdict":{"type":"http","url":"https://api.mailverdict.dev/mcp"}}}VS Code で開く{"mcpServers":{"dev-mailverdict-mailverdict":{"type":"http","url":"https://api.mailverdict.dev/mcp"}}}{"mcpServers":{"dev-mailverdict-mailverdict":{"serverUrl":"https://api.mailverdict.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| mx | boolean | いいえ | MX レコードを検索するかどうか(デフォルト true)。 |
| string | はい | 確認するメールアドレス。 |
詳細
mailverdict
メールインテリジェンス API:使い捨て/一時アドレスの検出、ロールアカウントの検出、無料プロバイダーの分類、MX 検証、入力ミス候補の提案。 最初のプランはキー不要で無料です。コーディングエージェントがサインアップフローを構築する際に利用する、メールチェック用の依存先を目指しています。
API: https://api.mailverdict.dev · npm: mailverdict ·
最新情報フィード(「Burner Feed」): GET /v1/changes
開発の背景
どの SaaS サインアップフォームにも、同じ3つの答えが必要です。使い捨てアドレスか? 人のアドレスか、それとも info@ のようなメールボックスか? ドメインの入力を間違えていないか? 現在の選択肢は、自分で取り込まなければならない古い GitHub リストか、サインアップしないと利用できない有料の検証サービスです。このプロジェクトの価値はコードではありません(意図的に小さくしています)。価値は保守されているデータセットにあります。使い捨てドメインは日々入れ替わるため、このリポジトリでは保守されているすべての公開ソースから毎日データセットを再構築し、さらに独自の調査で継続的に拡充しています。
クイックスタート
npm install
npm run build:data # fetch + merge upstream lists into data/dataset.json
npm test
npm run dev # http://localhost:8787
Node >= 20 が必要です。
curl "localhost:8787/v1/[email protected]"
{
"email": "[email protected]",
"user": "jane",
"domain": "mailinator.com",
"tag": null,
"normalized_email": "[email protected]",
"result": "risky",
"reason": "disposable_email",
"score": 5,
"valid_syntax": true,
"disposable": true,
"disposable_match": "mailinator.com",
"role": false,
"free": false,
"mx_found": true,
"mx_records": ["mail2.mailinator.com"],
"did_you_mean": null,
"accept_all": null
}
Kickbox/Emailable の業界慣例に従ったレスポンスです(
result、reason、値のみのブール値、完全な修正後アドレスを示すdid_you_mean、0~100 のscore)。これらの API 向けに書かれたコードは、ほとんど変更せずに移行できます。
エンドポイント:GET /v1/check?email= · GET /v1/check/{email} ·
POST /v1/check(バッチ ≤100) · GET /v1/domain/{domain} ·
GET /v1/changes?since=24h(最新情報フィード) · GET /v1/meta ·
/llms.txt · /openapi.yaml。DNS ルックアップを省略するには mx=false を追加します。
プライバシーを重視したデフォルト: 使い捨てアドレス/入力ミスのチェックだけが必要な場合は、ドメイン(/v1/domain/{domain})をチェックしてください。メールアドレスがシステムの外部に送信されることはありません。ロール検出または正規化が必要な場合は、完全なメールチェックを使用してください。
SDK:最新のデータと静的な安全策
sdk/ は連携方法を提供します。ライブ API を呼び出し、タイムアウト/障害時には同梱されたオフラインスナップショットにフォールバックします。ベンダー提供の静的リストより新しいデータを利用でき、サインアップ処理における実行時の必須依存にはなりません。
import { createClient } from 'mailverdict'
const check = await createClient().checkEmail(input)
if (check.disposable) reject() // check.source: 'live' | 'snapshot'
npm では mailverdict として公開されています。sdk/README.md を参照してください。
MCP サーバー
ホスト型、キー不要のリモートサーバーです。任意の MCP クライアントから次の URL を指定してください。
POST https://api.mailverdict.dev/mcp
ステートレスな Streamable HTTP(JSON-RPC 2.0)を使用します。サインアップやキーは不要です。ツール:
check_email、check_domain。
ローカル利用向けに stdio サーバーも提供しています。
npm run mcp # stdio transport; tools: check_email, check_domain
Claude Code には、ローカルサーバーを次のように登録します:
claude mcp add mailverdict -- npx tsx src/mcp.ts(このディレクトリから実行)。
アーキテクチャ
pipeline/build.ts daily: fetch upstream lists -> merge/dedupe -> apply
allowlist -> data/dataset.json + data/meta.json
src/lib/* pure logic: parse, classify, suggest, MX-over-DoH
src/app.ts Hono app (runtime-agnostic)
src/server.ts Node entry (self-hosting)
src/worker.ts Cloudflare Workers entry (production: api.mailverdict.dev)
src/mcp.ts MCP stdio server for coding agents
.github/workflows/ daily dataset refresh + auto-commit
DNS には DoH(cloudflare-dns.com)を使用しているため、同じコードが Node とエッジランタイムの両方で動作します。サブドメインは親ドメインと同じものとして照合されます(foo.mailinator.com → mailinator.com)。
データソースと帰属表示
このデータセットは、以下の優れた寛容なライセンスのコミュニティリストを集約しています。
各ビルドにおけるソースごとの件数、ステータス、ライセンスについては data/meta.json をご覧ください
(ライセンスのないリストと GPL リストは意図的に除外しています)。
- disposable-email-domains(CC0。ブロックリスト+固定許可リスト — 上流で
allowlist.confが削除されました(2026-04)) - disposable/disposable(MIT。大規模な日次 CI アグリゲーター)
- groundcat/disposable-email-domain-list(MIT。MX 検証済み+維持されている許可リスト)
- FGRibreau/mailchecker(MIT)
- wesbos/burner-email-providers(MIT)
- 7c/fakefilter(BSD-3-Clause。ボットによる更新)
- unkn0w/disposable-email-domain-list(MIT。手作業で精選)
- Kikobeats/free-email-domains(MIT。HubSpot 由来)
- mixmaxhq/role-based-email-addresses(MIT。ロールベースのローカルパート)、および
pipeline/roles.tsの厳選された追加項目
マージの優先順位(重要 — フリープロバイダーリストには、一時メールの
ドメインや mailinator.com、gmial.com のようなタイポスクワットが含まれます):
許可リストで使い捨てメールの判定を解除し、その後、使い捨てメールの判定をフリーメールより優先します。
ロードマップ
mailverdict はエージェントファーストで構築されています。最初の呼び出しは登録なしで動作し、
ドキュメントはコーディングエージェントが操作できる形式(/llms.txt、OpenAPI)で、
データセットの鮮度は主張するのではなく Burner Feed で証明できます。
- キーレスの無料 API — 最初の呼び出しは登録なしで動作
- 業界互換のレスポンス形式(Kickbox/Emailable の慣例:
result、reason、did_you_mean、真偽値のみ) -
llms.txt(エージェントが操作可能:エンドポイント優先、curl で呼び出し可能)、OpenAPI 仕様 - MCP サーバー — ローカル stdio と
/mcpのホスト型キーレスリモート(Streamable HTTP) - データセットの日次自動更新+自動デプロイ
- 鮮度変更履歴+
/v1/changesフィード(クリーンビルドの差分のみ。保持期間は 90 日) - スナップショットのフォールバックをバンドルした SDK を npm(
mailverdict)で公開 - Cloudflare Workers(
api.mailverdict.dev)での本番デプロイ - 公式 MCP レジストリへの登録(
dev.mailverdict/mailverdict) - IP ごとのレート制限
- 検出遅延ベンチマーク:新しい使い捨てメールドメインがデータセットに追加されるまでの時間を測定して公開
- Better Auth プラグイン(
before-createフックでのキーレスチェック) - フレームワークのコード例(Zod
.refine()、React Hook Form、サーバーアクション) - 大量利用/商用利用向けのオプション API キー
ステータス
v0.1.1 — https://api.mailverdict.dev(Cloudflare Workers)で稼働中です。/mcp にホスト型キーレスリモート MCP サーバーがあり、公式 MCP レジストリにも登録されています。データセットは GitHub Actions を通じて毎日更新・再デプロイされ、mailverdict SDK は npm で公開されています。コアロジック、HTTP レイヤー、MCP ハンドラー、SDK のライブ/フォールバック経路を対象に、41 件のテストを実施しています。
免責事項、プライバシー、公正な利用
- 判定ではなく、参考情報です。 分類は公開ブロックリストとヒューリスティックを集約したものであり、誤検知が発生することがあります(ドメインは変化し、参照元のリスト間で意見が一致しない場合があります)。単一の真偽値だけでユーザーをブロックせず、独自のシグナルと組み合わせ、フラグが付いたユーザーが先に進める方法を用意してください。
- 誤ってリストに登録されていますか? ドメインが誤分類されている場合は、誤分類ドメインの報告を作成してください。許可リストの修正は次回の日次ビルドに反映され、参照元リストに問題がある場合は修正を上流に提出します。
- プライバシー。 アカウントは不要で、メールアドレスは記録せず、リクエストごとのデータも保存しません。MX チェックで公開 DNS-over-HTTPS リゾルバーに送信されるのは ドメイン のみです(ローカル部は送信されません)。トラフィック指標は集計され、PII は含まれません。
- SLA はありません。 ホスト型 API はベータ期間中、無料でベストエフォートにて提供されます。登録フローで当サービスによるブロックを絶対に避けたい場合は、SDK を使用する(同梱のオフラインスナップショットにフォールバックします)か、セルフホストしてください。詳しくは docs/deploy.md をご覧ください。
- 公正な利用。 アプリケーション内での登録やフォームの検証向けに構築されています。購入またはスクレイピングしたメーリングリストを一括で整理するために使用しないでください。IP ごとのレート制限が適用され、不正なトラフィックはブロックされます。
商用利用と上限の引き上げ
ホスト型 API は、IP ごとのレート制限付きで無料です。より高いスループット、SLA、または商用条件が必要な場合は、[email protected] までメールでお問い合わせください。
ライセンス
MIT — LICENSE をご覧ください。コードとデータセットのパイプラインに適用されます。ホスト型サービス api.mailverdict.dev は、いかなる種類の保証もなく「現状のまま」提供されます。集約データセットの各ソースにはそれぞれ独自の許容的ライセンスがあり、ソースごとに data/meta.json に記録されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。