MCP server
ui-craft-mcp exposes four deterministic design-quality tools over the Model Context Protocol — anti-slop, token lint, acceptance bar, and the composite score.
Updated 2026-06-25
ui-craft-mcp exposes four deterministic design-quality tools over the Model Context Protocol (stdio transport). Works with Claude Desktop, Cursor, and any MCP-compatible client.
The MCP server is the checks layer — deterministic, rule-based, identical output for identical input. The skill is the taste layer — judgment, aesthetics, architecture. These never overlap: there are no taste rules in the server, and no rule-checks duplicated in the skill.
Tools
| Tool | What it does |
|---|---|
check_anti_slop |
33-rule anti-slop scanner via scan() from ui-craft-detect — in-process, no subprocess |
tokens_lint |
Off-system token detector: raw hex colors, non-scale radius/spacing px, magic z-index |
acceptance_bar |
Acceptance checklist for a UI surface (dashboard, landing, auth, generic) — data only, no scoring |
score_ui |
Composite UICraftScore (0-100 + grade + per-dimension subscores) — all three dimensions in one call |
Each tool accepts either a code string (inline source) or a path (file or directory), and returns structured JSON findings + a summary.
Quick start
Wire it into your project’s .mcp.json:
{ "mcpServers": { "ui-craft": { "command": "npx", "args": ["ui-craft-mcp"] } } }
Then your MCP client can call the tools directly — for example, gate a build by calling score_ui on a changed file and checking the grade.
Boundary, restated
- Deterministic. Same input → same output, every run. Safe to gate CI on.
- No judgment. Aesthetic and architectural decisions stay in the skill and the
/heuristiccommand. The judged UsabilityScore is computed by the host agent, not by this server.
Source
- npm:
ui-craft-mcp - Server source:
mcp/src/server.mjs
Spotted something out of date? Open an issue on GitHub →