reuvenaor

encode-ui

Community reuvenaor
Updated

Component lookup over the encode-ui shadcn registry, as an MCP server.

encode-ui

Component lookup over the encode-ui registry — 352 shadcncomponents, served to AI coding agents over MCP. Your agent searches the catalog, reads anycomponent's source, and hands back the exact npx shadcn@latest add command.

Read-only by design. This server tells an agent what to install; installing stays on yourown shadcn path, and nothing here touches your project.

Install

One stdio command. npx fetches it on first run — nothing to install or keep current:

npx -y encode-ui

Zero flags gives you the zero-setup web engine: it fetches the catalog from the deployedregistry at startup, caches it, and falls back to a bundled copy, so startup never failsoffline. Only three runtime dependencies are required — the native stack behind the semanticengine is optional, so a machine that can't build it still installs and still runs.

Claude Code

The -- is required; without it claude reads the server's flags as its own.

claude mcp add encode-ui -- npx -y encode-ui

Verify with claude mcp list (→ ✔ Connected) or /mcp in a session.

Claude Desktop, Gemini CLI, and other hosts

The same JSON block works anywhere that speaks stdio MCP — Claude Desktop'sSettings → Developer → Edit Config, or ~/.gemini/settings.json:

{
  "mcpServers": {
    "encode-ui": {
      "command": "npx",
      "args": ["-y", "encode-ui"]
    }
  }
}

Prefer this form when passing flags: they arrive as discrete args that no wrapper canreinterpret. Restart the host completely after editing. If the server never appears in aGUI-launched app, it likely didn't inherit your shell's PATH — use an absolute npx path.

ChatGPT is not supported: its connectors accept only remote HTTPS MCP servers, and this oneis stdio.

Gated components

A few items need an account. Sign in at encode-ui.com, copy thetoken from any gated item's Install tab, and put it in the registration's env block —not on the command line, where ps can read it:

{ "env": { "ENCODE_UI_TOKEN": "eyJ…" } }

Everything else works without it.

Tools

Tool What it does
search_components Component search — natural language or names
get_component Metadata for one component, plus the byte size of its source and demo
get_component_source The full TSX source, or the demo
find_similar Related components
list_groups The taxonomy with per-group counts
list_components Full membership of one group — the enumeration search can't be
get_install_command One npx shadcn@latest add line for a set of components
find_icons Verified lucide icon names — by concept, or to check a spelling (HomeHouse)

Every search and list hit carries pure: true when the item's whole install tree adds nonpm packages beyond the shadcn substrate you already have. search_components andlist_components take a dependencyFree filter.

Two behaviours worth knowing. Search is not an oracle of absence — for "does the registryhave X?" or "list everything in Y", enumerate with list_groups then list_components andjudge the descriptions. And a misspelt name is an error, not an empty result: it comesback carrying the closest matches, so the agent self-corrects in one turn.

Prompts

Two slash commands carry the long-form guidance, at zero token cost until invoked:

Prompt Slash form
use-registry /mcp__encode-ui__use-registry
setup-project /mcp__encode-ui__setup-project

use-registry is the recurring workflow (discover → assess → install → customize);setup-project is the one-time consumer init — the components.json namespace, the OKLCHtoken contract, tw-animate-css, and a smoke test.

Engines

--registry-engine <web|catalog|db> picks how search works. The default is fine for mostpeople; the other two trade setup for better ranking.

  • web (default) — no model, no index. Fetches the catalog from the registry, and sourcebodies per call. Its search is a plain filter over names, aliases and keywords, sobehaviour-style discovery works best by reading the encode-ui://catalog resource onceand letting the model judge the descriptions.
  • catalog — offline lexical ranking over the bundled index. Ranking never touches thenetwork; source bodies still come from the origin (or a registry checkout, if onesurrounds the package).
  • db — hybrid semantic + lexical retrieval over each component's description, fullsource, and demo. The strongest for vague, behaviour-style queries. Served from theindex.db shipped in the package; the first query downloads ~1.2 GB of ONNX weights onceper machine (--lexical-only skips the model entirely).

Configuration

Every install-time property is a flag; --help prints this to stderr. The onlyconfiguration environment variable is ENCODE_UI_TOKEN.

Flag Engine Effect
--registry-engine <web|catalog|db> Which engine serves the tools. Unset = web.
--registry-index <path> db Path to index.db. Passing it IS db intent. Default: the bundled index.
--registry-url <url> web, catalog Origin bodies are fetched from. Default https://encode-ui.com.
--registry-root <path> catalog Registry checkout to read source bodies from.
--model-dir <path> db Where ONNX weights are cached. Default ~/.cache/encode-ui-rag/models.
--lexical-only db Skip the model; FTS5-only. Results flagged degraded.
--help / --version Print usage / version to stderr and exit.

A flag the selected engine would ignore is a usage error (exit 2), same as a malformedvalue — the server never warn-and-ignores something you typed deliberately. Path flagsexpand ~ and resolve relative values against the server's cwd.

Gotchas

  • Rebuilding the index means restarting every running server. The build replacesindex.db with a new file, while the server opens it once and holds the handle — so along-lived server keeps serving the deleted snapshot, silently. After a rebuild, reconnectand check that the startup banner's item count matches.
  • Icons are data, not components. The registry ships no icon components; find_iconsanswers from vendored lucide metadata at the exact tag the registry pins forlucide-react. Ask it rather than guessing an import.

License

MIT — see LICENSE. This package ships a prebuilt index carrying component source,some of it adapted from other MIT-licensed projects; their notices travel with it inNOTICE.md. The bundled agent-index.json is generated from the registry, soregenerating it is a maintainer task rather than something a clone can reproduce.

MCP Server · Populars

MCP Server · New

    PSU3D0

    agent-spreadsheet

    MCP server for spreadsheet analysis and editing. Slim, token-efficient tool surface designed for LLM agents.

    Community PSU3D0
    pitiflautico

    NeoBrowser

    MCP server that drives real Chrome with your real logged-in sessions — genuine fingerprint (passes bot.sannysoft), human-like input, bot-wall aware. 43 tools, single static Rust binary.

    Community pitiflautico
    aeonfun

    Aeon MCP Server

    The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget forever.

    Community aeonfun
    nhadaututtheky

    NeuralMemory

    NeuralMemory stores experiences as interconnected neurons and recalls them through spreading activation, mimicking how the human brain works. Instead of searching a database, memories are retrieved through associative recall - activating related concepts until the relevant memory emerges.

    Community nhadaututtheky
    norrietaylor

    Distillery

    Team knowledge evaporates daily — pairing sessions, debugging context, architectural rationale lost to Slack. Distillery captures it at the point of creation, connects it into a living graph, and surfaces it conversationally. It monitors feeds, tracks what matters to your projects, and alerts you before you know to ask. A team brain that learns.

    Community norrietaylor