← Discover MCPs and Agents
b
MCPAI & MLGitHub

better-design

🎨 Open-source design MCP server + shadcn/ui registry — AI design systems for Claude Code, Cursor, Codex, GitHub Copilot & any MCP client. 31 brand-grade themes (Linear, Stripe, Vercel, Notion, Apple, Supabase, Figma…) + design tokens, UI principles & WCAG rules. Install any component with one command.

Links

README

From the repo.

Better Design: Open source Claude Design

Turn your AI coding IDE into a design engineer. Better Design works with MCP-compatible agents and editors like Claude Code, Cursor, VS Code/GitHub Copilot, Claude Desktop, and claude.ai. It is a design MCP server, AI design-system registry, and UI review layer for generating polished product interfaces from prompts.

Website · Design systems · Setup · Contributing

MCP server Claude Code Cursor GitHub Copilot AI design systems WCAG

What is Better Design?

Better Design gives AI coding agents the design context they usually miss: design tokens, component code, UI principles, icon direction, accessibility checks, and visual-design review rules.

Think of it as a Claude Design-style workflow for your own codebase:

  1. Pick the product direction: Linear, Supabase, Vercel, Airbnb, Stripe, Apple, Notion, Figma, or another curated design system.
  2. Feed your AI agent the right globals.css, semantic tokens, component overrides, icon set, spacing, typography, shadows, radius, and motion language.
  3. Ask Claude Code, Cursor, VS Code/GitHub Copilot, Claude Desktop, claude.ai, or another MCP-compatible coding agent to build the interface.
  4. Have the MCP review the output against accessibility and design principles before you ship it.

Instead of "AI-looking UI," you get interfaces that look like they were built from a real product design system.

Why Better Design?

  • Claude Design-style workflow, open MCP. Bring the artifact-first design loop people expect from Claude Design into Claude Code, Cursor, VS Code/GitHub Copilot, Claude Desktop, claude.ai, and any MCP-compatible client.
  • Design systems, not vague vibes. Each system includes semantic CSS tokens plus production component code, so generated UI uses real implementation details instead of guessed colors.
  • AI UI generation with guardrails. The MCP can load principles for hierarchy, spacing, typography, depth, motion, forms, and accessibility exactly when the agent needs them.
  • Self-review before handoff. get-review-rules gives your agent a WCAG and visual-design checklist so it can catch missing focus states, weak hierarchy, bad contrast, and inconsistent spacing.

How it works

Better Design has two layers: an always-on Design Intelligence layer and an on-demand Scaffold layer.

Design Intelligence — always active for UI work

When your agent builds UI, Better Design loads the relevant product-design principles and review rules automatically:

You: "Add a settings page with a form"

AI: calls get-ui-principle("spacing") + get-ui-principle("hierarchy")
 → writes the page
 → calls get-review-rules("accessibility") + get-review-rules("visual-design")
 → fixes contrast, labels, focus states, spacing, and hierarchy

Scaffold — design-system matching for new UI

When starting a product, page, or component set, say "use better-design" and the MCP finds a matching design system:

You: "Build a fintech dashboard in the style of Stripe. use better-design"

AI: calls resolve-design-system("fintech dashboard, Stripe")
 → loads design-system docs, CSS tokens, and component code
 → resolves a matching icon library
 → builds with semantic tokens instead of raw colors

What the MCP gives your agent

ToolWhat it doesWhy it matters
resolve-design-systemSemantically matches the right design system for a promptStops agents from guessing a visual direction
get-design-system-docsLoads tokens, components, usage notes, and install contextGives the agent implementation-ready design context
get-ui-principleFetches focused guidance for hierarchy, spacing, typography, depth, motion, forms, and moreMakes UI decisions principled instead of random
get-review-rulesReturns accessibility and visual-design review checklistsHelps the agent critique and fix its own output
resolve-icon-libraryPicks an icon family that matches the design personalityKeeps icon style consistent with the UI
search-iconsFinds specific icons through IconifySpeeds up implementation without mixing icon styles

Available Design Systems

31 open-source design systems for shadcn/ui. Browse and preview them all at better-design.com.

