Tooling

Agents and MCP

Coding agents are bad at guessing component APIs. VibeUI gives them tools instead: a registry, a CLI and a Model Context Protocol server, so they search, read and install real source.

Three ways in

SurfaceBest forEntry
MCP serverInteractive agents (Claude Code, Cursor, Claude Desktop, Codex)node mcp/server.mjs
CLI + --jsonScripts and agents that can run shell commandsnpx @agents-npm-packages/vibeui …
llms.txtAgents with no tooling, as a short briefllms.txt, docs/agents.md

MCP setup

The server speaks stdio and needs a local copy of the repo, because it reads the source files it hands to the agent.

bash
git clone https://github.com/arjunkshah12345-hash/vibeui.git
cd vibeui && npm install
bash
claude mcp add vibeui -- node /absolute/path/to/vibeui/mcp/server.mjs

Tools

ToolInputsReturns
library_infononeVersion, component count, categories, peers.
list_componentscategory?Name, title, category, description, peers, registryDependencies.
search_componentsquery, category?Matches with description and dependencies.
get_componentnameFull source plus metadata and the generated api table.
add_componentnames (string | string[]), dir?, tokens?Per-file results (siblings included) and the peers to install.
get_tokensnoneThe contents of templates/vibeui.css.
get_utilsnoneThe cn() helper source.
get_install_guidenoneA short markdown install guide.
list_categoriesnoneCategories with their component names.
refresh_registrynoneRegenerates the registry and returns the new count.

Resources and prompt

  • vibeui://registry: the full catalog JSON.
  • vibeui://llms.txt: the agent brief.
  • Prompt integrate_vibeui (argument component): a guided plan for adding one component to the current project.

The recommended loop

  1. search_components for the need ("date picker").
  2. get_component and read the source and api before writing code. Do not guess props.
  3. Make sure peers, the tokens file and cn() exist (get_tokens, get_utils).
  4. add_component into the project.
  5. Import it and match the project's conventions.

Without MCP

bash
npx @agents-npm-packages/vibeui search "date picker" --json
npx @agents-npm-packages/vibeui get calendar --json
npx @agents-npm-packages/vibeui add calendar --dir ./src/components/ui

Rules worth giving an agent

  • Components live in src/components/ui/<kebab>.tsx and import cn from @/lib/utils.
  • Use token classes (bg-surface, text-muted, border-line), never raw hex.
  • Icons come from @phosphor-icons/react; use /dist/ssr in files without "use client".
  • Do not wrap VibeUI in a package or replace its variants system. Edit the copied file instead.

These are also in llms.txt and docs/agents.md.