mcpField
L
LEGION Verify: MCP tool-list history

LEGION Verify: MCP tool-list history

远程服务
legion-api.com安全02 周前更新

关于 LEGION Verify: MCP tool-list history

LEGION Verify 是用于审查 MCP 服务工具列表变更的只读 MCP 服务,面向需要检查已批准工具是否发生漂移的开发与安全团队。它依据带签名的追加式透明日志提供历史记录和可离线复核的证明。

主要功能

  1. 01查询已签名的工具列表历史
  2. 02验证离线证据包
  3. 03检查服务工具变更与覆盖情况
  4. 04比较当前工具列表与签名记录
  5. 05使用固定根密钥验证证明

适用场景

  1. 01审查 MCP 服务是否更改工具描述
  2. 02验证工具列表证据包
  3. 03检查指定注册服务的变更历史
  4. 04在离线环境复核签名与包含证明

MCP 相关

该 MCP 服务向客户端提供五种只读工具,用于查询透明日志、验证证据和检查 MCP 服务的工具变更。客户端可通过远程 HTTP 或本地 stdio 连接。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.legion-api.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

LEGION Verify — 用于检测 MCP 工具漂移的 MCP 服务(5 个只读工具)· v1.3.0

MCP 服务是否在你批准工具后更改了工具?模型会将工具描述作为指令,因此对描述或 inputSchema 的静默更改(工具漂移,即“rug pull”)值得关注。LEGION Verify 根据 LEGION 已签名、仅追加的 MCP 工具列表透明日志提供答案:服务公开了什么,以及何时发生了更改。 每个答案都会通过基于固定根密钥指纹锚定的密钥环进行校验(Ed25519、RFC 9162 Merkle 证明);证据包可离线重新校验。

如需将工具列表固定到锁文件并在 CI 中检测漂移,请参阅 legion-lock。

工具 — 全部为只读(readOnlyHint: true,destructiveHint: false)

工具功能网络
get_checkpoint最新的已签名树头;根据密钥环校验签名GET https://tlog.legion-api.com/tlog/v0 的固定路由
get_server_changes单个 MCP 服务的已签名工具列表历史记录(注册表 ID,limit 为 1–50),按时间从新到旧排列,并附带最新记录的证据包GET https://tlog.legion-api.com/tlog/v0 的固定路由
verify_evidence_bundle离线校验证据包:从固定根密钥开始的密钥环链、记录签名、已签名树头、RFC 9162 包含证明;可选与已批准的工具哈希进行校验(MATCHES_APPROVED / UNAPPROVED_CHANGE)无
verify_mcp_server粘贴 MCP 服务 URL:先与公开 MCP 注册表匹配,再获取最新的已签名工具列表记录、更改次数(总计 / 30 天)、从固定根密钥重新校验的 RFC 9162 包含证明,以及证据包。live=true 会添加当前提供的工具列表,并与已签名列表进行比较(当前列表未签名)GET https://legion-api.com/drift/verify(默认;LEGION_DRIFT_BASE)。实时比较仅在托管端点运行,且仅针对注册表中列出的服务
check_mcp_server通过一次调用查询注册表 ID:已签名工具列表指纹历史、最近一次更改及更改前后的指纹和差异链接、来自已签名 COVERAGE_V1 登记表的单服务覆盖情况(仅当每个周期都观察到该服务时,full_register 才为 COMPLETE;不完整时为 UNKNOWN)、证明 URL,以及用于离线重新校验所有内容的一条命令(legion_check 工具包)。未知 ID → UNKNOWN(日志中未收录不代表已作出判定)GET https://tlog.legion-api.com/tlog/v0 和 https://legion-api.com/tlog/v0/coverage 的固定路由

除此之外没有其他功能:无需写入、购买、私钥或 API 密钥。调用方提供的唯一 URL 是传给 verify_mcp_server 的 URL:它会在注册表中查询;本服务绝不会连接该 URL。在托管端点上,live=true 会让 LEGION 的漂移服务向该服务发送 initialize + tools/list,且仅当该服务是注册表中的条目并具有公开地址时才会执行。

连接

Claude Code(远程)

claude mcp add --transport http legion-verify https://mcp.legion-api.com/mcp

Claude Desktop(本地,stdio) — claude_desktop_config.json:

{ "mcpServers": { "legion-verify": { "command": "python3", "args": ["/ABSOLUTE/PATH/server.py"] } } }

(需要 pip install "mcp==2.1.1";server.py 和 legion_tlog_verify.py 位于同一文件夹中)

任意 MCP 客户端(远程):使用 https://mcp.legion-api.com/mcp 上的流式 HTTP,无需身份验证。

试用

  1. “调用 get_checkpoint 并提供 tree_size、root_sha256 和 signature_valid。”
  2. “使用 get_server_changes,显示 xyz.signomy/civitae 的已签名历史记录(limit 3)。”
  3. “将你获得的 evidence_bundle 传给 verify_evidence_bundle,并告诉我证明是否有效。”
  4. “对 https://tandem.ac/mcp 使用 verify_mcp_server,并设置 live=true:自已签名记录以来,它的工具是否有更改?”

在浏览器中进行同样的检查,并使用可嵌入的徽章:https://legion-api.com/drift/check/

自行验证完整日志(无需 MCP,也无需 pip)

PIN=a7c6a35b1c2c81d589a30c2ad628679bdea9da4139d49aa3c42cdde6e1c65036
curl -fsSLO https://legion33shadow.github.io/legion-tlog-mirror/legion_verify_mirror.py
python3 -I -S legion_verify_mirror.py "$PIN"

根密钥指纹——请通过带外方式固定:a7c6a35b1c2c81d589a30c2ad628679bdea9da4139d49aa3c42cdde6e1c65036

限制

该日志是单个观察者(LEGION)的签名记录;它无法显示服务器向其他客户端提供的内容。 只有 name、description 和 inputSchema 会计算指纹。只有在 LEGION 进行下一次观察并生成下一个签名头后,变更才会显示。Bitcoin 锚点处于 pending 状态(尚未在完整节点上运行 ots verify)。 目前还没有独立见证者共同签名。需要身份验证的服务器不会被观察。

公共服务器(v1.3.0):不可变证明和每个头的历史记录会被缓存;每个客户端(Cloudflare 看到的 IP)每分钟最多可触发 20 次未缓存的日志请求(否则返回 CLIENT_RATE_LIMITED;仍会提供缓存的响应)。

许可证:MIT(参见 LICENSE)。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。