FramingUI design-system tools for coding agents: validate screens, check wiring, browse the catalog.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
The design system your coding agent can't drift from.
Install Β· Demos Β· How it works Β· Free scope Β· framingui.com
Ask an agent to "build a settings page" and you get whatever the model dreamt that day: default-blue buttons, three border radii on one screen, a hand-rolled dropdown with no focus states. The code runs. The screen is slop.
FramingUI is an agent skill: a token-driven design system packaged so that coding agents (Claude Code, Codex) compose screens from it instead of around it. A closed vocabulary β components, layout tokens, machine-checkable screen recipes, one strongly-opinionated theme β plus zero-install validators that fail loudly when the agent strays. Your agent reads the theme's design DNA, composes from the catalog, validates the result, and self-critiques the rendered screen before calling it done.
No server. No account. No telemetry. A folder of data and plain-node scripts.
One prompt each, zero design feedback rounds β composed entirely from the free catalog in the editorial-tech theme:
| "Build a revenue dashboard" | "Build our blog's article page" |
|---|---|
![]() | ![]() |
| "Build the account settings page" | Licensed preview: the conversation pack |
|---|---|
![]() | ![]() |
The fourth screen uses the licensed conversation domain pack β thread states, streaming, composer. It's shown here so you know where the free line sits.
Claude Code β from your project root:
OpenAI Codex β same tarball into .agents/skills instead.
Or clone this repo and copy skill/framingui into your skills directory. Claude Code and Codex auto-discover it; from then on, any "build a screen / add a component / apply the theme" request routes through the system.
To actually render what the agent composes, add the component library to your project:
Then wire the scope + theme CSS β the skill's own INSTALL.md walks your agent (or you) through it, and node .claude/skills/framingui/scripts/doctor.mjs . verifies the wiring and tells you exactly what's missing.
Prefer MCP? The same validators and catalog are exposed as an MCP server β @framingui/mcp (npx @framingui/mcp, stdio) β for clients that speak MCP but don't load skills.
doctor.mjs checks the environment once per project β packages, the FramingUIScope boundary, theme CSS actually loaded. Broken wiring is a hard fail, not a silent default palette.assets/themes/editorial-tech.json) β its design DNA, mood keywords, and per-recipe notes are hard constraints, not suggestions.validate-screen.mjs / layout.mjs check the result mechanically β exit codes, not vibes. Recipes make "a settings screen must have these regions and states" machine-checkable.The commands your agent will use (all plain node, zero install):
The free tier is deliberately minimal, lovable, and stable: it only ever grows, so a screen you ship today keeps validating forever.
| Free | Licensed | |
|---|---|---|
| Components | 30 β the full 20-component screen contract + form/feedback/layout essentials | 62 β adds Sidebar, Command, Combobox, DataTable, DatePicker, Sheet, Popover, the 8-component conversation suite, and more |
| Themes | editorial-tech | 9 voices |
| Layout tokens & recipes | All of them | All of them |
| Domain packs | β | conversation (assistant surfaces) |
| Updates | Stable free channel | Continuous releases |
When your agent reaches for something licensed, it doesn't get a mystery "unknown component" β it gets a LICENSE_REQUIRED error naming the real thing and where it lives, with strict instructions not to hand-roll an imitation. The full catalog is subscription-licensed at framingui.com β join the waitlist and you'll get exactly one email at launch.
Why a skill and not just docs? Agents don't read docs; they pattern-match. A skill puts the vocabulary, the constraints, and the validators in the agent's working set β and the validators make violations cost an exit code.
Does this phone home? No. Everything is local. The optional journal (.framingui/journal/) never leaves your machine and records rule IDs and exit codes, never your code.
Can I use it commercially? Yes β this bundle is MIT. The licensed catalog is a separate commercial product.
MIT for everything in this repository. skill/framingui is generated from the FramingUI source system β issues and screenshots of misbehaving screens are very welcome.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/framingui)<a href="https://allmcps.com/mcp/framingui"><img src="https://allmcps.com/api/badge/framingui?style=directory" alt="Framingui on AllMCPs" /></a>