SystemThemeVibeBest For
LinearDarkMinimal, professional, purple accentsDeveloper tools, productivity apps
Linear QualityDarkPrecision-crafted, multi-layer shadowsHigh-polish developer tools
SupabaseDarkTechnical, modern, green accentsBackend dashboards, dev portals
VercelDarkPure black, Geist font, minimalDeployment, developer platforms
AirbnbLightWarm, friendly, coral primaryMarketplaces, consumer apps
NotionLightMinimal, flat blue, rgba shadowProductivity, note-taking apps
StripeLightFintech, indigo accents, premium shadowsPayments, financial products
AppleLightPremium, SF Pro, pill buttonsConsumer apps, marketing sites
FigmaLightDesign tool, electric violet, purple glowDesign/creative tooling
Light MarketplaceLightCharcoal buttons, flat cards, no shadowsE-commerce, listings
Precision LightLightCharcoal primary, precision layered shadowsB2B SaaS, enterprise
Minimal LightLightBlack primary, no shadows, border-only cardsClean utilities, productivity
Dark OrangeDarkBrand orange, 10px radius, layered shadowsModern SaaS, dashboards
Vibrant DarkDarkVibrant blue, color-bloom shadowsConsumer apps, social
Neutral MonochromeDarkWhite on near-black, no colorUnderstated, data-heavy tools
Cinematic DarkDarkUltra-dark, content-first mediaStreaming, media platforms
Editorial DarkDarkSerif display, flat, content-firstPublishing, editorial
Corporate FintechLightBlue accents, data-dense layoutsBanking, enterprise, fintech
Beam CustomDarkCustom beam aestheticCustom applications
Beam LibDarkLibrary-style beam themeComponent libraries
Glassmorphic DarkDarkGlass layers, blur, frosted UIModern dashboards, SaaS
Inset DarkDarkInset shadows, recessed elementsData-dense, analytical tools
Lumen DarkDarkGlow accents, luminous depthCreative tools, media apps
Metal FX GoldDarkGold metallic surfacesPremium, luxury products
Metal FX SilverDarkSilver metallic surfacesTech, hardware products
Metal FX ChromaticDarkChromatic shift, iridescentCutting-edge, bold brands
Midnight GlassDarkDeep midnight, glass panelsDashboards, analytics
Monochrome IndustrialDarkIndustrial grays, utilitarianDeveloper tools, CLIs
Pillow LightLightSoft shadows, rounded comfortConsumer, lifestyle apps
Tactile MinimalLightTactile depth, minimal colorProductivity, focus tools
TV StyleDarkCinematic, large-format TV UIMedia, streaming, TV apps

Each design system includes a full globals.css token layer plus component overrides. Install any component into your shadcn/ui project:

npx shadcn@latest add https://www.better-design.com/registry/<design-system>/<component>.json

Example — install Linear's button:

npx shadcn@latest add https://www.better-design.com/registry/linear/button.json

Or grab all 9 transitions.dev ports at once (notification-badge, menu-dropdown, panel-reveal, card-resize, icon-swap, text-swap, modal-transition, page-slide, number-pop-in):

npx shadcn@latest add https://www.better-design.com/registry/linear/transitions.json

The transitions come from one source, scripts/transitions-src/. After you edit it, run node scripts/generate-transitions.mjs to rewrite every design system, then run the tests:

cd tests && bun install && bun run test

Usage examples

Once connected to your MCP client, ask your agent for design help directly:

"Use better-design. Build a Linear-style project settings page with billing, team members, and API keys."

"Find a design system for a developer tools startup, then build the dashboard with matching components."

"Review this form with Better Design's accessibility and visual-design rules, then fix the issues."

Setup

Install the Better Design agent skill, then connect its MCP tools:

npx skills add marvkr/better-design --skill better-design
npx better-design

Run each command once, then restart your coding agent. The skill tells supported agents when to use Better Design. The installer detects your coding tools and connects the MCP without replacing their existing configuration. No account is required.

Connect via Remote MCP manually

Connect any MCP-compatible client to the hosted endpoint — no local setup needed.

  1. Go to better-design.com/settings to get an API key.
  2. Add the remote MCP to your client config:
{
  "mcpServers": {
    "better-design": {
      "url": "https://better-design.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Connect via Claude Desktop (remote MCP)

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "better-design": {
      "url": "https://better-design.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Restart Claude Desktop. You can now ask Claude to use Better Design while building UI.

Project Structure

better-design/
├── components/          # Per-theme shadcn/ui component overrides
│   ├── linear/
│   ├── apple/
│   ├── stripe/
│   └── ...              # 31 systems total
├── registry/            # shadcn registry JSON for each design system
│   ├── linear/
│   ├── apple/
│   └── ...
├── scripts/             # Build and seed scripts
├── skills/              # Installable Better Design agent skill
├── .agents/             # Other installed agent skills
└── README.md

Contributing

To add a new design system:

  1. Create a folder in components/<your-system>/ with component TSX overrides.
  2. Create the corresponding registry entries in registry/<your-system>/.
  3. Run the seed script to index the new system.

Design nuances live in the components, not just CSS variables — shadow layers, focus states, border thickness, hover transitions, and radius variations by context all need to be captured in component code.

License

MIT

Collected info

  • ★ 245 stars
  • ⎇ 11 forks
  • Language: TypeScript
  • Source updated: 9/24/2026

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.