MCP server: One MCP server.

Email Verifier MCP

@panstoriesMCP server · External

Verify email deliverability with RFC format, MX, SMTP and disposable-domain checks.

Identity verificationv1.0.0MITTypeScript
Freeno charge per call

One address for any MCP client. Your key stays in your Odel vault.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Tools

None listed · checked 10 Oct 2026

Odel could not list its tools without signing in.

Try it in the Inspector
README8 min read

Verify email addresses without paying a per-lookup API fee. RFC 5321 syntax, MX records, a 182,000-domain disposable blacklist and role-account detection — all from free DNS. SMTP handshake is opt-in and off by default.

License: MIT MCP Transport M8ven Verified M8ven Score

🌐 English · 简体中文 · 繁體中文

It lives atLink
Hosted MCP endpointhttps://neeenja--email-verifier-mcp.apify.actor/mcp — zero setup, works today
Apify Storehttps://apify.com/neeenja/email-verifier-mcp
Source codehttps://github.com/PanStories/Email-Verifier-MCP
Self-host (clone)git clone https://github.com/PanStories/Email-Verifier-MCP && cd Email-Verifier-MCP && npm i && npm start
npm package🚧 publish in progress — not yet on npm; use the hosted endpoint or clone above for now
Featured onSartbot Featured

English

Current version: 1.0.0

What you get

Every product with a signup form needs to know whether an email is real. The usual answer is a paid API — SendGrid, Hunter, ZeroBounce — billed per lookup. This server does the checks that actually catch bad signups using free DNS queries and an open-source blocklist, so the marginal cost is zero.

It is built agent-native: point your agent at the hosted endpoint or run it locally — no dashboard, no account, no API key for the DNS checks.

ChecksRFC 5321 syntax · MX record · 182,000+ disposable domains · role accounts · optional SMTP handshake
Cost$0 per lookup. No third-party API, no key, no quota
ComplianceDNS-only by default — no outbound SMTP unless you opt in
TransparencyEvery check scored separately, so you can see why an address passed

Tools

ToolWhat it does
check_emailFull check on one address: syntax + MX + disposable + role, optional SMTP. Returns a human summary and structured JSON.
verify_bulkSame checks for up to 10 addresses at once, plus a summary line.
check_mxStandalone MX lookup, sorted by priority.
is_disposableIs this address or domain a throwaway provider? Accepts user@mailinator.com or mailinator.com.

Also exposed: resource blacklist://stats (blocklist size and source) and prompt verify_signup_email (an accept / flag / reject decision template).

Example

jsonc
// request
{ "email": "someone@gmail.com" }

// response (structured)
{
  "email": "someone@gmail.com",
  "valid": true,
  "score": 80,
  "reason": "DNS checks passed",
  "checks_passed": ["syntax", "mx", "blacklist", "role"],
  "mx_records": [{ "priority": 10, "exchange": "gmail-smtp-in.l.google.com" }],
  "disposable": false,
  "role_account": false
}

Confidence score

The score is additive and fully explainable — no black box.

CheckPointsNote
Syntax20RFC 5321 / HTML5-flavoured pattern
MX record exists30Domain actually accepts mail
Not disposable20Against the 182k-domain list
Not a role account10support@, noreply@, … are flagged, not failed
SMTP reachable10Only when the handshake is enabled
SMTP confirms mailbox10Only when the handshake is enabled

80/100 means every DNS check passed. The last 20 points require the optional SMTP handshake, which is off by default. valid is a separate boolean: it is true only when syntax passes, an MX record exists, and the domain is not disposable.

Connect

Option A — self-host via npx (free, unlimited). Runs as a stdio subprocess inside your own agent:

json
{
  "mcpServers": {
    "email-verifier-mcp": {
      "command": "npx",
      "args": ["-y", "email-verifier-mcp"]
    }
  }
}

🚧 The npx package is being published to npm. Until it lands, clone the repo (see the table above) or use the hosted endpoint (Option B).

