
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
mcp-software-design
Advanced tools
MCP server that teaches and applies software-design guidance: SOLID/OOP/DRY principles, the 23 GoF design patterns, pattern scaffolding, and heuristic code-smell detection.
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).
Register it with Claude Code — one line, nothing to clone:
claude mcp add software-design -- npx -y mcp-software-design
Or in an MCP client config:
{
"mcpServers": {
"software-design": {
"command": "npx",
"args": ["-y", "mcp-software-design"]
}
}
}
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 + explain_concept | Authoritative, consistent definitions so the model cites the same thing every time. |
| Scaffolding | scaffold_pattern | A language-agnostic skeleton of a pattern's participants. |
| Smell heuristics | check_smells | A few genuinely-checkable proxies (long method, deep nesting, …) — hints, never verdicts. |
| Explain / apply | review_design, apply_pattern prompts | 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.
list_catalog { kind? } — list concepts, optionally filtered
(principle | solid | oop | pattern | creational | structural |
behavioral). solid / oop narrow 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; names optionally 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.design://principles — SOLID, OOP pillars, DRY, KISS, YAGNI, meaningful
naming, and more.design://patterns — the 23 GoF patterns, grouped creational /
structural / behavioral.design://smells — what check_smells detects, its thresholds, and its
caveats.review_design { code, focus? } — review a snippet against the
principles/patterns, grounded in check_smells + the resources.apply_pattern { pattern, code } — refactor a snippet to apply a named
pattern (and first judge whether it even fits).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 server
Then 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.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)
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.
MIT
FAQs
MCP server that teaches and applies software-design guidance: SOLID/OOP/DRY principles, the 23 GoF design patterns, pattern scaffolding, and heuristic code-smell detection.
The npm package mcp-software-design receives a total of 66 weekly downloads. As such, mcp-software-design popularity was classified as not popular.
We found that mcp-software-design demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.