八个步骤。每步接收一个输入、执行一个动作、输出一个结果。将 SmeltSec 指向一个仓库或 OpenAPI 规范;获得签名、评分、可部署的 MCP 服务器。
将 SmeltSec 指向三种源之一。公开或私有 GitHub URL 会触发仓库克隆。OpenAPI 3.0/3.1 文档直接解析。自然语言描述会拉取相关 SDK 文档。输出:规范化的源代码包,可直接进入 AST 阶段。
Tree-sitter 解析代码包,为每个文件生成带类型的 AST。SmeltSec 遍历树,提取公开函数签名和路由处理器,过滤掉标记为 internal 或 deprecated 的项。输出:可调用单元候选列表及其类型注解。
一次 LLM 处理将每个候选项转换为 MCP 工具定义:名称、描述,以及严格的 JSON Schema(参数和返回类型)。Docstring 成为描述;类型注解变成 schema。输出:可直接接入服务器的带类型工具清单。
每个工具定义变成真实的处理器。SmeltSec 输出 FastMCP(Python 3.11)或 TypeScript SDK 代码,接入重试、断路器、参数净化以及所选传输。输出:可运行的 MCP 服务器仓库,依赖已锁定版本。
全部本地执行,全部免费。Semgrep 运行 SAST 规则,Gitleaks 扫描代码和 git 历史中的密钥,OSV-Scanner 根据 OSV 数据库检查锁定的依赖,MCP-Scan 检测工具描述投毒。出现 Critical 级别发现将停止流水线。输出:签名的 Gate 1 报告。
LLM 将每个工具的描述与其代码实际行为进行比较。不一致会作为行为漂移出现:声称只读却会写入的工具、隐藏副作用的描述、从未声明的权限。此步骤为付费(每台服务器约 $0.02)。输出:每个工具标记 Pass / Warn / Fail 的行为报告。
六个维度,每台服务器一个字母评级:描述清晰度、schema 完整度、命名一致性、与现有工具的重叠、错误暴露面、可观测性钩子。每个维度都有数值评分和修复建议。输出:带可执行项的评分报告卡(A–F)。
SmeltSec 将服务器、两个 Gate 报告、质量评分和 SBOM 打包成由 cosign 签名的单个证明。Claude Desktop、Cursor、VS Code、ChatGPT 和 Windsurf 的客户端配置由同步守护进程一次性写入。输出:已签名、可部署的 MCP 服务器,每个工具都已接入每个客户端。
What to expect when running SmeltSec end to end.