关于 Mission — Trust Graduation Gate
Mission — Trust Graduation Gate 是位于 MCP 提供方之前的拦截适配器,用于判定工具调用,并将高影响调用绑定到精确操作后暂缓执行。它不把聊天中的批准文本视为授权,也不会自行恢复暂缓调用。
主要功能
- 01在调用提供方前拦截工具调用
- 02按风险与置信度暂缓调用
- 03记录精确操作绑定与本地回执
- 04校验绑定并映射到执行器
- 05支持 Claude Desktop 配置安装与验证
适用场景
- 01为高影响 MCP 调用设置执行前检查
- 02保留供人工审阅的操作摘要与回执
- 03将已授权的精确操作交由独立执行器处理
MCP 相关
该适配器包装或拦截 MCP 子服务,并通过 MCP discovery 广播实验性的 mission-authority/v1 能力。它负责暂缓和绑定,不签发可信 Mission Key,也不恢复暂缓调用。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://claude.gomission.io/mcp/claude mcp add --transport http gomission https://claude.gomission.io/mcp/{"mcpServers":{"gomission":{"type":"http","url":"https://claude.gomission.io/mcp/"}}}在 Cursor 中打开{"servers":{"gomission":{"type":"http","url":"https://claude.gomission.io/mcp/"}}}在 VS Code 中打开{"mcpServers":{"gomission":{"type":"http","url":"https://claude.gomission.io/mcp/"}}}{"mcpServers":{"gomission":{"serverUrl":"https://claude.gomission.io/mcp/"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@gomission/mcp
Mission 的开源 MCP 拦截适配器,用于精确操作授权。
它只有一个明确的职责:置于被包装的 MCP 提供方之前,对拟议的工具调用进行分类,并通过不可变的 Trust Graduation 操作绑定拦截重要调用。低风险调用可以直接通过。聊天消息中说“批准”绝不会被视为授权。
状态:实验性 Beta 版。Apache-2.0。零运行时依赖。
首先验证边界
要求:Node.js 20 或更高版本。
npx -y @gomission/mcp@beta demo
该命令使用一个虚假的电子邮件提供方,并输出一条机器可读的 DEMO_RESULT。它证明:
- 重要的提供方函数调用次数为零;
- 拦截项包含精确操作和输入哈希;
- 更改审核过的输入会改变承诺;
- 聊天文本不会授予执行权限。
这证明了拦截能力,而非授权已完成或已投入生产使用。可移植的授权/重放证明位于 @trust-graduation/core:
npx -y @trust-graduation/core@beta demo
三项基本功能
| 基本功能 | 职责 | 可移植对象 |
|---|---|---|
| Mission Gate | 在产生提供方效果前作出决定 | 操作决策 |
| Trust Profile | 按主体和操作类别跟踪已获得的权限 | 证据配置文件 |
| Mission Key | 授权一项精确操作,直到过期或撤销 | 单次使用授权 |
MCP 适配器负责在提供方调用前拦截。它不会签发可信的 Mission Key,也无法恢复被拦截的调用。可信的审批主机和执行器必须验证并以原子方式使用匹配的密钥。实验性的 A2A 续接规范发布于:
https://trustgraduation.org/extensions/a2a/action-authorization/v1
从 MCP 拦截到精确执行提供方调用
包根目录公开了稳定、零依赖的绑定桥接,供外部审批主机和执行器使用:
import { providerActionFromMcpBinding } from "@gomission/mcp";
import { createProviderGate } from "@trust-graduation/core";
const gate = createProviderGate({
store: sharedAtomicGrantStore,
authenticateGrant: verifyApprovalIssuer,
provider: existingProviderFunction,
writeReceipt: durableReceiptSink
});
// Re-read the actual provider input at the final seam; never trust a preview.
const action = providerActionFromMcpBinding(
heldReceipt.action_binding,
actualProviderInput
);
const execution = await gate.execute({
binding: heldReceipt.action_binding,
approval: authenticatedMissionKey,
action
});
该桥接会验证绑定完整性,并将拦截到的身份、目标、约束、过期时间和随机数映射为核心执行器所需的格式。随后,核心会重新计算实际提供方输入的哈希,对密钥进行身份验证并以原子方式使用,调用提供方,并写入与结果关联的证据。发生篡改或重放时,调用绝不会到达提供方。
如需使用生成的适配器并获取客观的提供方调用计数器:
npm install @trust-graduation/core@beta
npx trust-graduation init-adapter
npx trust-graduation conformance ./mission-gate-adapter.mjs --json
安装这两个包后,可运行随附的兼容性验证:
node node_modules/@trust-graduation/core/examples/mcp-provider-roundtrip.mjs
MCP 代理仍不会仅仅因为聊天中说了 "approve" 就恢复被拦截的调用。此桥接供经过单独身份验证的审批主机和绑定到提供方的执行器使用。
为 Claude Desktop 安装
npx -y @gomission/mcp@beta install-claude
安装程序会检查现有的 Claude Desktop MCP 配置:
- 如果发现重要的 MCP 服务,则选择
--wrap; - 否则选择
--local,即一项建议性的精确绑定演示; - 绝不会自动选择托管只读模式。
安装后重启 Claude Desktop,然后进行验证:
npx -y @gomission/mcp@beta verify
verify 会通过 server/discover 和 tools/list 探测现代 MCP;对于较旧的端点,则回退到 initialize 时代的协议。添加 --json 可获取机器可读报告,或添加 --no-probe 以仅检查配置。
模式
| 模式 | 强制执行的内容 | 不会执行的内容 |
|---|---|---|
--wrap | 拦截选定的子 MCP 服务;在调用子服务前暂挂高风险/关键或低置信度调用;子服务不可用时采取失败关闭策略 | 不会恢复暂挂的调用,也不会信任聊天审批 |
--local | 记录一条咨询性质的精确操作暂挂记录和本地审核回执 | 不会位于其他工具与其提供方之间 |
--remote | 要求显式配置且经过身份验证的远程服务 | 旧版公共 PHP 端点已停用;此版本不宣传任何托管服务 |
必要时明确选择:
npx -y @gomission/mcp@beta install-claude --wrap
npx -y @gomission/mcp@beta install-claude --local
# The legacy public remote is retired. Use the local or provider-interception mode above.
实用标志:
--workspace <path>— 将本地回执存储在现有工作区中。--dry-run— 打印配置更改,但不写入。--force— 即使未检测到 Claude Desktop,也创建配置。--remote-url <url>— 覆盖托管端点。MISSION_DONT_WRAP="name1,name2"— 排除选定的 MCP 子服务。
精确暂挂契约
对于会产生重大影响的包装调用,适配器会写入一份本地回执,其中包含:
- 操作类别;
- 保护隐私的本地工作区标识符;
- 发出请求的 MCP 子服务;
- 可推断时的目标;
- SHA-256 输入承诺;
- 单次执行约束;
- 到期时间和 nonce;
- 针对完整绑定的 SHA-256 承诺。
回执以原子方式写入,并设置仅所有者可访问的文件权限。适配器 绝不会在绑定中存储原始工作区路径。回执中保留了本地参数 摘要,供人工审核,因此请将回执目录视为敏感工作区数据。
MCP 兼容性
首选协议:2026-07-28。
- 每个请求均为无状态,使用带客户端能力的
_meta; server/discover为必需项;- 每个 HTTP POST 仅允许一条 JSON-RPC 消息;现代批处理和客户端通知会失败关闭;
- 对
MCP-Protocol-Version、Mcp-Method和Mcp-Name进行 HTTP 绑定; - 使用协议定义的
HeaderMismatch和不支持的版本错误; resultType: "complete"和缓存元数据;- 兼容
2025-11-25和2024-11-05的 initialize 阶段协议。
权威清单通过 MCP 发现功能,以实验性的
mission-authority/v1 能力发布。
安全边界
适配器不声称:
- 模型或聊天 UI 已对主体完成身份验证;
- 审核回执是审批授权;
- 外部提供方会恰好执行一次;
- 已通过独立的一致性测试或生产环境验证;
- 全局信任某个 Agent。
使用 @trust-graduation/core 创建并验证精确授权。执行器
必须验证授权签发方的身份、重新绑定实际提供方输入、以原子方式
消费密钥、最多调用提供方一次,并协调结果未知的
提供方操作。
开源核心边界
免费且开源:
- 此 MCP 适配器;
@trust-graduation/core及其架构;@gomission/mission-schemas一致性词汇;- A2A 精确操作授权扩展;
- Mission Lite 的本地专注应用。
商业版 Mission 可能提供托管策略、可信审批界面、 托管审计/回执操作、组织控制、支持和提供方集成。产品权益 绝不会授予操作权限。
链接
- 协议:https://trustgraduation.org/
- A2A 扩展:https://trustgraduation.org/extensions/a2a/action-authorization/v1
- Mission:https://gomission.io/
- 源码:https://github.com/gomission/mcp
许可证
Apache-2.0。Mission 名称和徽标是商标;代码许可证不 授予暗示认可的权限。
0.3.0-beta.3 中的工作区隔离
本地聊天桥接不再假定端口 8814 属于所选工作区。即使是工作区身份探测,也必须显式设置绝对路径 MISSION_WORKSPACE 和显式的回环地址 MISSION_LOCAL_URL(或 MISSION_LOCAL_PORT)。系统会拒绝重定向。在桌面应用提供受支持的、限定工作区的身份验证交接方式之前,聊天转发仍不可用;此版本不会发送任何查询。本地咨询性保留和回执功能仍可使用。
旧版 gomission.io/mcp/ 和 claude.gomission.io/mcp/ 端点已停用。它们不能作为替代身份验证途径。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。