跳到正文

扫描器如何判定

扫描器如何判定

三种判定,规则公开。觉得哪个不对就告诉我们:正是这种反馈让它变得更好。

智能体就绪
页面至少注册了一个 WebMCP 工具,linter 没有发现错误,且智能体就绪评分达到 70 或以上。名称过长之类的警告不影响。
差一点
页面注册了工具,但至少有一个存在 linter 错误(invalid-name, duplicate-name, missing-description, invalid-input-schema, invisible-unicode,或者大小超过硬性上限),或者评分低于 70。
还没有
页面没有注册任何 WebMCP 工具。我们会显示智能体改为阅读页面要花多少 token。

扫描如何进行

  1. 我们在自己的服务器上用无头 Chrome 打开页面,不带 Cookie,也不登录。
  2. 在页面脚本运行之前,我们加入一个 WebMCP 宿主,让页面像在智能体的浏览器里一样注册工具。它也接受旧的 navigator.modelContext 和 provideContext,基于它们构建的网站也能显示工具。
  3. 页面加载完成、工具稳定后,我们读取每个工具的名称、描述、输入 schema 和注解,并用 linter 检查。
  4. token 数根据页面文本估算:字符数除以 4。
  5. 为了计算评分,同一个浏览器会获取网站的 robots.txt、llms.txt、站点地图、Markdown 版本、Link 响应头、Agent Skills 索引和 API 目录(每项 3 s,同源,不带 Cookie),只记录每一项是否存在。
  6. 评分满分 100:WebMCP 50(工具 25、无 lint 错误 15、每个工具都有描述 5、每个工具都有注解 5),智能体成本 15(有工具即满分,否则按页面 token 数计),可读性 20,可发现性 15(每项检查 5)。
  7. 结果会复用 10 分钟;每位访客每分钟可以发起一次新的扫描。

全部 linter 规则及其理由

觉得判定有误?附上扫描链接提交 issue。