MCP规格评分
在Claude构建之前,先对你的规格进行评分。
平衡的规范产生平衡的代码。不平衡的规格会产生创造性的小说。
问题
当你的规范在某些方面很详细,但在其他方面很模糊时,克劳德不会要求澄清——它会填补空白。结果编译成功,测试通过,但这不是你的意思。
这个工具在你开始构建之前就捕捉到了这一点。它在4个轴上给你的规格打分,告诉你哪一个最弱,并给你一个具体的提示来修复它。
4轴
| Axis | 它回答的问题 |
|---|---|
| 完整性 | 克劳德能理解要构建什么的全部范围吗? |
| 清晰 | 只有一种方法可以解释这个规范吗? |
| 约束 | 克劳德知道不应该建造什么吗? |
| 特异性 | 是否有具体的、可测试的细节? |
每个轴的得分为0.0到1.0。这个 平衡分数 测量4个轴覆盖的均匀程度。
平衡比个人分数更重要。 在所有4个轴上得分为0.50的规格(平衡:0.97)将比得分为0.95/0.95/0.20/0.90(平衡:0.58)的规格产生更好的输出。为什么?这个弱轴——0.20的约束——正是克劳德即兴发挥的地方。你详细描述了要构建什么,但忘了说什么超出了范围。所以Claude构建了你要求的一切,以及你没有的功能。
在雷达图上:一颗均匀的钻石胜过一颗锋利的尖刺。
裁定
| 判决 | 这意味着什么 |
|---|---|
| 出货 | 规范已经准备好了——克劳德知道该构建什么,不该构建什么 |
| 几乎 | 在开始之前,一个轴需要稍作修复 |
| 草稿 | 多轴需要工作,但结构就在那里 |
| 模糊的 | 组织良好,但过于抽象,无法采取行动 |
| 无界的 | 目标明确,但没有界限——克劳德会过度建设 |
| 过约束 | 规则很多,但不清楚实际目标是什么 |
| 草图 | 起点——需要大多数轴的详细信息 |
还没发货?该工具告诉您哪个轴最弱以及要添加什么。修复该轴,重新评分,重复。大多数规格在2-3轮内到达SHIP IT。
安装
git clone https://github.com/openpoem/spec-score-mcp.git
cd spec-score-mcp && npm install && npm run build
claude mcp add spec-score -- node $(pwd)/dist/mcp.js这3个工具现在在每个Claude Code会话中都可用。
用法
斜杠命令
克隆此仓库以获取内置的斜线命令:
/project:scan my-feature-spec.md读取文件,对其进行评分,并写入 my-feature-spec.md.scored.md 有分数、判决、提示和雷达图。
/project:compare blueprint.md implementation.md对两个文件进行评分并写入 compared.scored.md 并排的雷达图。
直接使用工具
这3个MCP工具适用于任何Claude Code对话:
| 工具 | 它做什么 |
|---|---|
spec_score | 在4个轴上对规格进行评分,返回平衡分数和判决 |
spec_visualize | 根据分数生成SVG雷达图 |
spec_compare | 两个评分规格的并排比较 |
问克劳德: *“给这个规格打分”*, *“给我看看雷达图”*,或 *“比较这两个规格”*.
示例:从UNBOUNDED到SHIP IT
这个工具有自己的评分标准——四轮,每轮都固定最弱的轴:
第一轮:想法
构建一个规格评分工具
UNBOUNDED 0.12 Tip: What does 'scoring' mean? What axes? What output?一个轴很高(清晰度——目标很明确),其他所有轴都接近于零。克劳德会建造。…任何东西。网络应用程序?CLI?VS代码扩展?没办法知道。
第二轮:添加上下文
构建一个MCP服务器,在4个轴上对规格进行评分:完整性、清晰度、, 约束、特异性。每个轴为0.0-1.0。返回平衡分数和判决。
ALMOST 0.67 Tip: What are the verdicts? What does the tool NOT do?现在克劳德知道该建什么了。但约束仍然很弱——它可能会添加自动修复、CI集成和数据库。
第三轮:添加边界
三个工具:spec_score、spec_visualize和spec_compare。 非目标:无自动修复、无CI集成、无存储。
SHIP IT 0.84 Tip: Add testable criteria — what balance maps to which verdict?跨过了门槛。克劳德现在知道该建造什么,不该建造什么。特异性仍然是最弱的轴。
第四轮:添加可测试的细节
平衡=1-sqrt(方差)/平均值。出货量>0.75,几乎>0.60, 加上基于模式的判决。Node.js、MCP SDK、stdio传输。
SHIP IT 0.95 Spec is ready for implementation.四轮:0.12→ 0.67 → 0.84 → 0.95. 每一轮只固定一件事。
数学
- 克劳德对每个轴进行评分(0.0-1.0)
- 对向量进行归一化:
v / ||v|| - 余额:
1 - sqrt(variance) / mean - 判断:平衡阈值+轴图案匹配
评分智能来自克劳德,而不是算法。该算法仅测量平衡。
项目结构
src/
mcp.ts # MCP server (3 tools)
score.ts # Scoring engine
visualize.ts # SVG radar charts
.claude/
commands/
scan.md # /project:scan command
compare.md # /project:compare command______________________________________________________________________
OpenPoem --规格得分mcp
MIT许可证。
©2026 OpenPoem。info@openpoem.org
