UI design MCP: design references, intent routing, anti-slop static detector and gate. No API key.
PyModel Designer Skill MCP (UI design MCP)
The io.github.PyModel/designer-skill-mcp server is a UI design MCP that provides design references, intent routing, and an anti-slop static detector and gate. The server is described as requiring no API key.
๐ ๏ธ Key Features
Design references
Intent routing
Anti-slop static detector and gate
No API key
๐ Use Cases
Routing UI-related intents for design workflows
Using design references during UI design
Detecting and gating undesirable โslopโ via static detection
โก Developer Benefits
Avoids API-key setup
โ ๏ธ Limitations
Available description does not specify supported tools, interfaces, or authentication beyond โNo API key.โ
Paste into your agent (Claude Code, Codex, Cursor, any MCP client). It installs the skill, wires the MCP and verifies the tools:
text
Add designer-skill alongside Niblet Designer UI. It is optional and keyless: it routes a design request, loads the right reference, and gates the ship. Niblet supplies the real screens and materials.
1. Install or refresh the skill into the user skill directory (not this project):
npx skills add PyModel/designer-skill --skill designer-skill -g -y
2. Add the local MCP using this client's native MCP configuration, in the user-level (not project-level) config:
Name: designer-skill
Transport: stdio
Command: npx
Args: -y @pymodel/designer-skill-mcp@latest
No API key is needed. Do not add one.
3. Verify: list the designer-skill server's tools and confirm get_preflight_brief, dispatch_intent, review_and_gate are present. Do not run a sample check.
When setup is complete, confirm that the designer-skill skill is installed and that the three tools are exposed. On UI work from now on: call get_preflight_brief first, use dispatch_intent to load only the references it recommends, pull screen references and materials from the niblet server, then call review_and_gate on the changed files before saying the work is done. If there is an active UI task, continue it. Otherwise say: "designer-skill is ready and paired with Niblet."
No Niblet? Drop the "pull screen references and materials from the niblet server" clause.
Or pick one:
Install
๐ฃ Claude Code plugin (skill + MCP)
/plugin marketplace add PyModel/designer-skill then /plugin install designer-skill@pymodel
๐ข Codex plugin
codex plugin marketplace add PyModel/designer-skill, then install designer-skill from pymodel in /plugins
โซ Cursor plugin
Install from the marketplace; ships mcp.json, skills, /designer-setup ยท /designer-status
๐ต MCP only, any client
claude mcp add designer-skill -- npx -y @pymodel/designer-skill-mcp (same args for codex mcp add, pythinker mcp add --transport stdio)
๐ Skill only
npx skills add PyModel/designer-skill --skill designer-skill or copy skills/designer-skill/ into ~/.claude/skills/ / ~/.codex/skills/
flowchart LR
A[Prompt] --> B[get_preflight_brief]
B --> C[dispatch_intent]
C --> D[get_reference]
D --> E[Build / polish UI]
E --> F[review_and_gate]
F -->|FAIL: fix| E
F -->|static checks pass| G[Rendered checks<br/>by the host]
classDef start fill:#f8fafc,stroke:#94a3b8,color:#18181b
classDef route fill:#eff6ff,stroke:#3b82f6,color:#1e3a8a
classDef know fill:#faf5ff,stroke:#7c3aed,color:#4c1d95
classDef work fill:#fff7ed,stroke:#e87a3d,color:#7c2d12
classDef gate fill:#ecfdf5,stroke:#10b981,color:#065f46
classDef host fill:#fff1f2,stroke:#e11d48,color:#881337
class A start
class B,C route
class D know
class E work
class F gate
class G host
๐ต Route
๐ฃ Know
๐ข Check
dispatch_intent maps "make it pop" or "it feels off" to design verbs and at most four references.
A 44-rule deterministic detector backs review_and_gate, which reports each required rule as ran, unsupported, unresolved or waived.
The gate is static only: overall status is FAIL or NOT_VERIFIED, never a rendered-readiness pass. Rendered, accessibility and performance checks stay NOT_RUN until the host supplies evidence.
Example:"Use designer-skill to redesign this pricing page without breaking functionality." โ get_preflight_brief โ dispatch_intent โ get_reference โ edit โ review_and_gate.
cd designer-skill-mcp
npm ci
npm run build # syncs skills/ โ assets/, compiles TypeScript
npm test# vitest; `npm run smoke` installs the packed tarball and drives it
Loopback binds validate the Host header. A non-loopback bind requires DESIGNER_SKILL_HTTP_TOKEN (Authorization: Bearer โฆ) and at least one --root.
Release:./scripts/release.sh "notes" bumps and syncs every version, verifies, tags and pushes; publish.yml publishes npm (with provenance), the MCP registry entry and the GitHub release. Contract details: docs/HARDENING.md.