内容
# DNS 医生 — Claude 代码插件
诊断和修复域名的电子邮件身份验证(SPF、DMARC、DKIM、MX、黑名单、域名/SSL 到期)从 Claude 中。 此插件捆绑了 DNS 医生 **技能**(扫描 → 诊断 → 修复工作流程)和一个 **MCP 服务器配置**,指向托管的 DNS 医生工具。
优势:您获得的每个修复记录都是由确定性引擎生成的,并经过验证 — RFC 语法加上 SPF 10 次查找计数器 — **从不进行 LLM 猜测**。您的代理人向人类提供已经正确解析的记录,而不是一个看似合理但却静默失败的字符串。
## 内部内容
```
claude-plugin/
├── .claude-plugin/plugin.json # 插件清单
├── .mcp.json # MCP 服务器:https://dnsdoctor.dev/mcp (HTTP)
├── skills/dns-doctor/SKILL.md # 扫描 → 诊断 → 修复工作流程
├── LICENSE # Apache-2.0
└── README.md
```
## 添加的工具
| 工具 | 功能 |
|---|---|
| `scan_domain` | 域名的全新扫描;完整报告。 |
| `get_report` | 持久化报告(如果不存在则扫描一次)。 |
| `build_dmarc_upgrade` | 验证的 DMARC 强制记录 — 仅当服务器派生的对齐门通过时,`p=reject`。 |
| `enroll_monitoring_trial` | 向人类发送双重选择加入链接,创建他们的免费帐户;一旦他们添加域名并使用 TXT 记录验证,监控就会开始。 |
`dnsdoctor://domains` 资源(您的受监控域名)始终列出;读取它需要 API 令牌,如果没有则拒绝。匿名访问足以进行一次性诊断。
## 安装
### Claude 代码
添加市场/存储库并启用插件:
```bash
/plugin marketplace add dnsdoctor/claude-plugin
/plugin install dns-doctor
```
> 公共主页:[github.com/dnsdoctor/claude-plugin](https://github.com/dnsdoctor/claude-plugin)(组织 `dnsdoctor`,域名已验证)。该插件在 DNS 医生 monorepo 中开发,并在此处发布为干净的发布快照。
或在开发过程中,将 Claude 代码指向此目录的本地检查。一旦启用,技能会自动加载,`dns-doctor` MCP 服务器将连接到 `https://dnsdoctor.dev/mcp`。
### claude.ai(MCP 连接器)
添加自定义连接器:
- **网址:** `https://dnsdoctor.dev/mcp`
- **传输:** 可流式 HTTP
- **身份验证:** 无(匿名)— 或 Bearer 令牌(如下)
## 可选:监控域名的 API 令牌
匿名访问涵盖扫描和修复。每个帐户的 API 令牌解锁 `dnsdoctor://domains` 资源(您的持续监控的域名及其最新的每次检查状态)。
1. 在 <https://dnsdoctor.dev> → **设置 → API 令牌** → 创建令牌。纯文本(`dnsd_…`)仅显示一次;复制它。
2. 将 `Authorization` 头添加到 `.mcp.json` 中的服务器:
```json
{
"mcpServers": {
"dns-doctor": {
"type": "http",
"url": "https://dnsdoctor.dev/mcp",
"headers": { "Authorization": "Bearer ${DNSDOCTOR_API_TOKEN}" }
}
}
}
```
然后在环境中导出 `DNSDOCTOR_API_TOKEN=dnsd_YOUR_TOKEN`。永远不要提交令牌。
### 传输
托管的可流式 HTTP 端点(`https://dnsdoctor.dev/mcp`,在此插件的 `.mcp.json` 中连接)是支持的公共传输 — 无需安装,无需密钥。(对于 DNS 医生维护人员,仅存在本地 stdio 入口;其源代码不是此存储库的一部分。)
## 工作示例
> **您:** 我们的发票不断出现在客户的垃圾邮件中。域名是 `example.com`。
>
> **Claude**(`scan_domain` → `example.com`):DMARC 处于 `p=none`,因此没有任何措施强制执行对齐 — 接收者无法将您的邮件与伪造邮件区分开来。SPF 传递,使用了 10 次查找中的 7 次。DKIM:找到并验证了选择器。未被列入黑名单。域名在 240 天后过期。
>
> **Claude**(`build_dmarc_upgrade` → `example.com`):SPF 已对齐,DKIM 存在,因此强制执行到 `p=reject` 是安全的。在 `_dmarc.example.com` 处发布此确切的 TXT 记录 — **逐字粘贴,不要编辑它**:
>
> ```
> v=DMARC1; p=reject; rua=mailto:dmarc@example.com; adkim=r; aspf=r
> ```
>
> 在您确认获得批准后,在 DNS 主机中应用它,然后要求我重新扫描以验证。您想使用聚合报告警报持续监控域名吗?我可以将设置链接发送到您的电子邮件。
## 了解更多
- **方法论**(如何计算判决):<https://dnsdoctor.dev/methodology>
- **REST API / OpenAPI 模式:** <https://dnsdoctor.dev/api/v1/openapi.json>
## 许可证
Apache-2.0 — 请参阅 [LICENSE](./LICENSE)。