DNS Doctor MCP 服务器与 Claude Code 插件用于从任意 AI 智能体中扫描、修复和验证域名的 DNS 配置,重点覆盖邮件认证(SPF、DMARC、DKIM),并延伸至多区域传播、SPF include 供应链审计、MX、DNS 健康、黑名单以及域名/SSL 到期检查。
主要能力
- 扫描与诊断:对指定域名执行扫描,检查 DMARC 策略、SPF 记录有效性及查询次数、DKIM 选择器、黑名单状态、域名到期时间等。
- 修复建议:生成并验证修复记录。所有修复记录由确定性引擎(RFC 语法加 SPF 10 次查询计数器)生成并验证,而非 LLM 猜测,确保返回的记录能正确解析,避免看似合理但实际失效的字符串。
- 监控读取:提供 get_alerts、get_readiness、get_lookalikes 三个监控读取工具,以及 dnsdoctor://domains 资源(持续监控的域名及其最新逐项检查状态)。
- 两种传输方式:托管 Streamable HTTP(https://dnsdoctor.dev/mcp,无需安装、无需密钥)与本地 stdio(npx -y @dnsdoctor/mcp@1.10.3,本地运行并调用公共 REST API,不持有诊断逻辑,逐字转发记录字符串)。两种传输方式提供相同的 22 个工具。
使用方式
- Claude Code 插件:添加 marketplace/仓库并启用插件。启用后技能自动加载,dns-doctor MCP 服务器连接至 https://dnsdoctor.dev/mcp。开发期间也可将 Claude Code 指向本目录的本地检出。
- claude.ai(MCP 连接器):添加自定义连接器,URL 为 https://dnsdoctor.dev/mcp,传输方式为 Streamable HTTP,认证为无(匿名)或 Bearer 令牌。
- 任意 MCP 客户端:使用标准配置。
- 可选 API 令牌:匿名访问覆盖扫描与修复;账户 API 令牌解锁账户自身的监控数据(get_alerts、get_readiness、get_lookalikes 工具及 dnsdoctor://domains 资源)。在 https://dnsdoctor.dev 登录后,进入 Settings → API tokens 创建令牌,明文(dnsd_…)仅显示一次。在 .mcp.json 中为服务器添加 Authorization 头:{ "mcpServers": { "dns-doctor": { "type": "http", "url": "https://dnsdoctor.dev/mcp", "headers": { "Authorization": "Bearer ${DNSDOCTOR_API_TOKEN}" } } } },然后在环境中导出 DNSDOCTOR_API_TOKEN=dnsd_YOUR_TOKEN。切勿提交令牌。
- 环境变量:DNSDOCTOR_API_TOKEN 可选(匿名访问覆盖扫描与修复;三个监控读取需要它)。DNSDOCTOR_API_BASE 可覆盖源站,必须提供 /api/… 路径的源站,即公共站点而非裸后端端口。
- 从源码构建 stdio 服务器:tools.json 和 instructions.txt 由托管服务器生成并由后端测试固定,切勿手动编辑,也不要向 src/ 添加工具描述。这两个文件随 npm 包发布;缺少它们客户端将没有工具,也没有安全指引。
适用场景
- 邮件进入垃圾箱时排查 DMARC、SPF、DKIM 配置问题。
- 需要生成可直接发布、语法正确的 DNS 修复记录。
- 对域名进行一次性诊断或持续监控(需 API 令牌)。
- 审计 SPF include 供应链、检查多区域传播、MX、黑名单及域名/SSL 到期。
限制
- 匿名访问仅覆盖全部 15 个诊断工具,足以完成一次性诊断;监控读取工具和 dnsdoctor://domains 资源需要有效令牌,否则调用被拒绝并提示账户所有者生成令牌的页面。
- 本地 stdio 服务器仅注册工具,不提供资源。
- 本地 stdio 服务器本身不持有诊断逻辑,仅转发公共 REST API 返回的记录字符串。
- 修复记录需由用户在 DNS 主机中应用,并确认已获批准后重新扫描验证。
- 项目采用 Apache-2.0 许可证。
方法论(判定如何计算):https://dnsdoctor.dev/methodology REST API / OpenAPI 模式:https://dnsdoctor.dev/api/v1/openapi.json