mcp-software-design
This MCP server provides tools and prompts for exploring and applying software design concepts covering SOLID, OOP pillars, clean code practices, and the 23 Gang-of-Four design patterns.
List catalog: Browse design principles and patterns (
list_catalog) with optional filtering by kind (e.g.,principle,pattern,creational,structural,behavioral).Explain concept: Get detailed, authoritative explanations (
explain_concept) of any principle or pattern, including intent, trade-offs, participants, and related concepts. Accepts slugs, names, or aliases.Scaffold pattern: Generate language-agnostic pseudo-code skeletons (
scaffold_pattern) for GoF patterns, with optional role renaming for domain-specific modeling.Detect code smells: Heuristically scan code snippets (
check_smells) for issues like long methods, deep nesting, large classes, duplication, etc. Provides hints, relevant principles, and suggested refactors; detection thresholds are customizable per call.Review design (prompt): Prime an AI model to review code against design principles and patterns (
review_design), leveraging smell detection and reference resources.Apply pattern (prompt): Prime an AI model to refactor code to apply a specified pattern (
apply_pattern), including judging its applicability.Resources: Access curated reference material at
design://principles,design://patterns, anddesign://smells.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-software-design Check this code for design smells"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-software-design
An MCP server that teaches and helps apply software-design guidance — the SOLID principles, the OOP pillars, DRY / KISS / YAGNI / meaningful naming / clean code, and the 23 Gang-of-Four design patterns — plus pattern scaffolding and heuristic code-smell detection.
It's the companion to
mcp-udacity-commit: same stack (TypeScript, the MCP
SDK, stdio transport), same shape (pure logic modules + thin server wiring).
Install
Register it with Claude Code — one line, nothing to clone:
claude mcp add software-design -- npx -y mcp-software-designOr in an MCP client config:
{
"mcpServers": {
"software-design": {
"command": "npx",
"args": ["-y", "mcp-software-design"]
}
}
}Related MCP server: Inspectra
Why this exists — and its one honest caveat
The commit server can lint: "subject ≤ 50 chars" is objectively checkable. Design principles and patterns are not like that — "does this violate SRP?" or "should this be a Factory?" are judgment calls, not lint rules.
So this server does not pretend to grade your architecture pass/fail. Instead it does the parts that are genuinely reliable, and hands the judgment to the model:
Capability | Primitive | What it gives you |
Reference | resources + | Authoritative, consistent definitions so the model cites the same thing every time. |
Scaffolding |
| A language-agnostic skeleton of a pattern's participants. |
Smell heuristics |
| A few genuinely-checkable proxies (long method, deep nesting, …) — hints, never verdicts. |
Explain / apply |
| Prime the model to review or refactor, grounded in the tools + resources above. |
Design analysis is a judgment call, so the "explain/apply helper" is exposed as MCP prompts (which drive the client's model) rather than server code pretending to understand your snippet.
Tools
list_catalog{ kind? }— list concepts, optionally filtered (principle|solid|oop|pattern|creational|structural|behavioral).solid/oopnarrow to the SOLID five / the four OOP pillars.explain_concept{ name }— full guidance for one principle or pattern (intent, when-to-use, trade-offs, participants). Accepts a slug, name, or alias ("SRP","open-closed","pubsub").scaffold_pattern{ pattern, names? }— pseudo-code skeleton for a GoF pattern;namesoptionally renames roles to your domain ({ "Product": "Notification" }).check_smells{ code, …thresholds? }— heuristic scan for long method, large class, long parameter list, deep nesting, duplication, and large file. Each finding names the principle it hints at plus a suggested refactor. All thresholds are overridable per call.
Resources
design://principles— SOLID, OOP pillars, DRY, KISS, YAGNI, meaningful naming, and more.design://patterns— the 23 GoF patterns, grouped creational / structural / behavioral.design://smells— whatcheck_smellsdetects, its thresholds, and its caveats.
Prompts
review_design{ code, focus? }— review a snippet against the principles/patterns, grounded incheck_smells+ the resources.apply_pattern{ pattern, code }— refactor a snippet to apply a named pattern (and first judge whether it even fits).
Build from source
For local development, or to run a local checkout instead of the published package:
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 serverThen register it the same way as Install above — both the
claude mcp add command and the MCP-client-config form work — but point at
your local build instead of npx:
claude mcp add software-design -- node /absolute/path/to/mcp-software-design/build/index.jsLayout
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)The src/*.ts logic modules are pure and side-effect-free, so they're unit
tested directly against the compiled output — the server (index.ts) is only
thin wiring on top.
License
MIT
Available Tools
4 toolscheck_smellsDetect code smells (heuristic)A
Scan a code snippet for heuristic design smells (long method, large class, long parameter list, deep nesting, duplication, large file). Each finding maps to the principle it hints at plus a suggested refactor. HEURISTICS ONLY — hints, never verdicts; a clean run does not certify good design.
Inputs: code (required), maxDepth, maxParams, longMethod, +3 more. Returns: count, smells
explain_conceptExplain a principle or patternA
Return an authoritative explanation of one design principle or GoF pattern: intent, when to use it, trade-offs, participants, and related concepts. Accepts a slug, full name, or alias (e.g. "SRP", "factory").
Inputs: name (required). Returns: name, slug, found, summary, +2 more
list_catalogList design principles & patternsA
List the catalog of software-design concepts, optionally filtered by kind. Returns each concept's slug, name, category, and one-line summary.
Inputs: kind. Returns: count, concepts
scaffold_patternScaffold a GoF patternA
Generate a language-agnostic pseudo-code skeleton for a GoF pattern, showing its participants and how they collaborate. Optionally rename roles to your domain (e.g. Product -> Notification). Translate the result into your target language.
Inputs: pattern (required), names. Returns: ok, code, name, slug, +2 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a distinct operation—analyzing code, explaining a concept, listing the catalog, or generating a skeleton. There is no functional overlap among them.
All tool names follow a consistent verb_noun snake_case pattern: check_, explain_, list_, scaffold_. The naming scheme makes the action and target immediately predictable.
Four tools is on the lean side for the broad 'software-design' domain, but each tool occupies a clear role in a focused design-assistant workflow. The count is reasonable, if slightly minimal.
The set covers discovery (list_catalog), understanding (explain_concept), application (scaffold_pattern), and analysis (check_smells). Missing capabilities like pattern recommendation or direct refactoring would round it out, but these are workable gaps.
Maintenance
Related MCP Connectors
Free MCP tools: the only MCP linter, health checks, cost estimation, and trust evaluation.
Remote MCP learning coach for coding agents.
Remote MCP for tool license checks, vendor policy review, alternatives, and license receipts.
Team memory for AI coding agents and code reviews, reviewed by humans and served over MCP.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAn MCP server that provides senior-level code review, quality checks, security analysis, and refactoring suggestions directly in your editor.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables hybrid code audits using MCP tools across 12 domains, producing structured, scored, and actionable code quality reports.5 npm1MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI-powered architecture analysis and visualization of codebases, exposing 17 MCP tools for querying components, dependencies, and generating interactive diagrams.10 npm5MIT
- FlicenseAqualityDmaintenanceMCP server that reviews and fixes code across four dimensions (security, standards, production readiness, sustainability), runs tests to verify fixes, and provides findings with diffs.1-