Instalar via CLI
Cada item é servido no formato registry-item do shadcn. Num projeto com components.json, uma linha instala o arquivo e as dependências (primitivos do shadcn e pacotes npm):
npx shadcn@latest add https://ui.codehall.io/r/<slug>.json
# vários de uma vez
npx shadcn@latest add https://ui.codehall.io/r/hero-centralizado.json https://ui.codehall.io/r/pricing-tres-planos.jsonO índice completo está em /r/registry.json. Os itens foram escritos com o estilo base-nova (Base UI); em projetos no estilo Radix, os primitivos equivalentes também existem e o CLI instala os do seu estilo.
MCP no Claude Code
O catálogo expõe um servidor MCP (HTTP streamable, JSON-RPC, sem sessão). Adicione ao .mcp.json do projeto (ou ao global) e reinicie o Claude Code — servidores MCP só carregam no início da sessão:
{
"mcpServers": {
"ui-catalog": {
"type": "http",
"url": "https://ui.codehall.io/api/mcp",
"headers": { "Authorization": "Bearer ${UI_CATALOG_MCP_TOKEN}" }
}
}
}Exporte UI_CATALOG_MCP_TOKEN (peça o token para o time). Sem o token o endpoint responde 401.
Tools do MCP
search_itemsBusca itens do catálogo (componentes, blocos, páginas, ilustrações) por texto, tipo, categoria, coleção, tag ou status. Retorna só metadados (sem o código) para economizar tokens. Use get_item para o código completo.
get_itemRetorna um item completo (incluindo o código TSX, dependências e o comando de instalação) pelo id ou slug.
add_itemAdiciona um item ao catálogo. O código é validado (sintaxe + imports suportados + export default) antes de salvar — erros voltam na resposta. Cria categoria, coleção e tags se não existirem. Dependências (npm e registry) são derivadas dos imports quando omitidas.
update_itemAtualiza um item existente (pelo id ou slug). Só os campos enviados mudam. tags substitui o conjunto inteiro; collection/category vazios desvinculam. Se code mudar, é validado de novo.
delete_itemRemove um item do catálogo (pelo id ou slug). Ação irreversível.
check_codeValida um TSX sem salvar: compila, lista os imports, aponta módulos não suportados no preview e confere o export default. Use antes de add_item quando estiver inseguro.
list_supported_modulesLista o que pode ser importado num item (módulos @/components/ui/* disponíveis, bibliotecas) e as regras de autoria do catálogo. Chame antes de escrever código.
list_categoriesLista as categorias (opcionalmente de um tipo) com a contagem de itens.
upsert_categoryCria ou atualiza uma categoria (nome, descrição exibida na seção, ordem). Útil para dar descrição às seções do catálogo.
list_collectionsLista as coleções do catálogo com a contagem de itens.
list_tagsLista as tags do catálogo com a contagem de itens.
Fluxo recomendado para criar: list_supported_modules → escrever o TSX → check_code → add_item → abrir o preview no catálogo. Para usar: search_items → get_item → instalar com o comando devolvido.
Imports suportados
Primitivos shadcn (61)
Bibliotecas e utilitários
next/link, next/image e next/navigation são shims inertes no preview (viram <a>, <img> e hooks vazios).
API REST
GET https://ui.codehall.io/api/items?q=&kind=&category=&collection=&tag=&cursor=&limit=&withTotal=1
GET https://ui.codehall.io/api/items/<id|slug> # item completo (com code)
GET https://ui.codehall.io/api/items/<id|slug>/code # TSX cru (text/plain); ?download=1
GET https://ui.codehall.io/api/facets?kind=BLOCK # categorias, coleções, tags
GET https://ui.codehall.io/api/stats
POST https://ui.codehall.io/api/check { code } # validação estática
POST https://ui.codehall.io/api/items/zip { ids } # .zip com os .tsx
POST https://ui.codehall.io/api/items/bulk { action, ids, ... } # addTags|removeTags|setCollection|setFeatured|setStatus
GET https://ui.codehall.io/r/registry.json · GET https://ui.codehall.io/r/<slug>.jsonAs rotas da UI (PATCH/DELETE/bulk) não têm autenticação — o catálogo é uma ferramenta interna. Só o MCP exige token.
Skills do Claude Code
Duas skills acompanham o catálogo: ui-catalog-create (autorar e publicar via MCP, com validação) e ui-catalog-use (buscar, instalar e adaptar no projeto). No repo tasky elas já vêm em .claude/skills/; fora dele:
/plugin marketplace add hikinine/inboxzero
/plugin install ui-catalog@clickmaxDepois é só pedir: “cria um bloco de pricing com três planos pro catálogo” ou “pega um hero do UI Catalog e coloca na landing”. Veja também a página de novo item para publicar à mão.