mcpField
D
dnsprobe

dnsprobe

本地服务
github.com/CloudCorpRecords安全01 周前更新

关于 dnsprobe

dnsprobe 是一个命令行工具和 stdio MCP 服务,通过无需密钥的 intodns.ai API 执行 DNS 与邮件安全诊断,并提供本地解析和生成能力。它适用于需要检查域名、邮件认证和 HTTP 安全标头的域名运营者及邮件管理员。

主要功能

  1. 01域名扫描与 DNS 查询
  2. 02DNSSEC 与传播检查
  3. 03SPF、DKIM、DMARC 和 BIMI 检查
  4. 04本地解析 DMARC 报告和邮件
  5. 05HTTP 安全标头分析与生成

适用场景

  1. 01排查 DNS 和域名配置
  2. 02检查邮件认证与黑名单状态
  3. 03解析 DMARC 汇总报告或原始邮件标头
  4. 04生成安全标头配置片段

MCP 相关

通过 stdio MCP 服务提供 21 项诊断工具,涵盖上游 API 检查以及本地解析和生成。可通过 DNSPROBE_SITE_URL 指定兼容 intodns.ai 的主机。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-dnsprobe": {
"command": "npx",
"args": [
"-y",
"@reneturcios/dnsprobe"
]
}
}
}
启动命令npx -y @reneturcios/dnsprobe

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/dnsprobe0.1.0
ocighcr.io/cloudcorprecords/dnsprobe:0.1.0

工具

21

收录的工具列表 · 更新于 1 周前

参数类型必填说明
domainstring是此工具要处理的域名。

详细介绍

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_domaindomain等级、评分、DNS/电子邮件/安全结果、问题和建议。
lookup_dnsdomain,可选的 type域名的 DNS 记录。
validate_dnssecdomainDNSSEC 链、DS/DNSKEY 和算法验证结果。
check_dns_propagationdomain全球解析器的传播情况。
whois_lookupquery域名或 IP 的 WHOIS/RDAP 数据。
check_spfdomainSPF 解析、查询关系图和验证结果。
flatten_spfdomain将 SPF 关系图展开为字面量 ip4/ip6 机制。
discover_dkimdomain发现的 DKIM 选择器。
check_dmarcdomainDMARC 解析和策略验证结果。
parse_dmarc_reportxml结构化的 DMARC 汇总报告(本地解析)。
check_bimidomainBIMI DNS、徽标 URL 和 VMC/CMC 就绪情况。
check_mta_stsdomainMTA-STS DNS 和策略文件验证结果。
check_blacklistdomain域名邮件服务器的黑名单状态。
check_email_securitydomain完整的 SPF/DKIM/DMARC/黑名单检查,包含评分和问题。
analyze_raw_emailraw原始电子邮件的邮件头和身份验证分析(本地)。
analyze_security_headersurl正在运行的网站现有/缺失的 HTTP 安全标头。
generate_security_headers可选的 preset、format生成的安全标头集和配置片段(本地)。
get_health(无)API、缓存和运行时健康状态。
get_stats(无)公开扫描/检查计数。
get_pdf_report_linkdomain{base}/api/pdf/{domain} URL(本地)。
get_badge_linkdomain{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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。