Stepgate
开源 MCP 服务器,专门用于将自然语言描述的工作流程转化为可强制执行的步骤文件(stepfile)
Stepgate 是一款开源 MCP 服务器,专门用于将自然语言描述的工作流程转化为可强制执行的步骤文件(stepfile),让 AI Agent 在执行任务时无法跳过任何步骤。传统的 AI 工作流通常以 Markdown 文档或 Runbook 形式交给 Agent 自行判断执行方式和完成标准,导致执行结果不稳定、关键步骤被跳过、关键决策由模型自行判断而非由数据驱动。Stepgate 通过将流程拆解为带闸门(Gate)验证的步骤序列,从根本上解决了这一问题。
Stepgate 的核心设计理念是将“过程控制权”从模型转移给服务器。Agent 无法一次性看到全部步骤,只能一次接收一个步骤的指令;每个步骤包含明确的输入定义、需要调用的 API 或 MCP 工具、步骤产出物的数据结构要求,以及用于验证产出物是否符合预期的 Gate 规则。Gate 可以是基于 JSON Schema 的结构验证,也可以是基于 JSONLogic 的逻辑断言,甚至可以是从外部 API 获取实时数据来对比验证。当某个步骤的输出未通过 Gate 时,服务器会返回诊断信息,Agent 在有限次数的重试机会内修正后再次提交,直至通过或耗尽重试次数。
在安全方面,Stepgate 实现了“模型不持有密钥”的安全模型。所有需要认证的 API 调用均由 Stepgate 服务器代为执行,Agent 只能通过服务器声明的凭证名称来调用工具,而凭证的实际内容(如 API Key)存储在服务器环境变量中,不会暴露给 Agent。Stepfile 还需要显式声明允许访问的域名白名单,未声明的域名请求会被服务器直接拒绝。
每次运行都会留下哈希链式账本(Hash-Chained Ledger),记录每个步骤的执行时间、调用的工具名称、Gate 的判定结果以及重试次数。如果事后有人修改了账本内容,哈希链会被破坏,stepgate --verify 命令可以检测出这种篡改行为。这对于需要审计和合规的场景尤为重要。
Stepgate 支持所有实现了 MCP 协议的客户端,包括 Claude Code、Claude Desktop、Cursor、VS Code 等。安装方式是向 MCP 客户端配置文件添加一条服务器配置指向 stepgate,然后通过 stepgate --list 查看预置的 Stepfile 目录,或指定本地自定义的 .stepfile.yaml 文件路径。每个 Stepfile 在客户端中表现为一个独立的工具,Agent 只需调用该工具并传入所需参数,即可驱动整个流程按预期执行。
项目内置了多个可直接使用的 Stepfile,涵盖市场调研、npm 包版本更新日志生成等常见场景。社区也可以贡献自己的 Stepfile,通过提交 Pull Request 将其添加到官方目录中。完整的工作流程是:用户以自然语言描述需求,通过 stepgate_outline 生成 Stepfile 骨架,再由 Agent 补充具体步骤定义和 Gate 规则,最后在 Stepgate 中验证并运行。整个过程无需额外部署基础设施,依赖 npx 即可启动。
Stepfile 本身采用 YAML 格式编写,声明式描述输入参数、可用工具列表、步骤顺序、每步产出物的数据结构和验证规则,与具体的模型和框架无关。这意味着同一套 Stepfile 可以在不同的 MCP 客户端和模型之间迁移复用,具有良好的可移植性。项目的许可证为 Apache 2.0,完全开源,适合对 AI 执行过程有严格控制要求的团队在生产环境中使用。
评论与建议
登录 后参与评论或提建议