关于 dnsprobe
dnsprobe 是一个命令行工具和 stdio MCP 服务,通过无需密钥的 intodns.ai API 执行 DNS 与邮件安全诊断,并提供本地解析和生成能力。它适用于需要检查域名、邮件认证和 HTTP 安全标头的域名运营者及邮件管理员。
主要功能
- 01域名扫描与 DNS 查询
- 02DNSSEC 与传播检查
- 03SPF、DKIM、DMARC 和 BIMI 检查
- 04本地解析 DMARC 报告和邮件
- 05HTTP 安全标头分析与生成
适用场景
- 01排查 DNS 和域名配置
- 02检查邮件认证与黑名单状态
- 03解析 DMARC 汇总报告或原始邮件标头
- 04生成安全标头配置片段
MCP 相关
通过 stdio MCP 服务提供 21 项诊断工具,涵盖上游 API 检查以及本地解析和生成。可通过 DNSPROBE_SITE_URL 指定兼容 intodns.ai 的主机。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
21收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| domain | string | 是 | 此工具要处理的域名。 |
详细介绍
dnsprobe
dnsprobe 通过免费的、无需密钥的 intodns.ai 公共 API,运行 DNS 和电子邮件安全诊断:完整域名扫描、DNS 查询、DNSSEC 验证、传播检查、WHOIS/RDAP,以及电子邮件身份验证体系——SPF(包括扁平化)、DKIM 发现、DMARC、BIMI、MTA-STS 和黑名单检查。它还会在本地解析 DMARC 汇总报告和原始电子邮件,并在本地生成 HTTP 安全标头集合。一个二进制文件同时提供命令行界面和 stdio MCP 服务。
这是一个标注过的核心子集:上游 README 工具表中列出的 21 个工具已实现。未实现的工具包括 nis2_quickscan、get_everything_report、
create_report_snapshot、get_report_snapshot、start_deep_scan、
get_deep_scan_status、cancel_deep_scan、check_tlsa_dane、
check_smtp_tls、check_fcrdns、check_sender_requirements、
create_email_test、get_email_test、poll_email_test、
explain_issue、generate_dns_fix、check_http3、
get_hall_of_fame、read_llm_discovery、get_citation_guidance、
以及 scan_csp。(上游 README 标题称有 45 个工具;其中的六张表共列出了 42 个具名工具。)
无需 API 密钥。可以通过 DNSPROBE_SITE_URL 覆盖站点基础 URL;未设置时,调用将发送至 https://intodns.ai。上游端点路径是根据该站点可见的 /api/... 约定整理得出的;公共规范文档说明了工具名称和描述,但未说明路径。
安装
npx @reneturcios/dnsprobe get_health
也可以运行容器镜像:
docker run -i ghcr.io/cloudcorprecords/dnsprobe
容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。
CLI
子命令与 MCP 工具名称对应:
dnsprobe scan_domain example.com
dnsprobe lookup_dns example.com --type MX
dnsprobe validate_dnssec example.com
dnsprobe whois_lookup example.com
dnsprobe check_spf example.com
dnsprobe check_email_security example.com
dnsprobe analyze_security_headers https://example.com
dnsprobe generate_security_headers --preset strict --format nginx
dnsprobe get_health
dnsprobe get_pdf_report_link example.com
dnsprobe --version
命令会输出上游 JSON 负载、本地计算结果或生成的链接。退出码:成功时为 0,调用失败(包括上游 API 错误)时为 1,用法错误时为 2。
有五个工具从不调用网络:parse_dmarc_report 会将 DMARC 汇总(RUA)XML 报告解析为结构化元数据、策略,以及包含邮件总数的逐条 SPF/DKIM/DMARC 结果;analyze_raw_email 会解析原始 MIME 标头(包括展开折叠行),提取 Authentication-Results 中的 SPF/DKIM/DMARC 判定,并统计 Received 跳数;generate_security_headers 会根据 recommended、strict 或 report-only 预设,将标头集合渲染为原始标头,或 nginx、Apache、Caddy、Cloudflare 或 _headers 配置;get_pdf_report_link 和 get_badge_link 会构建 {base}/api/pdf/{domain} 和 {base}/api/badge/{domain}。
MCP 服务
一个二进制文件提供两种接口。mcp 子命令会启动 stdio MCP 服务:
npx -y @reneturcios/dnsprobe mcp
MCP 客户端配置:
{
"mcpServers": {
"dnsprobe": {
"command": "npx",
"args": ["-y", "@reneturcios/dnsprobe", "mcp"]
}
}
}
如需将服务指向其他兼容 intodns.ai 的主机,请在该服务的客户端 env 中添加 DNSPROBE_SITE_URL。
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
scan_domain | domain | 等级、评分、DNS/电子邮件/安全结果、问题和建议。 |
lookup_dns | domain,可选的 type | 域名的 DNS 记录。 |
validate_dnssec | domain | DNSSEC 链、DS/DNSKEY 和算法验证结果。 |
check_dns_propagation | domain | 全球解析器的传播情况。 |
whois_lookup | query | 域名或 IP 的 WHOIS/RDAP 数据。 |
check_spf | domain | SPF 解析、查询关系图和验证结果。 |
flatten_spf | domain | 将 SPF 关系图展开为字面量 ip4/ip6 机制。 |
discover_dkim | domain | 发现的 DKIM 选择器。 |
check_dmarc | domain | DMARC 解析和策略验证结果。 |
parse_dmarc_report | xml | 结构化的 DMARC 汇总报告(本地解析)。 |
check_bimi | domain | BIMI DNS、徽标 URL 和 VMC/CMC 就绪情况。 |
check_mta_sts | domain | MTA-STS DNS 和策略文件验证结果。 |
check_blacklist | domain | 域名邮件服务器的黑名单状态。 |
check_email_security | domain | 完整的 SPF/DKIM/DMARC/黑名单检查,包含评分和问题。 |
analyze_raw_email | raw | 原始电子邮件的邮件头和身份验证分析(本地)。 |
analyze_security_headers | url | 正在运行的网站现有/缺失的 HTTP 安全标头。 |
generate_security_headers | 可选的 preset、format | 生成的安全标头集和配置片段(本地)。 |
get_health | (无) | API、缓存和运行时健康状态。 |
get_stats | (无) | 公开扫描/检查计数。 |
get_pdf_report_link | domain | {base}/api/pdf/{domain} URL(本地)。 |
get_badge_link | domain | {base}/api/badge/{domain} URL(本地)。 |
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。