Ratchet

io.github.iversonwuwei由 GitHub 账号 iversonwuwei 发布v0.12.1更新于 Oct 24, 2026

Read-only tools to inspect your agent setup: list MCP servers, flag unpinned ones, test a policy.

概览

AI 生成的概览

Ratchet 检查本机 agent 配置,列出 MCP 服务器、标出未锁版本者,并根据观测到的工具使用编译最小权限策略。

可以做什么
它在本地运行,读取 harness 配置以列出已安装的 MCP 服务器并标出未锁定版本者,且不执行任何内容。它可选地连接服务器以枚举工具,采集真实调用记录以找出从未使用的工具,并编译三态策略(allow、approve、deny),每条附判定依据。它还能生成交付目录,内含策略、报告和逐文件 sha256 清单,以及收货方无需安装 Ratchet 即可运行的独立验证器。作为 MCP 服务器,它通过 stdio 暴露 ratchet_scan、ratchet_policy 和 ratchet_check。
适用场景
当你需要了解 agent 实际拥有哪些 MCP 服务器和工具,或需要把观测到的 agent 行为转化为可复核的最小权限策略时使用。它适合收货方必须独立验证结果、而非信任发送方日志的审计场景。
运行要求
在 macOS 或 Linux(amd64 或 arm64)上作为本地进程运行,可通过安装脚本、Homebrew、容器镜像或 Claude Desktop 一键安装包获取;打包的二进制不需要 Node 或 Python 运行时。未声明任何账号、API 密钥或环境变量。可选的 introspection 模式会连接已配置的 MCP 服务器,验证脚本需要 Python 3。
安装前请注意
扫描为只读,但 introspection 会连接已配置的 MCP 服务器,观测会采集真实调用记录,其中可能含敏感的工具参数,请将这些产物保留在本地。能力判定基于名称和描述的启发式,会双向出错,依赖前请先复核策略。它不是沙箱,运行时不会拦截调用。反馈内容仅整理供你复制,不会自动发送遥测。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Ratchet,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Ratchet

从 agent 的真实行为编译最小权限策略,并给出收货方能自己验证的证据。

bash
curl -fsSL https://github.com/suhui-organization/ratchet/releases/latest/download/install.sh | sh

macOS / Linux 上也可以用 Homebrew(formula 钉住每个平台的 sha256):

bash
brew install suhui-organization/tap/ratchet

Claude Desktop 用户可以直接装本地 server(一键安装包,不需要命令行):

下载 ratchet-0.12.0.mcpb 并打开它,Claude Desktop 会完成安装。包内是四个平台的原生二进制 + 一份 manifest.json (MCPB 规范),不需要 Node 或 Python 运行时。

Linux / macOS(amd64 · arm64)。装完先跑这一条——只读配置,不执行任何东西:

bash
ratchet scan --home ~

它会在十秒内告诉你:这台机器上有几个 MCP server,其中几个没锁版本。 (我自己的机器:16 个里 12 个没锁。)

棘轮只能往一个方向转:权限可以收紧,放宽必须显式。

这是什么

一个跑在你自己机器上的工具:它读 agent 用到的工具清单, 编译出一份最小权限策略,再把这次审计的产物打成一份 收货方不需要信任你、也不需要装任何东西就能验证的交付目录。

这不是什么

  • 不是沙箱、不是容器运行时;
  • 不是 prompt 内容过滤器;
  • 不是企业控制台(不做 dashboard、不做多租户、不做 SaaS 依赖);
  • 不要求你把日志传到哪里去。

为什么值得存在

市场上的产品要么让你自己手写策略(Cedar / CEL / 自然语言), 要么要你相信它的日志。Ratchet 做的是这两件之间缺失的一步: 策略由观测编译,证据由收货方自己算哈希。

一个例子

bash
# 1) 编译:从工具清单得到一份保守的最小权限策略ratchet policy draft --from examples/inventory.json --out policy.json
# 2) 出交付物:报告 + 逐文件 sha256 清单ratchet-report build --dir ./delivery --policy policy.json
# 3) 收货方验证(不需要装 ratchet)python3 verify.py ./delivery

仓库结构

目录语言是什么
cmd/ internal/Go机器上的引擎:工具清单 → 能力判定 → 最小权限策略。编译成单个静态二进制,目标机器不需要任何运行时
service/Python交付物侧:合规映射、sha256 清单、以及只用标准库的独立验证器
web/Nuxt 4 + Vue 3 + Tailwind公开页面:落地页 + 收货方在浏览器里自己算哈希的验证页
docs/—设计与计划(DESIGN.md / PLAN.md / DECISIONS.md)

状态

0.12.0 — developer preview,链路已经整条打通(本机实测:16 个 MCP server、 12 个未锁版本、164 个工具、策略 allow 43 / approve 106 / deny 15):

命令做什么
ratchet scan [--introspect] [--share page.html]读 harness 配置列出 MCP server(只读,不执行);加 --introspect 才连上去列工具
ratchet ingest / observe采集真实调用(hook 出错静默退出),并对照清单看出哪些工具从没被用过
ratchet policy draft / check编译三态策略(每条带判定依据),并试跑一次假设调用
ratchet deliver / report build一条命令出交付目录:策略 + 报告 + sha256 清单
ratchet mcp以 stdio MCP server 形态跑(ratchet_scan / ratchet_policy / ratchet_check)
ratchet feedback把去标识化结果整理成 issue 正文供你复制;没有遥测,不会自动发

拿到它的方式:curl -fsSL https://github.com/suhui-organization/ratchet/releases/latest/download/install.sh | sh、 brew install suhui-organization/tap/ratchet、容器 ghcr.io/suhui-organization/ratchet, 或官方 MCP Registry 里的 io.github.iversonwuwei/ratchet。

清楚的边界:能力判定是名称/描述的启发式,会双向出错(仓里有两条已知误判的测试); 它不是沙箱、运行时不拦调用;判定不了的会单独列出来请人确认,而不是猜一个结论。 详见 docs/PLAN.md 与 docs/DELIVERY-0.14.0.md。

许可证

Apache-2.0,见 LICENSE。

开发

bash
make test          # 三端全部测试make go-testmake py-testmake web-test

来源:README.md,提交 0b546b9

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

3
  1. v0.12.1最新Sep 20, 2026
  2. v0.12.0Sep 19, 2026
  3. v0.11.0Sep 19, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分