Oito etapas. Cada uma recebe uma entrada, executa uma ação, emite uma saída. Aponte o SmeltSec para um repo ou spec OpenAPI; obtenha um servidor MCP assinado, pontuado e pronto para deploy.
Aponte o SmeltSec para uma de três fontes. Uma URL GitHub pública ou privada dispara um clone. Um documento OpenAPI 3.0/3.1 é parseado diretamente. Uma descrição em linguagem natural traz os docs de SDK relevantes. Saída: um bundle de código normalizado, pronto para o AST.
Tree-sitter parseia o bundle e emite um AST tipado por arquivo. SmeltSec percorre a árvore, extrai assinaturas de funções públicas e handlers de rota, e filtra o que estiver marcado como internal ou deprecated. Saída: uma lista de candidatos chamáveis com suas anotações de tipo.
Um passe com LLM transforma cada candidato em uma definição de ferramenta MCP: nome, descrição e um JSON Schema estrito para argumentos e tipo de retorno. Os docstrings alimentam as descrições; as anotações de tipo viram o schema. Saída: um manifesto de ferramentas tipadas prontas para conectar num servidor.
Cada definição de ferramenta vira um handler real. SmeltSec emite código FastMCP (Python 3.11) ou TypeScript SDK, conecta retries, circuit breakers, sanitização de argumentos e o transporte escolhido. Saída: um repo de servidor MCP executável com dependências fixadas.
Tudo local. Tudo grátis. Semgrep executa as regras SAST, Gitleaks varre código e histórico git em busca de secrets, OSV-Scanner checa dependências fixadas contra a base OSV, MCP-Scan detecta poisoning em descrições. Uma descoberta Critical interrompe o pipeline. Saída: um relatório Gate 1 assinado.
Um LLM compara a descrição de cada ferramenta com o que o código realmente faz. Desajustes aparecem como desvio comportamental: uma ferramenta que diz ler mas também escreve, uma descrição que esconde efeitos colaterais, uma permissão nunca declarada. Esta etapa é paga (≈ $0,02 por servidor). Saída: um relatório comportamental com Pass / Warn / Fail por ferramenta.
Seis dimensões, uma nota por servidor: clareza das descrições, completude do schema, consistência dos nomes, sobreposição com ferramentas existentes, superfície de erro e hooks de observabilidade. Cada dimensão tem uma pontuação numérica e uma sugestão de correção. Saída: um boletim (A–F) com itens acionáveis.
O SmeltSec empacota o servidor, os dois relatórios de gate, a pontuação de qualidade e um SBOM em uma atestação única assinada com cosign. As configs de cliente para Claude Desktop, Cursor, VS Code, ChatGPT e Windsurf são escritas em uma só passagem pelo daemon de sincronização. Saída: um servidor MCP assinado e deployável, com cada ferramenta conectada a cada cliente.
What to expect when running SmeltSec end to end.