Email Deliverability Checker

io.github.kryptoscan由 GitHub 账号 kryptoscan 发布v0.1.0更新于 Oct 29, 2026

Check SPF, DKIM, DMARC, blocklists, reverse DNS and email headers against Gmail/Yahoo sender rules.

已验证Streamable HTTP可网页运行沟通与协作安全与监控

概览

AI 生成的概览

只读的 MCP 服务器,用于诊断邮件送达率:SPF、DKIM、DMARC、黑名单、反向 DNS 与收到的邮件头。

可以做什么
  • 检查域名的 SPF 记录与查询次数、DMARC 策略与报告、常见选择器上的 DKIM 密钥以及 MX 记录,按严重程度列出问题并给出修复建议,同时识别所用的邮件服务。
  • 检查发信 IP 的反向 DNS 及是否回指该 IP,并查询其在多个黑名单中的收录情况。
  • 将粘贴的邮件头对照 Gmail 与 Yahoo 的批量发信要求检查:SPF、DKIM、DMARC、From 对齐、一键退订、TLS、反向 DNS 与 Message-ID。
适用场景
适用于域名或服务器发出的邮件进入垃圾箱、配置 SPF、DKIM 与 DMARC,或在群发前确认邮件是否符合 Gmail 与 Yahoo 的批量发信要求。
运行要求
托管版本以远程 HTTP 端点提供,无需账号或 API 密钥,按 IP 限流。自行部署需要 Node.js 20 或更高版本,或使用 Docker。可选变量 BLOCKLIST_DNS 与 DNS_SERVERS 可将查询指向自建解析器。
安装前请注意
工具为只读:仅读取公开 DNS 或你粘贴的邮件头文本,不存储任何内容。托管版本使用公共解析器,因此 Spamhaus 结果会显示为 refused(未知)而非真实收录;需要私有解析器才能得到真实结果。对齐判断采用简化规则,特殊后缀可能误判。README 中推广了厂商的付费发信服务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Email Deliverability Checker,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.kryptoscan%2Femail-deliverability-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "email-deliverability-checker": {
      "type": "http",
      "url": "https://api.ownmailserver.com/tools/mcp"
    }
  }
}

README

email-deliverability-mcp

An MCP server that lets Claude (or any MCP client) diagnose email deliverability:

  • check_domain: SPF (including the 10-DNS-lookup limit), DMARC policy and reporting, DKIM keys on common selectors, and MX records, with a ranked list of problems and the fix for each. It also names the email services a domain uses (Google Workspace, SendGrid, Amazon SES and others).
  • check_sending_ip: reverse DNS (PTR) and whether it resolves back to the IP, plus listings on Spamhaus ZEN, Barracuda, SpamCop, PSBL, Mailspike and UCEPROTECT level 1.
  • check_email_headers: paste a received message's headers and check them against Gmail's and Yahoo's sender requirements: SPF, DKIM, DMARC, From alignment, one-click unsubscribe (and whether DKIM covers it), TLS, reverse DNS and Message-ID.

Every tool is read-only: it reads public DNS or the text you give it. Nothing is sent anywhere else, and no account or API key is needed.

Use it without installing

A hosted copy runs at:

https://api.ownmailserver.com/tools/mcp

Add it to Claude as a custom connector (Settings → Connectors → Add custom connector), or in Claude Code:

sh
claude mcp add --transport http email-deliverability https://api.ownmailserver.com/tools/mcp

It's free and needs no account. It's rate-limited per IP, uses public DNS resolvers (so Spamhaus results show as "refused"; see below), and stores nothing. For heavy use or a real Spamhaus answer, run your own copy.

Install

Requires Node.js 20 or later.

Claude Code

sh
claude mcp add email-deliverability -- npx -y email-deliverability-mcp

Claude Desktop (claude_desktop_config.json)

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

Docker

sh
docker build -t email-deliverability-mcp .docker run -i --rm email-deliverability-mcp

Things to ask

  • "Check example.com's email setup and tell me what to fix first."
  • "Why might our emails from shop.example be going to spam?" (then paste a message's headers)
  • "Is 192.0.2.25 on any blocklists? Does its reverse DNS look right?"
  • "Does this email meet Gmail's bulk sender rules?"
  • "Our SPF record fails sometimes. Are we over the lookup limit?"

Configuration

VariableDefaultWhat it does
BLOCKLIST_DNSthe system resolverComma-separated IPs of a recursive resolver you run, used for blocklist lookups.
DNS_SERVERSthe system resolverComma-separated resolver IPs for all other lookups.

Why BLOCKLIST_DNS matters

Spamhaus refuses queries that arrive through big public resolvers (8.8.8.8, 1.1.1.1 and the like) and answers 127.255.255.x instead. Many blocklist checkers misread that as "listed". This server reports it as refused, meaning unknown, and says so. To get a real Spamhaus answer, point BLOCKLIST_DNS at a recursive resolver of your own, such as unbound on 127.0.0.1.

How the checks work

  • SPF lookups follow include: and redirect= recursively and count every include, a, mx, ptr, exists and redirect term, as RFC 7208 does. More than 10 is a permanent error at most receivers.
  • DKIM keys sit under selectors that only the sender knows, so the server probes about 30 common ones. Pass your own with dkim_selectors (find it in the s= value of a message's DKIM-Signature header). Domains that answer every name (wildcard DNS) are detected and not reported as having keys.
  • Header checks read the topmost Authentication-Results header, which is what the recipient's mailbox provider concluded, and the newest Received hop that names the sending server.
  • Alignment compares organizational domains with a simple rule (the last two labels, or three for names like example.co.uk). It's not a full Public Suffix List lookup, so unusual suffixes may be misjudged.

Development

sh
npm installnpm test          # unit tests with a fake DNS resolvernpm run build     # compiles to dist/npm run start:http  # the HTTP version (PORT, MCP_PATH, TRUST_PROXY, RATE_LIMIT, GLOBAL_LIMIT)

About

Built by OwnMailServer, which runs dedicated email sending for businesses that send 250,000 to 1,000,000 emails a month: your own server and IP, a Resend-style API and SMTP, managed warm-up and daily monitoring. OwnMailServer accounts also get a Claude connector for their own sending data: delivery stats, bounces, complaints and message history.

The same checks are available as free web tools: the email health checker and the bulk sender checker.

License

MIT

来源:README.md,提交 5981484

工具

3

check_domain

Check a domain's email DNS

Check a domain's SPF (including the 10-DNS-lookup limit), DMARC policy and reporting, DKIM keys on common selectors, and MX records. Returns problems ranked by severity with the fix for each, plus the email services the domain uses.

输入参数domain必填dkim_selectors

check_sending_ip

Check a sending IP

Check a mail server's IP: reverse DNS (PTR) and whether it resolves back to the IP, and listings on Spamhaus ZEN, Barracuda, SpamCop, PSBL, Mailspike and UCEPROTECT level 1. A refused Spamhaus query is reported as unknown, never as a listing.

输入参数ip必填

check_email_headers

Check email headers

Check a received email's headers against Gmail's and Yahoo's bulk sender requirements: SPF, DKIM and DMARC results, From domain alignment, one-click unsubscribe (and whether DKIM covers it), TLS, reverse DNS and Message-ID. Use the full headers as the recipient got them (Gmail: Show original).

输入参数headers必填

版本历史

1
  1. v0.1.0最新Oct 29, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分