Eight steps. Each takes an input, runs one action, emits one output. Point SmeltSec at a repo or OpenAPI spec; get a signed, scored, deploy-ready MCP server.
Point SmeltSec at one of three sources. A public or private GitHub URL triggers a repo clone. An OpenAPI 3.0/3.1 document is parsed directly. A natural-language description pulls in relevant SDK docs. Output: a normalized source bundle ready for AST work.
Tree-sitter parses the bundle and emits a typed AST per file. SmeltSec walks the tree, extracts public function signatures and route handlers, and filters anything marked internal or deprecated. Output: a candidate list of callable units plus their type annotations.
An LLM pass turns each candidate into an MCP tool definition: name, description, and a strict JSON Schema for arguments and return type. Docstrings feed the descriptions; type annotations become the schema. Output: a manifest of typed tools ready to wire into a server.
Each tool definition becomes a real handler. SmeltSec emits FastMCP (Python 3.11) or TypeScript SDK code, wires in retries, circuit breakers, argument sanitization, and the transport of your choice. Output: a runnable MCP server repo with pinned dependencies.
All local. All free. Semgrep runs the SAST rules, Gitleaks scans code and git history for secrets, OSV-Scanner checks pinned dependencies against the OSV database, MCP-Scan detects tool-description poisoning. A Critical finding blocks the pipeline. Output: a signed Gate 1 report.
An LLM compares each tool's description against what its code actually does. Mismatches surface as behavioral drift: a tool that claims to read but also writes, a description that hides side effects, a permission it never declared. This step is paid (≈ $0.02 per server). Output: a behavioral report with Pass / Warn / Fail per tool.
Six dimensions, one letter grade per server: description clarity, schema completeness, naming consistency, overlap with existing tools, error surface, and observability hooks. Each dimension has a numeric score and a fix suggestion. Output: a report card (A–F) with actionable items.
SmeltSec bundles the server, both gate reports, the quality score, and an SBOM into a single attestation signed with cosign. Client configs for Claude Desktop, Cursor, VS Code, ChatGPT, and Windsurf are written in one pass by the sync daemon. Output: a signed, deployable MCP server with every tool wired into every client.
What to expect when running SmeltSec end to end.