SuperAPI AI 工具集

codehealth-mcp

编程与开发

查看项目

更新于 10-15 10:36

技能介绍

用途

Code Health MCP(CodeScene)为 AI 辅助编程提供结构化的可维护性反馈。它补充了风格与 lint 类技能(如 coding-standards、plankton-code-quality),从设计层面给出健康评分与回归门禁。

上游项目:codescene-oss/codescene-mcp-server 包名:@codescene/codehealth-mcp(通过 npx 以 stdio 方式运行)

安全与边界

  • 选择性启用(ECC):mcp-configs/mcp-servers.json 中的 codescene 块仅为模板。ECC 插件安装不会自动启用捆绑的 MCP 服务器。只有在你需要时才将该条目复制到你的配置中。你可以在 ECC 安装/同步时通过 ECC_DISABLED_MCPS=codescene,... 将其排除。
  • 凭据:不捆绑令牌。请自行设置 CS_ACCESS_TOKEN(参见上游仓库中的 getting-a-personal-access-token.md)。切勿将令牌提交到仓库。
  • 工具读取的内容:调用时,工具会分析你指向的本地仓库中的文件和 git 状态(你传入的路径,以及 analyze_change_set 的分支上下文)。它们不会自行运行。独立模式下,请遵循上游隐私文档:codescene-mcp-server README 和 CodeScene 政策。不要将此技能用于机密、凭据或你不希望被分析的路径。
  • 如果 MCP 不可用(离线、令牌错误、服务器崩溃):不要编造 Code Health 评分。告知用户检查已跳过。仅在用户明确批准后继续。MCP 不可用时,优先使用 lint/测试/verification-loop 进行门禁。服务器连接后重新启用检查。

何时使用

  • 用户要求审查代码质量、重构文件,或检查 AI 改动是否降低了可维护性
  • 编辑热点、遗留模块或不熟悉的文件之前
  • 提交或拉取请求之前,需要可维护性保障时
  • 大型 agent 编写的 diff 之后——验证 Code Health 未退化
  • 与 verification-loop、tdd-workflow 或 /quality-gate 搭配作为结构检查(不能替代测试/lint)

何时激活

与上述“何时使用”相同的触发条件——此标题是 ECC 用于技能自动激活的依据。

工作原理

1. 连接 MCP 服务器

将 mcp-configs/mcp-servers.json 中的 codescene 条目复制到你的 harness MCP 配置中。

Claude Code(~/.claude.json → mcpServers):

"codescene": {
  "command": "npx",
  "args": ["-y", "@codescene/codehealth-mcp"],
  "env": {
    "CS_ACCESS_TOKEN": "YOUR_CS_ACCESS_TOKEN_HERE"
  }
}

项目级:将同一块合并到仓库根目录的 .mcp.json 中。

令牌设置记录在上游仓库中(链接见上)。独立模式不需要付费 CodeScene 平台账号即可使用下面列出的四个工具。重启会话,并在依赖评分之前确认 codescene 服务器已连接。

2. 仅调用独立工具

工具 何时使用
code_health_review 修改文件前的完整结构分析
code_health_score 每次改动后的快速数值评分(增量检查)
pre_commit_code_health_safeguard 阻止引入 Code Health 退化的提交
analyze_change_set 开 PR 前的分支级检查

不要调用仅平台可用的工具(例如仓库级技术债务热点列表)。不要引用 delta_analysis——独立模式下不可用。

3. 解读评分(1–10)

范围 含义 Agent 行为
9.0–10.0 绿色——健康 较安全地扩展;仍优先垂直切片
4.0–8.9 黄色——债务 谨慎行事;不要顺手重构
1.0–3.9 红色——严重债务 仅限窄范围

4. 运行反馈循环

触碰文件之前

  1. 对目标路径运行 code_health_review。
  2. 记录基线评分和列出的代码异味。
  3. 规划解决任务的最小改动。
  4. 按评分限定范围:低于 5——仅最小 diff;5–7——不做大范围重构;高于 7——重构较安全,但每次编辑后仍需验证。

每次改动之后

  1. 对同一文件运行 code_health_score。
  2. 与 code_health_review 的基线比较。
  3. 如果评分退化,继续之前先修复。评分低于开始时,绝不标记任务完成。

每次提交之前——对仓库路径运行 pre_commit_code_health_safeguard。

PR 之前——针对基础分支(例如 main)运行 analyze_change_set。

示例

示例:Flask 可维护性改进

在 pallets/flask 上,仅使用独立工具的 agent 循环:

  1. 对目标模块运行 code_health_review(基线 4.82)
  2. 针对列出的异味进行定向重构
  3. 每次编辑后运行 code_health_score
  4. 提交前运行 pre_commit_code_health_safeguard
  5. PR 前运行 analyze_change_set

结果:Code Health 4.82 → 9.1(仅使用免费独立令牌)。

示例:AGENTS.md 强制块

粘贴到项目 AGENTS.md 或 CLAUDE.md:

## Code Health (CodeScene MCP)

Before modifying any file: run `code_health_review`, note score and issues.

- Score below 5: problematic range — scope changes narrowly.
- Score 5–7: warning range — no broad refactors.

After each change: run `code_health_score` to verify delta.

- If score regressed: fix before continuing; never declare done if score dropped.

Before every commit: run `pre_commit_code_health_safeguard`.

Before PR: run `analyze_change_set`.

示例:反模式 vs 正确循环

# BAD: Edit first, check later
[large refactor without code_health_review]

# BAD: Ignore score drop
"Tests pass" → mark task done while Code Health decreased

# BAD: Broad refactor on red-score file (below 5)
Drive-by cleanup across the module

# GOOD: review → small change → score → commit safeguard → analyze_change_set

与 ECC 搭配

ECC 技能/流程 Code Health MCP 角色
coding-standards 风格/命名;Code Health = 结构/复杂度
plankton-code-quality 写入时 lint/format;Code Health = 编辑前后结构门禁
verification-loop / /quality-gate 在“完成”前增加结构回归检查
security-review 安全 vs 可维护性——相关时两者都用
tdd-workflow 测试通过 ≠ 设计健康——重构后检查评分

上下文提示:ECC 建议保持较低的 MCP 数量。进行实质性编辑时启用 codescene;不需要时禁用。

相关技能

  • coding-standards——基线约定
  • plankton-code-quality——写入时 lint/format 钩子
  • verification-loop——构建/测试/lint 门禁
  • tdd-workflow——测试优先开发
  • security-review——安全检查清单
  • documentation-lookup——通过 Context7 查询库文档(正交)