关于 DMARKOFF — DMARC, SPF & DKIM Analytics
DMARKOFF MCP 将 DMARKOFF 的邮件身份验证分析接入 MCP 客户端,供管理 DMARC、SPF 和 DKIM 的团队使用。它结合报告诊断、实时 DNS 检查和策略就绪度建议,并提供有限的域名接入与发送源决策写入操作。
主要功能
- 01分析 DMARC、SPF 和 DKIM 报告
- 02检查发送源、趋势、异常和记录历史
- 03查询 DNS 中的 SPF、DMARC、DKIM 和 TXT 记录
- 04评估隔离或拒绝策略的就绪度
- 05添加域名并记录发送源决策
适用场景
- 01找出导致 SPF 或 DMARC 失败的发送源
- 02调查合规率或邮件量变化
- 03判断域名能否收紧 DMARC 策略
- 04查询 DNS 记录或接入域名
MCP 相关
远程 MCP 服务提供分析、实时 DNS、域名接入和发送源决策工具。大多数工具为只读;`add_domain` 和 `set_source_decision` 可执行有限写入,并要求相应的账户权限。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.dmarkoff.com/mcpclaude mcp add --transport http dmarcoff https://mcp.dmarkoff.com/mcp{"mcpServers":{"dmarcoff":{"type":"http","url":"https://mcp.dmarkoff.com/mcp"}}}在 Cursor 中打开{"servers":{"dmarcoff":{"type":"http","url":"https://mcp.dmarkoff.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"dmarcoff":{"type":"http","url":"https://mcp.dmarkoff.com/mcp"}}}{"mcpServers":{"dmarcoff":{"serverUrl":"https://mcp.dmarkoff.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.dmarkoff.com/mcp需要授权工具
详细介绍
DMARKOFF MCP
在 AI 助手中进行 DMARC 分析。
DMARKOFF MCP 通过 Model Context Protocol,将你的 DMARC 监控数据连接到 AI 助手——Claude、ChatGPT、Cursor、Windsurf。你无需打开仪表板并设置筛选条件,只需提出问题,就能获得有实际数据支撑的答案。
端点: https://mcp.dmarkoff.com/mcp
要求: 拥有有效的 DMARKOFF 账户,以及从 app.dmarkoff.com/account/mcp 获取的 API 密钥
实际使用示例
“过去 14 天内,哪些域名的合规率下降了?”
AI 会检查你所有项目的健康状况,并找出发生变化的项目——按变化幅度排序。
“example.com 的 SPF 为什么验证失败?问题发件方是谁?”
AI 会检查回信路径、找出发件来源(例如,SendGrid 使用自己的退信域名,而不是你的域名),并告诉你需要修复什么。
“与上周相比,电子邮件流量有什么异常吗?”
AI 会将最近一个完整报告日与此前 14 天进行比较——合规率、未知发件方数量和邮件数。这类检查大多数团队都会跳过,因为手动设置太耗时。
“example.com 现在可以改为 p=reject 吗?”
AI 会读取 DMARKOFF 针对该域名的就绪计划,并给出判断结果。它会指出仍需设置 DKIM 的发件方及设置位置、需要确认并非你的未知来源,以及在没有任何事项阻碍时应发布的确切记录。告诉它哪些发件方属于你,它就会将这些信息记录到计划中。在计划将某个发件方视为你自己的发件方并准备移除它之前,AI 会先征求你的同意。
快速连接
Claude.ai
- Settings → Connectors → Add custom connector
- URL:
https://mcp.dmarkoff.com/mcp - Advanced settings:
- OAuth Client ID:
claude(任意值) - OAuth Client Secret:你的 DMARKOFF API 密钥
- OAuth Client ID:
- 点击 Add,然后点击 Connect
支持 Free(最多 1 个自定义连接器)、Pro、Max、Team 和 Enterprise。
Claude Desktop
点击聊天窗口中的 + → Connectors → Manage Connectors → Add custom connector,粘贴 URL,然后完成 OAuth 流程。
或者编辑配置文件(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"dmarkoff": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.dmarkoff.com/mcp",
"--header",
"Authorization: Bearer YOUR_API_KEY"
]
}
}
}
Claude Code
claude mcp add --transport http dmarkoff https://mcp.dmarkoff.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Cursor
Settings → Tools & MCP → Add new MCP server,选择 Streamable HTTP,然后输入 URL。
或者编辑 ~/.cursor/mcp.json:
{
"mcpServers": {
"dmarkoff": {
"url": "https://mcp.dmarkoff.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
ChatGPT(Business / Enterprise / Edu)
启用 Developer Mode,然后前往 Settings → Apps → Create App:
- MCP 服务 URL:
https://mcp.dmarkoff.com/mcp - Auth type:OAuth
- Client ID:
chatgpt - Client Secret:你的 DMARKOFF API 密钥
- Authorization URL:
https://mcp.dmarkoff.com/oauth/authorize - Token URL:
https://mcp.dmarkoff.com/oauth/token - Scope:留空——服务会签发不限定范围的令牌
Windsurf
编辑 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"dmarkoff": {
"serverUrl": "https://mcp.dmarkoff.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
注意:Windsurf 使用
serverUrl,而不是url。
可以询问的问题
Show me an overview of all my DMARC projects
Which domains have Critical severity right now?
Why is SPF failing on example.com? Which senders are the problem?
Are there anomalies in email traffic over the last 24 hours?
Show me source details for example.com grouped by ISP — only rows where SPF is failing
We publish p=reject on example.com — why did some mail still get delivered?
Gmail is throttling us on example.com. What are they actually complaining about?
Our SPF record is at 10 lookups — which includes still carry mail and which can go?
Compliance on example.com dropped last week. Did the DMARC or SPF record change?
Can example.com move to p=reject? What's holding it?
Klaviyo is ours, and the unknown host sending as example.com is not. Record that for the plan.
实时 DNS 检查——适用于任何域名,无论是否受监控:
Check the SPF record for example.com — are there too many DNS lookups?
What DMARC policy does example.com have right now?
Look up the DKIM key for selector "google" on example.com
为新域名完成接入——助手会注册该域名,并提供需要发布的确切 TXT 记录:
Add example.com to my project and tell me what to put in DNS
We already have DMARC on example.com — add our reporting address without touching the rest of the record
工具
分析(需要 API 密钥)
| 工具 | 功能 |
|---|---|
projects_overview | 汇总所有项目:域名数量、三项合规率、严重程度分布 |
list_domains | 按严重程度、搜索查询和付款状态筛选域名;支持分页 |
get_domain_full_data | 完整诊断:DMARC/SPF/DKIM 记录、统计数据、时间线、趋势,以及上一时段的相同数据——从这里开始 |
get_domain_stats | 自定义日期范围内的合规百分比 |
get_domain_timeline | 每日邮件数量和认证结果 |
get_domain_activity_health | 按日显示 SPF/DKIM/DMARC 严重程度与 14 天基线的对比——检测情况发生变化的时间和原因 |
get_domain_senders | 按已知 ESP、未知来源和转发来源细分的主要发送源——可按提供商或发送域名查看,并显示每个发送域名在就绪计划中的位置 |
get_domain_source_details | 按 IP、ISP、主机名或报告方分组的记录详情,支持筛选 |
get_domain_anomaly_report | 最近一个数据完整日(UTC 时间 2 天前)与此前 14 天的对比——标记合规率下降、流量下降、没有报告的日期、停止发送报告的报告方,以及以停放域名身份发送的邮件;排除的域名和未付款域名不评估流量 |
get_geo_sources | 按合规统计显示前 100 个发送位置 |
get_domain_detail | DMARC 记录文本、策略、各维度的健康状态、错误、名称服务器 |
get_spf_records | SPF 返回路径、查询次数、错误,以及各来源的通过/失败流量 |
get_dkim_records | DKIM 选择器、签名域名,以及各来源的通过/失败流量 |
get_record_history | DMARC、SPF 或 DKIM 记录的历史版本,以及各次检查之间的更改内容——查明故障何时发生 |
get_policy_overrides | 接收方未执行你的策略的原因:ARC、转发、抽样、本地规则 |
get_smtp_rejections | SMTP 阶段被限流或拒收的邮件,按原因分类——解释 Gmail 的 421/550 代码 |
get_spf_usage | 实际承载邮件的 SPF 机制,以及记录遗漏的发送方——用于清理查询次数超限问题 |
get_enforcement_status | DMARKOFF 为域名制定的就绪计划:是否可以转为隔离或拒收(或先取消 pct)、有哪些阻碍、需要确认哪些来源,以及应发布的记录 |
实时 DNS(需要 API 密钥,但无需受监控的项目)
| 工具 | 功能 |
|---|---|
dns_check_spf | 当前 SPF 记录、接收方对其的评估结果(如 ok、permerror 等)、解析后的 include 树和查询次数 |
dns_check_dmarc | DNS 中当前的 DMARC 策略 |
dns_check_dkim | 指定选择器的 DKIM 公钥 |
dns_check_txt | 所有 TXT 记录及其类型分类——包括 spf-ignored,即看似 SPF 但接收方不会读取的记录 |
generate_dmarc_record | 域名应发布的 DMARC 记录;在 DNS 中现有记录的基础上合并,并在检查器判定无效时进行修复,同时保留当前生效的策略。关联项目时,会将你的报告地址添加到 rua |
接入(需要 API 密钥和项目所有者权限)
| 工具 | 功能 |
|---|---|
add_domain | 向项目添加最多 20 个域名,并返回这些域名应发布的 DMARC 记录 |
来源决策(需要 API 密钥和项目所有者权限)
| 工具 | 功能 |
|---|---|
set_source_decision | 记录你对某个发送源的判断(属于我们、不属于我们或忽略),供就绪计划使用;也可清除此判断。若要移除计划计入你方发送源的来源,会先征求确认 |
除两个工具外,所有工具均为只读(根据 MCP 规范,readOnlyHint: true)。add_domain 会创建域名。它不会更新或删除任何内容,而且添加的每个非停放域名都会占用你套餐中的一个付费域名名额。set_source_decision 会保存、更改或清除你对某个域名的一项发信来源所作的决定,或确认你移除的某个来源继续保持移除状态。它无法添加或移除域名、更改你的 DNS 或触及报告数据。移除套餐自带的某个发信来源后,只有在你确认后才会保存;每次更改都会记录 API 密钥为操作者。工具参考列出了该检查涵盖的来源。 |
安全性
- API 密钥身份验证 — 访问权限仅限于你的 DMARKOFF 账户
- OAuth 2.1(RFC 8414、RFC 9728)— 兼容 Claude.ai 和 ChatGPT 使用的标准 MCP 流程
- 项目级隔离 — AI 只能看到你的 API 密钥有权访问的内容
- 按 API 密钥进行速率限制 — 防止意外过度使用
- 两个工具可写入 —
add_domain会在你拥有的项目中创建域名。set_source_decision会记录你对自己所拥有项目中某项发信来源的决定。它的说明要求助手仅在你提出请求时使用,而且在你确认之前,服务不会移除套餐计入你自有发信来源的来源。其他所有工具均为只读。没有工具会删除域名或报告数据,也没有工具会更改你的 DNS
与其他 DMARC MCP 工具的区别
DNS 检查会告诉你 SPF 验证失败。DMARKOFF MCP 则会告诉你具体是哪个发信来源导致失败、过去两周有多少封邮件受到影响,以及如何修复。数据来自你的汇总报告——也就是实际流量,而不仅仅是 DNS 中发布的内容。
它还能回答后续问题:问题是否为新出现(每份域名报告都会同时列出上一周期和当前周期的数据)、有人编辑记录前的内容是什么、接收方为何忽略你发布的策略,以及超长 SPF 记录中的哪些部分仍在消耗 DNS 查询次数。
当你想收紧策略时,它会读取 DMARKOFF 对域名能否采用隔离或拒收策略的判断。该判断依据 DMARKOFF 应用和策略升级邮件中策略建议背后的方案,因此助手和 DMARKOFF 给出的答案一致。
故障排除
客户端中未显示工具
→ 确认你的客户端支持 Streamable HTTP(而不只是 SSE)。
→ 某些客户端在配置更改后需要完全重启。
401 未授权
→ 在 app.dmarkoff.com/account/mcp 检查你的 API 密钥。
“未找到项目”
→ API 密钥需要至少有权访问一个项目。登录 app.dmarkoff.com 进行确认。
OAuth 错误
→ Client Secret 字段应填写你的 DMARKOFF API 密钥,而不是账户密码。
无法记录对发信来源的决定
→ 记录决定需要拥有项目所有者权限。在共享项目中也可以读取就绪度计划。
需要帮助? 发送邮件至 [email protected],或提交问题。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。