Static security scan of a harness's declared MCP surface via `harness mcp-scan <path>`. Reads `.mcp/servers.json` + `.harness/claims.json`. Pure-read, no dispat
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-harness-mcp-scan-3dc30579de7e ,按照其中的说明把「harness-mcp-scan」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Calls harness mcp-scan to enumerate every declared MCP server + tool
and flag policy / permission / dependency issues. Never executes any
tool; pure static analysis.
Implementation: scripts/mcp-scan.mjs.
harness binary (metaharness@~0.4.1, resolved from a
local install or the one-time ~/.ruflo/metaharness-cache-<pin> cache —
never @latest): harness mcp-scan <path> --json.findings[] with { severity, id, server, tool, message }.--fail-on <severity>: exit 1 when any finding is at or above that
level. Default high.| Severity | Rank |
|---|---|
| low | 1 |
| medium | 2 |
| high | 3 |
--fail-on high (default) only fails on HIGH; --fail-on medium also
fails on MEDIUM; --fail-on low fails on any finding.
- name: MCP static scan
run: node plugins/ruflo-metaharness/scripts/mcp-scan.mjs --fail-on high
The exit code is the only thing CI watches; the JSON output goes to artifacts for human review.
When harness binary is unavailable (no network, blocked registry),
emits structured { degraded: true, reason: 'metaharness-not-available' }
and exits 0. Ruflo continues — ADR-150 architectural constraint.