# EneUI catalog, agent skill

Search 100k+ open-source React/Tailwind/shadcn components (previews,
source, install command) from an agent, without scraping HTML.

## Connect

```bash
# Claude Code
claude mcp add --transport http eneui https://ui.eneawork.it/mcp
```

Cursor / other clients: add to their MCP config

```json
{ "mcpServers": { "eneui": { "url": "https://ui.eneawork.it/mcp" } } }
```

Transport: Streamable HTTP, JSON-RPC 2.0, read-only. No key, no quota.

## Tools

- `search_components`, Find an existing React/Tailwind/shadcn component instead of writing one from scratch. Call this first for any UI task: modal, pricing table, animated hero, form, dashboard card. Every result carries the licence and the one-line install command, so the code can ship inside a client project.
- `get_component`, Read one component by library + name: description, license, page URL and the install command.
- `search_blocks`, Find a whole page section (hero, pricing, navbar, footer, testimonial, FAQ) instead of assembling one by hand. A block is a complete section published as `registry:block`, not a single component. Use this when the task is 'build the page', and check_licence before shipping a block to a client.
- `get_block`, Read one block by source + name: description, file list, registry dependencies and where it is published.
- `check_licence`, Check whether a library may be shipped inside a client project. Reads the repository's licence file and returns the detected SPDX id, the repository, the sha256 of that file, the check date and a safe_for_commercial_delivery flag. A library whose licence could not be read comes back as unverified — never assume it is permissive. Call this before delivering code that contains a third-party library.
- `get_design_system`, Return design tokens (colours, typography, radius, shadows, spacing) plus agent instructions, so generated UI stays visually consistent. Call this before composing a page.
- `list_design_systems`, List the available design systems with one-line descriptions.
- `compose_page`, Compose a page from real catalogue blocks. Returns an ordered plan with block slugs, page URLs, dependencies and constraints, not generated code.
- `list_categories`, List catalog categories with the number of components in each, so an agent can browse instead of guessing queries.
- `get_page`, Fetch any catalog page as Markdown (a component, a category hub, a library page, an article). Use the same paths as the site, e.g. /components/cat/modal or /blog.

## When to use it

- the user asks for a UI element (modal, table, pricing card, sidebar) in
  React and wants somewhere to start, not a blank file
- the user wants a component that already exists rather than one to write
- you need the exact source text of a component before adapting it

## Install what you find

Every result carries a page URL; the page shows the shadcn install command
(`npx shadcn add <registry-url>`). Registry URLs live under https://ui.eneawork.it/api/registry/
and require the free account token (ereg_…) shown on the Account page.
Copying a component into a user's project is fine; bulk mirroring the
catalog is not, see https://ui.eneawork.it/terms.

## More for agents

- [llms.txt](https://ui.eneawork.it/llms.txt), the catalog described for LLMs
- [Markdown twin](https://ui.eneawork.it/components.md), any page also exists as `.md`
- [Machines](https://ui.eneawork.it/.well-known/mcp.json), machine-readable MCP config
