{
  "markdown": "# ui-registry-mcp\n\n[![npm version](https://img.shields.io/npm/v/ui-registry-mcp?color=cb3837&logo=npm)](https://www.npmjs.com/package/ui-registry-mcp)\n[![CI](https://github.com/mrityunjay-tiwari/ui-registry-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/mrityunjay-tiwari/ui-registry-mcp/actions/workflows/ci.yml)\n[![npm downloads](https://img.shields.io/npm/dm/ui-registry-mcp)](https://www.npmjs.com/package/ui-registry-mcp)\n[![license: MIT](https://img.shields.io/npm/l/ui-registry-mcp)](LICENSE)\n\nCoding agents are great at logic and not so good at taste. Ask one to build a\npricing page and it'll hand-roll a flat, generic card from memory - when there\nare thousands of beautiful, open-source components sitting one\nfetch away that too built by people who are great UI/UX experts.\n\nThis is an [MCP](https://modelcontextprotocol.io) server that closes that gap.\nIt plugs into Claude Code, Cursor, Windsurf, or any MCP client and lets the agent\n**reach into 12 real component libraries** — search them, pull the actual source,\ncompare options, and check that everything looks like it belongs together — while\nyou stay in your editor.\n\nThe idea is simple: the agent keeps the judgment (what to use, how to compose,\nwhat to tweak). The libraries keep the craft. This server is just the bridge.\n\n## Quick start\n\nNo cloning, no build. Point your MCP client at the published package:\n\n```json\n{\n  \"mcpServers\": {\n    \"ui-registry\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"ui-registry-mcp\"]\n    }\n  }\n}\n```\n\n(In Claude Code you can also just run `claude mcp add ui-registry -- npx -y ui-registry-mcp`.)\n\nThen ask for UI as:\n\n> \"Build a cool pricing section - look across the libraries and pick the best component or tweaking them makes up a great pricing page.\"\n>\n> \"Add a data table and make sure it matches the card above.\"\n\nBehind the scenes the agent searches, compares, pulls real code into your\nproject, and does a quick design-consistency pass before it's done. It'll also\ntell you which library each piece came from, so you can credit and inspect the\noriginal.\n\n## What's inside\n\nTwelve libraries, roughly **3,700 components**, all fetched live — so you always\nget the current version, never a stale copy.\n\n| Library | Components | Notes |\n| --- | --- | --- |\n| [ReUI](https://reui.io) | ~1,534 | Huge range; some blocks are paid — the server filters those out |\n| [Watermelon UI](https://ui.watermelon.sh) | ~1,066 | Large set, leans web3/DeFi |\n| [Aceternity UI](https://ui.aceternity.com) | ~116 free | Animated, 3D, bento; most of its catalog is Pro |\n| [Tailark](https://tailark.com) | ~210 | Marketing sections — hero, pricing, testimonials |\n| [Cult UI](https://www.cult-ui.com) | ~157 | Design-engineer components with motion |\n| [SmoothUI](https://smoothui.dev) | ~107 | Micro-interactions |\n| [Optics](https://optics.agusmayol.com.ar) | ~79 | Accessible, built on Base UI |\n| [AI Elements](https://elements.ai-sdk.dev) | ~77 | Vercel's chat / AI-native components (Apache-2.0) |\n| [beUI](https://beui.dev) | ~64 | Motion toolkit |\n| [Kibo UI](https://www.kibo-ui.com) | ~41 | Data-heavy — tables, kanban, gantt |\n| [Kokonut UI](https://kokonutui.com) | ~40 | Flashy standalone cards |\n| [useLayouts](https://uselayouts.com) | ~26 | Animated layouts |\n\nEverything the server hands you is **openly licensed and free for commercial\nuse** — MIT across the board, except Vercel's AI Elements, which is Apache-2.0\n(keep its license notice when you ship). A couple of libraries (ReUI, Aceternity)\nalso list *premium* components in their catalog — those quietly fail to install.\nYou don't have to think about it: ask for `verified` results and the server only\nreturns things you can actually use. Still, check a library's own license before\nyou ship.\n\nAdding another library is one entry in [`src/registries.ts`](src/registries.ts)\nif it exposes a standard shadcn registry — nothing else changes.\n\n## The tools\n\nSix tools, meant to be used roughly in this order:\n\n- **`list_registries`** — what libraries are available, with their licenses and\n  any \"heads up, this one has paid components\" notes.\n- **`search_components`** — describe what you want in plain words. It understands\n  synonyms (ask for a \"modal\", it finds \"dialog\"), and returns just names and\n  one-line descriptions so it never dumps a wall of code into the conversation.\n  Add `verified` when you only want components that are actually installable.\n- **`compare_components`** — the same idea (say, a \"pricing table\") pulled from\n  every library at once, side by side, so the agent picks the best one instead\n  of the first one.\n- **`get_component`** — the real source for one component: every file, its\n  dependencies, the exact `npx shadcn add` command, and where it came from.\n- **`check_consistency`** — the part that makes mixed components feel like one\n  design. It reads the actual code and flags the little clashes — one component\n  rounds its corners more than another, one hardcodes `zinc-900` where the rest\n  use your theme, one forgot dark mode — and suggests the fix for each.\n- **`list_components`** — the full directory, every component with its direct\n  URL, if you want to browse or link to sources.\n\n---\n\n## Under the hood\n\nIf you just want to use it, everything above is enough. What follows is the how\nand the why — for the curious, and for anyone thinking about contributing.\n\n### The design decisions\n\nA few choices worth explaining, because they're the difference between a demo\nand something you'd actually keep installed:\n\n- **It fetches live instead of mirroring.** These libraries ship updates\n  constantly. A cached copy would rot; pulling from each registry's own endpoint\n  means you always get today's version. A short in-memory cache keeps it snappy\n  within a session.\n- **It's honest about paid components.** Rather than let the agent confidently\n  pick something that 401s on install, premium items are flagged up front and\n  filterable. Nothing worse than an agent that recommends what it can't deliver.\n- **Consistency is the real value, not just fetching.** Anyone can wrap a\n  registry. The thing that actually makes agent-built UI look designed is\n  catching the token/spacing/radius drift when you mix sources — so that's a\n  first-class tool, not an afterthought.\n- **It gives credit.** Every component comes back with its source URL and a\n  ready-to-show attribution line, and the agent is told to pass that on. You\n  should always know whose work you're building on.\n- **One dead library can't sink a search.** Requests retry on hiccups, and a\n  registry being down just drops it from the results instead of failing the\n  whole call.\n\n### Local development\n\n```bash\nnpm install\nnpm run build\nnpm test          # spins up the server and exercises every tool end-to-end\nnpm run smoke      # quick check that all the registries are reachable\nnpm run catalog    # dump the whole directory to catalog.json\n```\n\n### Roadmap — honest about what's next\n\nIt's genuinely useful today, but two things would take it further, and both are\nreal projects rather than quick wins:\n\n- **Visual previews.** You pick UI with your eyes, and right now the agent picks\n  from text. The catch: these libraries don't expose preview images\n  consistently, so doing this properly means rendering and screenshotting\n  components — infrastructure, not a config flag.\n- **Meaning-based search.** Search understands synonyms today, but not intent\n  like \"something friendly for an onboarding screen.\" Real embeddings would fix\n  that.\n\n---\n\n## Feedback & contributing\n\nThis exists so an agent can build UI that doesn't look like every other agent's\nUI — and it gets better every time someone actually uses it and tells me what\nbroke or what was missing. If you hit a rough edge, have a feature idea, or know\na library that belongs in here, please\n[open an issue](https://github.com/mrityunjay-tiwari/ui-registry-mcp/issues). I\ngenuinely want to hear it.\n\nPull requests are very welcome — especially **new registries** (usually a\nfew-line addition in [`src/registries.ts`](src/registries.ts)) and better\nconsistency checks. See [CONTRIBUTING.md](CONTRIBUTING.md) to get set up, and\n[CHANGELOG.md](CHANGELOG.md) for what's changed. If it saved you some time, a ⭐\non the repo means a lot and helps other people find it.\n\nA real thank-you to the teams behind the libraries this stands on — ReUI,\nAceternity, Tailark, Cult UI, SmoothUI, Optics, beUI, Kibo, Kokonut, useLayouts,\nWatermelon — and to the shadcn registry ecosystem that makes them all fit\ntogether. This is a bridge to their craft; none of it works without them.\n\nMIT licensed.\n",
  "bytes": 8644,
  "sha": "eef0cc99513bbbeb69b18646365f3427f0218e008fc4d7fec2429eb9ed403f02",
  "repo_slug": "mrityunjay-tiwari/ui-registry-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_mrityunjay_tiwari_ui_registry__b4ea9fad/readme"
}