关于 harness-mcp-scan
harness-mcp-scan 是用于静态检查已声明 MCP 服务及工具的技能,可发现策略、权限和依赖问题。它面向仓库维护者和 CI 流程,不会执行工具,并支持 JSON 或 Markdown 输出。
主要功能
- 01枚举已声明的 MCP 服务和工具
- 02发现策略、权限及依赖问题
- 03按可配置严重级别决定失败
- 04输出 JSON 或 Markdown
- 05harness 不可用时优雅降级
适用场景
- 01在 CI 中检查 MCP 配置
- 02将扫描结果作为 JSON 工件审阅
- 03在本地有 harness 时运行扫描
MCP 相关
静态检查已声明的 MCP 服务和工具;不会调用或执行这些工具。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill harness-mcp-scan安装后在 Claude Code 中输入/harness-mcp-scan确认已加载。
详细介绍
调用 harness mcp-scan,枚举所有声明的 MCP 服务和工具,
并标记策略、权限和依赖问题。绝不执行任何工具;纯静态分析。
算法
- 调用固定版本的
harness二进制文件(metaharness@~0.4.1,从本地安装或一次性~/.ruflo/metaharness-cache-<pin>缓存中解析—— 绝不使用@latest):harness mcp-scan <path> --json。 - 解析
findings[],其中包含{ severity, id, server, tool, message }。 --fail-on <severity>:存在任何达到或高于该级别的问题时,以状态码 1 退出。默认值为high。- 输出 JSON(默认)或 Markdown 表格。
严重性等级
| 严重性 | 等级 |
|---|---|
| low | 1 |
| medium | 2 |
| high | 3 |
--fail-on high(默认值)仅在出现 HIGH 级问题时失败;--fail-on medium 还会在出现 MEDIUM 级问题时失败;--fail-on low 则在出现任何问题时失败。
CI 集成
- name: MCP static scan
run: node plugins/ruflo-metaharness/scripts/mcp-scan.mjs --fail-on high
CI 只监视退出代码;JSON 输出会作为构件保存,供人工审查。
优雅降级
当 harness 二进制文件不可用时(没有网络、注册表被阻止),
会输出结构化结果 { degraded: true, reason: 'metaharness-not-available' }
并以状态码 0 退出。Ruflo 会继续运行——这是 ADR-150 的架构约束。
评论
支持 Markdown