Option B — hosted endpoint on Apify. Use it from anywhere, including agents that cannot spawn subprocesses:

json
{
  "mcpServers": {
    "email-verifier-mcp": {
      "type": "streamable-http",
      "url": "https://neeenja--email-verifier-mcp.apify.actor/mcp",
      "headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
    }
  }
}

Works with Claude Desktop, Cursor, Windsurf, GitHub Copilot, and any other MCP client.

Compliance

Default verification is DNS-only — it never opens an outbound SMTP connection, so it cannot be mistaken for port-25 scanning.

The SMTP handshake is opt-in (smtp: true) and should only be enabled from infrastructure you control. Some mail providers treat unsolicited SMTP probes as abuse, and many return 250 to every RCPT TO specifically to defeat probing — so smtp_likely_valid is reported honestly as null when the answer is inconclusive rather than guessed.

Pricing

initialize / tools/listFree — agents can always connect and discover
Any tool call$0.005 on the hosted Apify endpoint
Self-hosted via npxFree and unlimited — the source is MIT

The hosted endpoint is pay-per-event: no subscription, no minimum. Running it locally with npx costs nothing.

Development

bash
npm install
npm run build        # tsc -> dist/
npm test             # unit tests
npm run e2e          # stdio end-to-end (initialize -> tools/list -> tools/call)
npm run e2e:http     # HTTP end-to-end (readiness probe + full protocol)
npm run showcase     # real-DNS demo -> verify-showcase.html

License

MIT. The disposable-domain list comes from disposable-email-domain (MIT, refreshed weekly).

Privacy

Read-only and stateless. Submitted email addresses are processed in memory only and are not stored; the opt-in SMTP handshake discloses the checking host's IP to the recipient's mail server. See PRIVACY.md.


简体中文

你能得到什么

任何带注册环节的产品都要判断邮箱是不是真的。常见方案是付费 API —— SendGrid、Hunter、ZeroBounce 按次计费。本服务用免费 DNS 查询 + 开源黑名单完成真正有效的检查,边际成本为零。

它面向 Agent 设计:把 Agent 指向托管端点,或在本地自行运行 —— 不需要仪表盘、不需要账号、DNS 检查不需要 API key。

检查项RFC 5321 语法 · MX 记录 · 18.2 万个一次性域名 · 角色账号 · 可选 SMTP 握手
成本每次查询 $0。无第三方 API、无密钥、无配额
合规默认仅 DNS —— 不主动发起出站 SMTP,除非你显式开启
可解释每项检查单独计分,能看清地址为什么通过

工具

工具作用
check_email单个地址全量校验:语法 + MX + 一次性域名 + 角色账号,可选 SMTP。同时返回人类可读摘要与结构化 JSON。
verify_bulk最多 10 个地址批量校验,并给出汇总。
check_mx独立 MX 查询,按优先级排序。
is_disposable判断地址或域名是否为临时邮箱。支持 user@mailinator.com 或 mailinator.com。

另外还提供资源 blacklist://stats(黑名单规模与来源)与提示词 verify_signup_email(接受 / 标记 / 拒绝的决策模板)。

示例

jsonc
// 请求
{ "email": "someone@gmail.com" }

// 响应(结构化)
{
  "email": "someone@gmail.com",
  "valid": true,
  "score": 80,
  "reason": "DNS checks passed",
  "checks_passed": ["syntax", "mx", "blacklist", "role"],
  "mx_records": [{ "priority": 10, "exchange": "gmail-smtp-in.l.google.com" }],
  "disposable": false,
  "role_account": false
}

置信度评分

评分是累加式的,完全可解释,不是黑盒。

检查项分值说明
语法20RFC 5321 / HTML5 风格匹配
MX 记录存在30域名确实能收信
非一次性域名20基于 18.2 万域名黑名单
非角色账号10support@、noreply@ 等只标记,不判失败
SMTP 可达10仅当开启握手
SMTP 确认邮箱存在10仅当开启握手

