# Registry and MCP

> How the @lumesec registry is laid out, how to browse it from the CLI, and how to give your AI editor access through the shadcn MCP server.

Source: https://elements.lumesec.ai/docs/registry



Elements is a standard shadcn registry. Anything that reads shadcn registries can read it: the CLI, the MCP server, v0 and your own tools.

## Addresses

| What               | URL                                           |
| ------------------ | --------------------------------------------- |
| Item               | `https://elements.lumesec.ai/r/{name}.json`   |
| Index of all items | `https://elements.lumesec.ai/r/registry.json` |
| Namespace          | `@lumesec`                                    |

Item names are the component tags, for example `ui-dial`, `hf-gauge` or `ln-topology`. Shared files are items too, and components list them as dependencies, so the CLI installs each one once:

| Item                                                                                                                                   | What it installs                                                                             |
| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `lumesec-theme`                                                                                                                        | The `--lumesec` accent tokens and their Tailwind colours                                     |
| `lumesec-math`, `lumesec-color`, `lumesec-motion`, `lumesec-canvas`                                                                    | Helpers the React components share: maths, theme colour reading, motion hooks, canvas sizing |
| `lumesec-pixel-canvas`, `lumesec-pixel-font`, `lumesec-sparks`, `lumesec-roll-text`, `lumesec-use-controllable-state`, `lumesec-fuzzy` | Building blocks of the Interaction and Pixel UI components                                   |
| `lumesec-engine-pixel`, `lumesec-engine-network`, `lumesec-engine-service`                                                             | The runtime of each custom-element family                                                    |
| `lumesec-react`                                                                                                                        | Bindings that render custom elements from React                                              |

React components also depend on shadcn's `utils` item (`cn`), which every shadcn project already has.

Each collection is an item as well: `interaction`, `pixel-lab`, `pixel-ui`, `pixel-hd`, `network` and `service-map` install every component in it.

## Browse from the CLI

```bash
npx shadcn@latest search @lumesec --query gauge
npx shadcn@latest view @lumesec/hf-gauge
```

## MCP

The shadcn MCP server lets an editor agent search the registries in your `components.json` and install items. With `@lumesec` registered:

```bash
npx shadcn@latest mcp init --client claude
```

Other clients: `cursor`, `vscode`, `codex`, `opencode`. Then ask, for example, "add a network topology view from the lumesec registry".

## Open in v0

Each component page has **Open in v0** under **Open in**. v0 loads the registry item, so you can try the component in a new project.

## Pro items

Pro items will be served to holders of a licence key. The registry accepts the key as a header, which the shadcn CLI reads from `components.json`:

```json title="components.json"
{
  "registries": {
    "@lumesec": {
      "url": "https://elements.lumesec.ai/r/{name}.json",
      "headers": { "Authorization": "Bearer ${LUMESEC_KEY}" }
    }
  }
}
```

The free components never need a key.

