mcpField
S
software-design

software-design

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

software-design について

software-designは、コーディングエージェントや開発者向けのMCPサーバーです。設計原則やGoFパターンの情報、パターンのひな形、コードスメルのヒューリスティック検出を提供し、設計判断はモデルに委ねます。

主な機能

  1. 01原則とパターンの一覧を参照
  2. 02原則やパターンの概念を解説
  3. 03パターンの疑似コードを生成
  4. 04ヒューリスティックなコードスメル検出
  5. 05設計レビューとパターン適用のプロンプト

活用シーン

  1. 01SOLID原則やGoFパターンを調べる
  2. 02コード向けにパターンをひな形化
  3. 03長いメソッドや深いネストを検出
  4. 04設計原則に沿ってコードをレビュー

MCP 対応

MCPクライアントにツール、リソース、プロンプトを提供します。ツールは概念の検索、パターンのひな形生成、コードスメル検査に使え、リソースとプロンプトは設計レビューやリファクタリングを支援します。

設定

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

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

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

パッケージ
npmmcp-software-design0.1.3

ツール

4

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
kindenumいいえkind で絞り込みます。"principle" = すべての原則;"solid"/"oop" = それぞれ SOLID の 5 原則 / OOP の 4 本柱に限定;"pattern" = すべての GoF パターン。デフォルトは "all"。all | principle | solid | oop | pattern | creational | structural | behavioral

詳細

mcp-software-design

npm version npm downloads License: MIT MCP

ソフトウェア設計の指針(SOLID 原則、OOP の柱、DRY/KISS/YAGNI/意味のある命名/クリーンコード、Gang of Four の 23 のデザインパターン)を解説し、適用を支援する MCP サーバーです。 パターンのひな型生成や、ヒューリスティックなコードスメル検出にも対応しています。

mcp-udacity-commit のコンパニオンです。同じ技術スタック(TypeScript、MCP SDK、stdio トランスポート)、同じ構成(純粋なロジックモジュールと薄いサーバー配線)を採用しています。

インストール

Claude Code に登録するには、次の 1 行を実行するだけです。クローンは不要です。

claude mcp add software-design -- npx -y mcp-software-design

または、MCP クライアントの設定に追加します。

{
  "mcpServers": {
    "software-design": {
      "command": "npx",
      "args": ["-y", "mcp-software-design"]
    }
  }
}

これを作った理由 — そして正直に伝えるべき注意点

コミットサーバーはリントできます。「件名は 50 文字以下」という条件は客観的にチェック可能です。 設計原則やパターンはそうではありません。「SRP に違反しているか?」「Factory を使うべきか?」は、リントルールではなく判断を要する問いです。

そのため、このサーバーはアーキテクチャを合否で評価するふりはしません。 代わりに、確実に信頼できる処理を行い、判断はモデルに委ねます。

機能プリミティブ提供する内容
リファレンスリソース + explain_concept信頼性が高く一貫した定義を提供し、モデルが毎回同じ内容を参照できるようにします。
ひな型生成scaffold_patternパターンの構成要素を表す、言語に依存しない骨組みを提供します。
スメルのヒューリスティクスcheck_smells実際にチェック可能な指標をいくつか提供します(長いメソッド、深いネストなど)。あくまでヒントであり、判定ではありません。
解説/適用review_design、apply_pattern プロンプト上記のツールとリソースに基づき、モデルがレビューやリファクタリングを行えるよう促します。

設計分析は判断を要するため、「解説/適用ヘルパー」は、コードがスニペットを理解できるふりをするのではなく、クライアントのモデルを動かす MCP プロンプトとして提供します。

ツール

  • list_catalog { kind? } — 概念を一覧表示します。必要に応じて絞り込めます (principle | solid | oop | pattern | creational | structural | behavioral)。solid/oop を指定すると、SOLID の 5 原則/OOP の 4 つの柱に絞り込まれます。
  • explain_concept { name } — 1 つの原則またはパターンについて、詳細な指針を提供します(意図、使用する場面、トレードオフ、構成要素)。スラッグ、名前、エイリアス("SRP"、"open-closed"、"pubsub")を指定できます。
  • scaffold_pattern { pattern, names? } — GoF パターンの疑似コードの骨組みを生成します。names を指定すると、役割名を独自のドメインに合わせて変更できます ({ "Product": "Notification" })。
  • check_smells { code, …thresholds? } — 長いメソッド、大きすぎるクラス、長すぎるパラメーターリスト、深いネスト、重複、大きすぎるファイルをヒューリスティックにスキャンします。検出結果には、関連する原則と推奨するリファクタリングが示されます。すべてのしきい値は、呼び出しごとに上書きできます。

リソース

  • design://principles — SOLID、OOP の柱、DRY、KISS、YAGNI、意味のある命名など。
  • design://patterns — GoF の 23 のパターン。生成、構造、振る舞いのカテゴリに分類されています。
  • design://smells — check_smells が検出する項目、しきい値、注意点。

プロンプト

  • review_design { code, focus? } — check_smells とリソースに基づき、原則やパターンに照らしてコードスニペットをレビューします。
  • apply_pattern { pattern, code } — 指定したパターンが適切かどうかをまず判断したうえで、コードスニペットをそのパターンに適用するようリファクタリングします。

ソースからビルドする

ローカルで開発する場合、または公開済みパッケージではなくローカルのチェックアウトを実行する場合:

npm install
npm run build      # compiles src → build
npm start          # runs the stdio server
npm test           # builds, then runs the unit tests
npm run test:client  # end-to-end check against the built server

その後、上記のインストールと同じ方法で登録します。claude mcp add コマンドと MCP クライアント設定形式のどちらも使用できますが、npx ではなくローカルのビルドを指定してください。

claude mcp add software-design -- node /absolute/path/to/mcp-software-design/build/index.js

ディレクトリ構成

src/
  catalog.ts   # principles + 23 GoF patterns (data + lookup + markdown)
  smells.ts    # pure, testable code-smell heuristics
  scaffold.ts  # renders a pattern's participants into a skeleton
  index.ts     # MCP wiring: resources, tools, prompts
test/
  catalog.test.mjs   # catalog lookup + scaffolder
  smells.test.mjs    # smell detectors (incl. string/comment edge cases)

src/*.ts のロジックモジュールは純粋で、副作用がないため、コンパイル済みの出力を対象に直接ユニットテストされています。サーバー(index.ts)はその上に薄い配線を追加するだけです。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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