80/100 代表所有 DNS 检查全部通过。 最后 20 分需要可选的 SMTP 握手,而它默认是关闭的。valid 是独立的布尔值:只有语法通过、MX 存在、且非一次性域名时才为 true。

连接方式

方式 A —— 本地 npx 自托管(免费、无限次)。在你的 Agent 进程内以 stdio 子进程运行:

json
{
  "mcpServers": {
    "email-verifier-mcp": {
      "command": "npx",
      "args": ["-y", "email-verifier-mcp"]
    }
  }
}

🚧 npx 包正在发布到 npm。在发布完成前,请克隆仓库(见上方表格)或使用托管端点(方式 B)。

方式 B —— Apify 托管端点。任何地方都能调用,包括无法启动子进程的 Agent:

json
{
  "mcpServers": {
    "email-verifier-mcp": {
      "type": "streamable-http",
      "url": "https://neeenja--email-verifier-mcp.apify.actor/mcp",
      "headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
    }
  }
}

兼容 Claude Desktop、Cursor、Windsurf、GitHub Copilot 及任何其他 MCP 客户端。

合规说明

默认校验仅使用 DNS —— 不建立任何出站 SMTP 连接,因此不会被误判为 25 端口扫描。

SMTP 握手是可选开启的(smtp: true),只应在你能掌控的基础设施上启用。部分邮件服务商会把未经请求的 SMTP 探测视为滥用,且很多服务会对所有 RCPT TO 一律返回 250 来反探测 —— 因此当结论不明确时,smtp_likely_valid 会诚实地返回 null,而不是猜一个结果。

定价

initialize / tools/list免费 —— Agent 永远能连上并发现工具
任意工具调用托管 Apify 端点 $0.005
npx 自托管免费且无限次 —— 源码为 MIT 许可

托管端点按次计费:无订阅、无最低消费。本地用 npx 运行不产生任何费用。

本地开发

bash
npm install
npm run build        # tsc -> dist/
npm test             # 单元测试
npm run e2e          # stdio 端到端(initialize -> tools/list -> tools/call)
npm run e2e:http     # HTTP 端到端(就绪探针 + 完整协议)
npm run showcase     # 真实 DNS 演示 -> verify-showcase.html

许可

MIT。一次性域名列表来自 disposable-email-domain(MIT,每周更新)。


繁體中文

你能得到什麼

任何帶註冊環節的產品都要判斷信箱是不是真的。常見做法是付費 API —— SendGrid、Hunter、ZeroBounce 按次計費。本服務用免費 DNS 查詢 + 開源黑名單完成真正有效的檢查,邊際成本為零。

它為 Agent 而生:把 Agent 指向託管端點,或在本地自行執行 —— 不需要儀表板、不需要帳號、DNS 檢查不需要 API key。

檢查項目RFC 5321 語法 · MX 紀錄 · 18.2 萬個一次性網域 · 角色帳號 · 可選 SMTP 握手
成本每次查詢 $0。無第三方 API、無金鑰、無配額
合規預設僅 DNS —— 不主動發起出站 SMTP,除非你明確開啟
可解釋每個檢查項目單獨計分,能看清地址為什麼通過

工具

工具作用
check_email單一地址完整驗證:語法 + MX + 一次性網域 + 角色帳號,可選 SMTP。同時回傳人類可讀摘要與結構化 JSON。
verify_bulk最多 10 個地址批次驗證,並提供彙整。
check_mx獨立 MX 查詢,依優先級排序。
is_disposable判斷地址或網域是否為拋棄式信箱。支援 user@mailinator.com 或 mailinator.com。

另外提供資源 blacklist://stats(黑名單規模與來源)與提示詞 verify_signup_email(接受 / 標記 / 拒絕的決策範本)。

範例

jsonc
// 請求
{ "email": "someone@gmail.com" }

