mcpField
S
spec-score-mcp

spec-score-mcp

ローカル
github.com/openpoem開発ツール224 週間前に更新

spec-score-mcp について

spec-score-mcpは、Claudeによる実装前にソフトウェア仕様を評価するMCPサーバーです。4つの観点で採点し、最も弱い点を示して、判定とレーダーチャートを生成します。

主な機能

  1. 01完全性、明確さ、制約、具体性を採点
  2. 02バランススコアと判定の算出
  3. 03SVGレーダーチャートの生成
  4. 04採点済み仕様2件の比較
  5. 05最弱項目を改善するヒント

活用シーン

  1. 01Claudeに実装を依頼する前の機能仕様レビュー
  2. 02草案の仕様で不足する範囲の確認
  3. 03設計書と実装仕様の比較

MCP 対応

MCPクライアントにspec_score、spec_visualize、spec_compareの3つのツールを提供します。仕様の採点、レーダーチャートの生成、2件の仕様の比較に使えます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"openpoem-spec-score": {
"command": "npx",
"args": [
"-y",
"spec-score-mcp"
]
}
}
}
起動コマンドnpx -y spec-score-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmspec-score-mcp2.0.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Spec Score MCP

Claude が実装を始める前に、仕様のスコアを評価します。

バランスの取れた仕様からはバランスの取れたコードが生まれます。バランスの取れていない仕様からは、創作物が生まれます。

問題点

仕様の一部の観点が詳細で、ほかの観点が曖昧な場合、Claude は確認を求めずに空白を埋めます。結果はコンパイルでき、テストにも合格しますが、意図したものとは異なります。

このツールは、実装を始める前にこの問題を検出します。仕様を4つの観点で採点し、最も弱い観点を示して、修正するための具体的なヒントを提示します。

4つの観点

観点答える質問
completenessClaude は実装対象の全範囲を理解できますか?
clarityこの仕様の解釈は1通りだけですか?
constraintsClaude は実装してはいけないことを理解していますか?
specificity具体的でテスト可能な詳細がありますか?

各観点のスコアは0.0から1.0です。バランススコアは、4つの観点がどれだけ均等にカバーされているかを測定します。

個々のスコアよりもバランスが重要です。 4つの観点すべてで0.50の仕様(バランス:0.97)は、0.95/0.95/0.20/0.90の仕様(バランス:0.58)より良い結果を生みます。なぜでしょうか? 弱い観点であるconstraintsのスコア0.20が、まさにClaudeが独自に補ってしまう部分だからです。実装する内容は詳しく説明していても、対象外の内容を伝え忘れています。そのためClaudeは、依頼されたものに加えて、依頼していない機能まで実装します。

レーダーチャートでは、均等なひし形が鋭く尖った形よりも優れています。

判定

判定意味
SHIP IT仕様の準備が整っています。Claude は実装する内容と、実装しない内容を理解しています
ALMOST始める前に、1つの観点を少し修正する必要があります
DRAFT複数の観点に改善が必要ですが、構成はできています
VAGUE整理されていますが、抽象的すぎて実装に移せません
UNBOUNDED目標は明確ですが、境界がありません。Claude は過剰に実装します
OVER-CONSTRAINEDルールは多いものの、実際の目標が不明確です
SKETCH出発点です。ほとんどの観点で詳細が必要です

まだSHIP ITではありませんか? このツールは、最も弱い観点と追加すべき内容を示します。その観点を修正して再採点し、これを繰り返してください。ほとんどの仕様は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採点済みの2つの仕様を並べて比較します

Claude に「この仕様を採点して」「レーダーチャートを表示して」「この2つの仕様を比較して」と依頼してください。

例:UNBOUNDEDからSHIP ITへ

このツールが自身の仕様を採点した例です。4回にわたり、毎回最も弱い観点を修正しています。

UNBOUNDEDからSHIP ITへ

第1ラウンド:アイデア

仕様を採点するツールを作る

第1ラウンド:UNBOUNDED(0.12)
UNBOUNDED  0.12  Tip: What does 'scoring' mean? What axes? What output?

1つの観点(clarity、つまり目標の明確さ)だけが高く、それ以外はほぼゼロです。Claude は何でも作れてしまいます。ウェブアプリ? CLI? VS Code 拡張機能? これでは判断できません。

第2ラウンド:コンテキストを追加

completeness、clarity、constraints、specificityの4つの観点で仕様を採点するMCPサーバーを作る。各観点のスコアは0.0~1.0。バランススコアと判定を返す。

第2ラウンド:ALMOST(0.67)
ALMOST  0.67  Tip: What are the verdicts? What does the tool NOT do?

これでClaudeは実装するものを理解しました。しかしconstraintsはまだ弱く、自動修正、CI統合、データベースなどを追加する可能性があります。

Round 3:境界を追加する

3 つのツール:spec_score、spec_visualize、spec_compare。 対象外:自動修正、CI 統合、ストレージはありません。

Round 3: SHIP IT (0.84)
SHIP IT  0.84  Tip: Add testable criteria — what balance maps to which verdict?

しきい値を超えました。Claude は、何を構築するかだけでなく、何を構築しないかも把握できるようになりました。具体性は依然として最も弱い軸です。

Round 4:テスト可能な詳細を追加する

バランス = 1 - sqrt(分散)/平均。SHIP IT > 0.75、ALMOST > 0.60、 さらにパターンベースの判定。Node.js、MCP SDK、stdio トランスポート。

Round 4: SHIP IT (0.95)
SHIP IT  0.95  Spec is ready for implementation.

4 ラウンドで、0.12 → 0.67 → 0.84 → 0.95 になりました。各ラウンドで修正したのは、ちょうど 1 つです。

数学的な仕組み

  1. Claude が各軸をスコアリングします(0.0 - 1.0)
  2. ベクトルを正規化します:v / ||v||
  3. バランス:1 - sqrt(分散) / 平均
  4. 判定:バランスのしきい値 + 軸のパターンマッチング

スコアリングの知能はアルゴリズムではなく、Claude によるものです。アルゴリズムはバランスのみを測定します。

プロジェクト構成

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 — spec-score-mcp

MIT License.

© 2026 OpenPoem. [email protected]

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。