MCP 服务器发布自检器

提交被驳回,多半不是代码问题,是这几项:命名空间不对、TXT 记录放错位置、描述超长、版本重复。 我们提交自己的 x402 数据市场时把这些坑踩了个遍——同一版本号不能重复发布(必须 1.0.0 → 1.0.1)、 TXT 记录必须放在域名根而不是 _mcp-auth 这类选择器下、description 超过 100 字符直接拒。 这个工具按官方规则逐项校验并生成可直接执行的命令序列。

免费 · 无需登录 本地生成 · 内容不上传 对应事故 · 版本重复发布被拒

1命名空间与身份

域名验证必须是域名的反写:feegate.org → org.feegate;GitHub 验证则是 io.github.用户名。

2服务器信息

当前 0 字符 ·

结果自检结论

输出server.json

0 行
—

输出发布命令序列

0 行
—
顺序别乱:先验证身份 → 再发布。发布不是给官方仓库提 PR,必须用 mcp-publisher 从你自己的项目目录执行。

速查常见驳回原因

报错 / 现象真凶怎么修
version already exists同一版本号不能重复发布版本号 +1(1.0.0 → 1.0.1)再发
generic signature errorTXT 记录放到了 _mcp-auth.域名 这类选择器下必须放在域名根(apex),SPF 式放置而非 DKIM 式
换了密钥后验证仍失败旧的 TXT 记录没删,被优先读到轮换密钥时同步删除旧 TXT
HTTP 验证本机 curl 通、官方失败官方是从它自己的机器拉取;且不跟随 3xx验证文件必须直出 200,不能跳转;检查 IPv6 AAAA 是否可达
命名空间校验不过name 不是域名的反写形式feegate.org 对应 org.feegate/*
description 被拒超过 100 字符压到 100 以内,把细节留给 README
macOS 生成密钥失败系统 LibreSSL 不支持 Ed25519用 OpenSSL 3.0+(brew install openssl@3)
这个坑我们踩过

1 · 同一版本号不能重发。发布成功后想改 description,必须把版本从 1.0.0 升到 1.0.1,否则直接被拒。

2 · TXT 必须在域名根。直觉会把记录加到 _mcp-auth.example.com,官方只认 apex(example.com),加了选择器一律报泛化的签名错误,很难联想到是位置错了。

3 · 发布不是提 PR。往官方仓库加 server.json 或改 seed.json 都不会上架,必须在自己的项目目录用 CLI 发。

4 · 官方拉取和自己 curl 是两回事。官方从它的基础设施访问,且不跟随跳转;IPv6 记录指向不可达地址会直接失败,哪怕浏览器里 IPv4 一切正常。