中文博客 · 2026-10-09 · 双柱系列 · 工具面

四个 MCP 工具,30 秒验证一份密码学证据——iqa-mcp 上手

iqa-mcp · v1.0.2 · PyPI / npm / crates.io 三注册表 · Apache-2.0 · 姊妹柱:rttp://(CRI 27)· iqa://(CRI 28)

前两篇讲了双柱的设计:地址是派生的(rttp://),证据是信封(iqa://)。设计讲得再多,不如让读者亲手把一条密码学证据跑通——这一篇只做一件事:带你在 30 秒内,从拿到证据到验证它、再亲手破坏它。

一、它是什么

iqa-mcp 是一个小 MCP server,把双柱协议的能力打包成四个工具。任何 MCP 兼容的客户端——Claude Desktop、Cline、你自己的 agent 栈——都能直接调用。

三条工程纪律先立此存照:无状态(server 不存储任何东西,密钥由调用方每次传入,用完即弃);fail-closed(畸形输入一律拒绝,永不"好心"降级);离线(全部验证逻辑本地完成,零网络、零第三方)。

二、装(三条路,同一个命令)

pip install iqa-mcp          # Python ≥ 3.11
npm install -g iqa-mcp       # 或一次性:npx iqa-mcp
cargo install iqa-mcp

客户端配置(Claude Desktop / Cline 风格):

{
  "mcpServers": {
    "iqa": { "command": "iqa-mcp" }
  }
}

三条路装完都是同一个 iqa-mcp 命令,配置通用。

三、30 秒上手链

第 1 步 · published_vector:拿到公开一致性向量 AE128-VECTOR-1——权威字符串、文档化的测试钥、租约、完整 128 字节帧(hex)。这是规范里钉死的固定值。

第 2 步 · parse_envelope(帧):结构化解码。无需任何密钥,逐字段读出魔数、版本、租约、主体分片、地位……格式有一丝不合规即拒绝——畸形输入不会被"解析出部分结果"。

第 3 步 · verify_envelope(帧, 测试钥):常时时间全帧 HMAC-SHA256 验证 + 租约检查。输出:[PASS]——逐字节,任何人复现结果一致。

第 4 步 · 翻一个字节:把帧里随便哪个字节改掉,再验一次。输出:REJECT。

没有报错弹窗,没有"检测到篡改"的提示。帧只是安静地停止了验证——篡改不需要有人盯着才能被挡住,它自己就过不了那道数学的门。

四、四工具分工

一个值得停留的设计点:organ 密钥由调用方传入而非托管——谁见到密钥,谁就持有验证权。server 有意不碰它。

五、诚实的边界

iqa-mcp 是工具面,不是新协议——协议在双柱(RTTP+IQA)与草案里;它不托管密钥;不做实时风控;四个工具的拆分是否最优,正在公开征集意见(规范仍在审核中,不是刻在石头上)。

仓库:github.com/Aicent-Stack/iqa-mcp · 落地页与全部证据链:iqa.org · 寻址柱官网:rttp.com

一句话:别信这篇文档——把向量跑一遍,30 秒,你就有自己的答案。