// 回應(結構化)
{
  "email": "someone@gmail.com",
  "valid": true,
  "score": 80,
  "reason": "DNS checks passed",
  "checks_passed": ["syntax", "mx", "blacklist", "role"],
  "mx_records": [{ "priority": 10, "exchange": "gmail-smtp-in.l.google.com" }],
  "disposable": false,
  "role_account": false
}

信心分數

分數採累加式,完全可解釋,不是黑盒子。

檢查項目分數說明
語法20RFC 5321 / HTML5 風格比對
MX 紀錄存在30網域確實能收信
非一次性網域20依 18.2 萬網域黑名單
非角色帳號10support@、noreply@ 等僅標記,不判失敗
SMTP 可連線10僅在開啟握手時
SMTP 確認信箱存在10僅在開啟握手時

80/100 代表所有 DNS 檢查全數通過。 最後 20 分需要可選的 SMTP 握手,而它預設關閉。valid 是獨立的布林值:只有語法通過、MX 存在、且非一次性網域時才為 true。

連線方式

方式 A —— 本機 npx 自託管(免費、無限量)。在你的 Agent 行程內以 stdio 子行程執行:

json
{
  "mcpServers": {
    "email-verifier-mcp": {
      "command": "npx",
      "args": ["-y", "email-verifier-mcp"]
    }
  }
}

🚧 npx 套件正在發佈到 npm。發佈完成前,請克隆倉庫(見上方表格)或使用託管端點(方式 B)。

方式 B —— Apify 託管端點。任何地方都能呼叫,包含無法啟動子行程的 Agent:

json
{
  "mcpServers": {
    "email-verifier-mcp": {
      "type": "streamable-http",
      "url": "https://neeenja--email-verifier-mcp.apify.actor/mcp",
      "headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
    }
  }
}

相容 Claude Desktop、Cursor、Windsurf、GitHub Copilot 以及任何其他 MCP 用戶端。

合規說明

預設驗證僅使用 DNS —— 不建立任何出站 SMTP 連線,因此不會被誤判為 25 埠掃描。

SMTP 握手是可選開啟的(smtp: true),只應在你能掌控的基礎設施上啟用。部分郵件服務商會把未經請求的 SMTP 探測視為濫用,且許多服務會對所有 RCPT TO 一律回應 250 來反制探測 —— 因此當結論不明確時,smtp_likely_valid 會誠實回傳 null,而不是猜測結果。

定價

initialize / tools/list免費 —— Agent 永遠能連上並探索工具
任何工具呼叫託管 Apify 端點 $0.005
npx 自託管免費且無限量 —— 原始碼採 MIT 授權

託管端點按次計費:無訂閱、無最低消費。本機以 npx 執行不會產生任何費用。

本機開發

bash
npm install
npm run build        # tsc -> dist/
npm test             # 單元測試
npm run e2e          # stdio 端到端(initialize -> tools/list -> tools/call)
npm run e2e:http     # HTTP 端到端(就緒探針 + 完整協定)
npm run showcase     # 真實 DNS 展示 -> verify-showcase.html

授權

MIT。一次性網域清單來自 disposable-email-domain(MIT,每週更新)。


Support · 赞助 · 贊助

EN — Email Verifier MCP is open source (MIT), ad-free. It is funded by the community, not by ads. If it powers your agents or workflow, please support it:

简体中文 — Email Verifier MCP 开源(MIT)、无广告,由社区资助而非广告。若它支撑了你的智能体或工作流,欢迎赞助:点本仓库的 Sponsor 按钮(跳转 Ko-fi)或前往 https://ko-fi.com/panstories

繁體中文 — Email Verifier MCP 開源(MIT)、無廣告,由社群資助而非廣告。若它支撐了你的智能體或工作流,歡迎贊助:點本倉庫的 Sponsor 按鈕(導向 Ko-fi)或前往 https://ko-fi.com/panstories

Thank you! · 谢谢 · 謝謝 💙

Similar modules

Browse Identity verification