Software Design

io.github.qwertymuzaffarPublished by GitHub account qwertymuzaffarv0.1.3Updated Oct 24, 2026

SOLID/OOP/DRY, the 23 GoF patterns, pattern scaffolding, and heuristic code-smell detection.

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Local MCP server that gives an assistant reference material on SOLID, OOP and GoF design patterns, plus pattern scaffolding and heuristic code-smell checks.

What you can do
  • List and explain design concepts: browse the catalog of principles, SOLID, OOP pillars and the 23 GoF patterns, and get full guidance (intent, when to use, trade-offs, participants) for one by slug, name or alias.
  • Scaffold patterns: generate a language-agnostic pseudo-code skeleton of a GoF pattern, optionally renaming roles to your domain.
  • Scan code for smells: heuristic checks for long method, large class, long parameter list, deep nesting, duplication and large file, with overridable thresholds and a suggested refactor per finding.
  • Read bundled resources on principles, patterns and smell caveats.
  • Run review and refactor prompts that prime the client's model to review a snippet or apply…
When to use it
Useful when you want an assistant to cite consistent, authoritative definitions of design principles and patterns, to sketch a pattern's structure before coding, or to get quick structural hints on a snippet. It is aimed at design guidance and judgment support rather than pass/fail architecture grading.
Requirements
Runs as a local stdio process, normally started with npx from the npm package mcp-software-design, so Node.js and network access for the first fetch are needed. No authentication, environment variables or headers are declared. Building from source requires npm install and npm run build.
Before you install
The smell checks are explicitly heuristics and hints, not verdicts, and design judgments are left to the model, so results should be reviewed rather than trusted as lint. Code you pass to the tools and prompts is sent to the assistant's model for analysis.

Installation

In SourceWeft

  1. Open Software Design in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mcp-software-design

[npm version] [npm downloads] [License: MIT] [MCP]

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:

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

Or in an MCP client config:

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

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:

CapabilityPrimitiveWhat it gives you
Referenceresources + explain_conceptAuthoritative, consistent definitions so the model cites the same thing every time.
Scaffoldingscaffold_patternA language-agnostic skeleton of a pattern's participants.
Smell heuristicscheck_smellsA few genuinely-checkable proxies (long method, deep nesting, …) — hints, never verdicts.
Explain / applyreview_design, apply_pattern promptsPrime 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 / 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.

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 — what check_smells detects, its thresholds, and its caveats.

Prompts

  • 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).

Build from source

For local development, or to run a local checkout instead of the published package:

bash
npm installnpm run build      # compiles src → buildnpm start          # runs the stdio servernpm test           # builds, then runs the unit testsnpm 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:

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

Layout

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, promptstest/  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

Source: README.md at commit c9d7077

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts