Basecoat UI MCP
MCP stdio offline de terceiros para composição de UI Basecoat em Astro/HTML estático: templates selecionados, validação estática, sem rede em tempo de execução.
Documentação
Servidor MCP Basecoat UI para Astro e HTML
Um servidor de Protocolo de Contexto de Modelo (MCP) offline e orientado à fonte, para compor interfaces Basecoat UI em projetos Astro, HTML estático e Tailwind CSS 4.
Ele fornece às ferramentas de codificação de IA um registro Basecoat pequeno e determinístico, em vez de fazer cada cliente consultar a documentação. A mesma configuração local de stdio pode ser usada por editores e agentes, com cada cliente iniciando seu próprio processo de servidor; o servidor não faz requisições de rede em tempo de execução. A composição segue uma ordem fixa: hierarquia de conteúdo, layout, seleção de componentes, espaçamento, tipografia e, por fim, revisão final.
Quem deve usar
- Agentes e editores que precisam de modelos Basecoat limitados e orientação de dependências.
- Projetos Astro ou HTML estático construídos com Tailwind CSS 4 e
basecoat-css. - Equipes que mantêm tokens de design e orientação de densidade específicos do projeto em
DESIGN.md.
Instalação e execução
Requer Node.js 22.14.0 ou mais recente.
Via npm
npm install -g @intellmedia/basecoat-ui-mcp
Configure um cliente MCP:
{
"mcpServers": {
"basecoat-ui": {
"command": "basecoat-ui-mcp",
"args": [
"--project-root",
"path/to/your/application"
]
}
}
}
Ou invoque a entrada compilada diretamente:
{
"mcpServers": {
"basecoat-ui": {
"command": "node",
"args": [
"path/to/node_modules/@intellmedia/basecoat-ui-mcp/dist/server/stdio.js",
"--project-root",
"path/to/your/application"
]
}
}
}
Os tarballs publicados incluem um dist/ pré-construído (prepublishOnly executa npm run build). Checkouts via Git omitem dist/; compile localmente antes de executar a partir de um clone.
A partir da fonte
git clone https://github.com/zygiu-zygis/basecoat-ui-mcp.git
cd basecoat-ui-mcp
npm ci
npm run build
npm start -- --project-root path/to/your/application
--project-root substitui BASECOAT_PROJECT_ROOT, que substitui o diretório de inicialização. Ele seleciona o DESIGN.md do aplicativo host; não é o diretório de instalação do MCP. O servidor expõe apenas stdio.
Ferramentas MCP do Basecoat
search_componentsretorna até 8 resumos compactos de{id, name, intent}e nunca retorna marcação.get_component_detailsretorna um modelo Astro ou HTML com dependências e orientação de composição. A resposta JSON completa deve permanecer em ou abaixo de 1.999 bytes UTF-8; entradas superdimensionadas falham de forma segura.validate_compositionverifica estaticamente até 65.536 bytes UTF-8 de fonte HTML ou Astro e retorna no máximo 24 problemas.
Recursos de design do Basecoat
basecoat://design/rhythmfornece hierarquia de conteúdo, espaçamento, tipografia, família de componentes e regras de composição estrutural.basecoat://integration/astrofornece configuração de Astro, Vite, Tailwind CSS 4, JavaScript seletivo do Basecoat e diálogo nativo.basecoat://project/contextlê oDESIGN.mddo projeto host configurado sob demanda. A saída é limitada a 6.000 bytes UTF-8 e é truncada em uma quebra de linha ou limite de frase quando possível. Links simbólicos e arquivos não regulares são recusados.
Fluxo recomendado:
- Leia os recursos de ritmo e contexto do projeto.
- Decida a hierarquia de conteúdo e o layout.
- Pesquise resumos e solicite detalhes apenas para componentes selecionados.
- Leia o recurso de integração Astro ao conectar ativos de produção.
- Valide a fonte final.
Exemplo mínimo de HTML
O aplicativo host fornece sua folha de estilos Tailwind e Basecoat compilada:
<link rel="stylesheet" href="/assets/basecoat.css">
<button type="button" class="btn" data-variant="default">Save changes</button>
Basecoat 1.x usa btn com data-variant e data-size. Componentes interativos listam os módulos JavaScript granulares que o host deve carregar.
Registro e exclusões
O registro Basecoat 1.0.2 verificado contém 39 modelos selecionados:
accordion, alert, alert-dialog, avatar, badge, breadcrumb, button, button-group, card, chart, checkbox, combobox, command, dialog, drawer, dropdown-menu, empty, field, input, input-group, item, kbd, label, native-select, popover, progress, radio-group, scroll-area, select, sidebar, skeleton, slider, switch, table, tabs, textarea, theme-switcher, toast, tooltip
O snapshot de manutenção registra 41 componentes upstream descobertos. pagination e spinner permanecem excluídos da pesquisa e dos detalhes até serem curados manualmente. Slider usa basecoat-css/range, não um módulo slider.
O runtime não possui cliente de rede, dependência de documentação remota, runtime de framework frontend, análise de mídia remota ou ativos de host empacotados. Modelos gerados não podem usar basecoat-css/all; cada controlador é importado explicitamente. Os resultados da pesquisa não contêm marcação, componentes recém-descobertos nunca são promovidos automaticamente e JSON ou HTML nunca é fatiado para caber em um orçamento de resposta.
Casos de uso em Astro e HTML estático
Em Astro, use o recurso de integração para Vite, Tailwind CSS 4, ordenação de CSS, importações seletivas de controladores, conexão nativa de <dialog> e hooks do ClientRouter. Em HTML estático, copie os arquivos de controlador compilados listados de basecoat-css para o diretório de ativos do aplicativo host e preserve a ordem de dependências. Modelos de gráficos exigem Chart.js fornecido pelo host.
Mantenedores podem atualizar o snapshot upstream fixado com npm run sync; este é o único comando que usa HTTPS. Ele valida esquema, exportações, avisos, orçamentos de resposta, direção de versão e substituição atômica antes de alterar o registro.
Desenvolvimento e verificação
npm run typecheck
npm run test
npm run sync -- --check
O desenvolvimento foi assistido por IA. O comportamento e a documentação são verificados contra a fonte verificada, testes de contrato e o registro fixado, em vez de alegações geradas.
Consulte ARCHITECTURE.md para limites de runtime, empacotamento, limites de bytes e política de sincronização.
Autor, licença e atribuição upstream
Criado e mantido por Žygimantas Jasiulionis / Intellmedia sob a Licença MIT.
Basecoat UI é um projeto independente licenciado sob MIT por Ronan Berder. Modelos e metadados adaptados mantêm o aviso completo do Basecoat em THIRD_PARTY_NOTICES.md. O Basecoat adapta padrões de design de shadcn/ui; o aviso preserva essa atribuição. Nenhum CSS do Basecoat ou fonte do shadcn é vendido aqui.