Local design studio MCP — generates HTML designs via your local `claude -p`. Zero dependencies, no API key, no reverse engineering.
claude-design-mcp has well-structured tool definitions with clear naming (verb_noun pattern) and comprehensive descriptions (avg 180 chars). All 7 tools have input schemas with typed properties. However, several parameters lack descriptions (design_variants.brief, design_render.viewport format details), and output schemas are not documented. Error handling is minimal, no recovery guidance or actionable error messages. The server shells out to external `claude` CLI and Playwright, creating undocumented failure modes. Security: file paths are user-supplied without visible sanitization against traversal attacks.
Generate a complete self-contained HTML design from a brief. If the brief is vague and no `aesthetic` is given, returns aesthetic QUESTIONS instead of generating (pass `force:true` to skip). Saves to the working folder (or `dir`).
Return the HTML source of a design file.
Refine an existing design. Applies your instruction, saves a new versioned file NEXT TO the source (or `dir`). Original untouched.
List .html designs in a folder (default: current working folder).
Return the aesthetic questions to ask before designing (vibe, palette, type, audience). Mirrors Claude Design asking for direction on an empty brief.
Render an HTML design to a PNG screenshot (saved next to the HTML) using Playwright.
Output schemas not documented. LLMs cannot infer what design_create, design_iterate, design_variants, or design_render return. No field names, types, or structure guidance.
Missing parameter descriptions: design_variants.brief has null description; design_render.viewport lacks format details (expects 'WIDTH,HEIGHT' but not stated in schema). Ambiguous parameters force LLM guessing.
No error handling or recovery guidance. If `claude` CLI is not installed, Playwright fails, or file paths are invalid, the server returns raw errors with no actionable next steps for the LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Generate several distinct alternatives for one brief, in parallel. Saves to the working folder (or `dir`).
Path traversal vulnerability: file and dir parameters accept user input without visible sanitization. An LLM could pass '../../../etc/passwd' or absolute paths, potentially reading/writing outside intended directories.
No pagination or result limits documented. design_list returns all .html files in a folder with no limit or offset. Large directories could exhaust context window.