Mission — Trust Graduation Gate

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

Trust Graduation gate: Claude can do real work once Mission decides what it is allowed to do.

已验证Streamable HTTP可网页运行开发者工具安全与监控

概览

AI 生成的概览

Mission 的实验性 MCP 拦截适配器:对被包裹的 MCP 工具调用进行分类,并在执行前用精确动作绑定挂起高风险调用。

可以做什么
  • 拦截并分类被包裹的子 MCP 服务器提出的工具调用,在到达提供方之前挂起高风险或低置信度调用。
  • 在本地模式下记录建议性的精确动作挂起与本地复核回执。
  • 生成包含动作类别、请求子服务器、目标、SHA-256 输入承诺、约束、到期时间与随机数的回执。
  • 安装并校验 Claude Desktop 配置,支持试运行与 JSON 报告选项。
  • 提供绑定桥接,把挂起回执映射到外部审批主机与执行器。
适用场景
当你希望在可能发送、修改或删除数据的 MCP 服务器前加一道闸门,让重要调用被挂起并等待精确、可复核的授权,而不是凭聊天消息直接执行时使用。它是实验性测试版组件,并非完整的审批系统。
运行要求
需要 Node.js 20 或更高版本运行该 npm 包(可通过 npx 或本地安装)。安装器流程需要 Claude Desktop。远程模式需要显式配置且经过认证的远程服务;旧的公共端点已停用。可选设置包括 MISSION_DONT_WRAP、MISSION_WORKSPACE、MISSION_LOCAL_URL 或 MISSION_LOCAL_PORT。
安装前请注意
它不签发受信任的密钥,也不能恢复被挂起的调用;必须由独立的已认证审批主机与执行器校验并消费授权,因此它不是完整的授权系统。回执中保留本地参数摘要,应把回执目录视为敏感工作区数据。安装器会写入 Claude Desktop 配置,除非使用试运行选项。状态为实验性测试版。

安装

在 SourceWeft 中

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

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.gomission%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "mission-trust-graduation-gate": {
      "type": "http",
      "url": "https://claude.gomission.io/mcp/"
    }
  }
}

README

@gomission/mcp

[Mission MCP Glama score]

Mission’s open MCP interception adapter for exact-action authority.

It has one narrow job: sit before a wrapped MCP provider, classify a proposed tool call, and hold consequential calls with an immutable Trust Graduation action binding. Low-risk calls may pass through. A chat message saying “approve” is never treated as authority.

Status: experimental beta. Apache-2.0. Zero runtime dependencies.

Prove the boundary first

Requirements: Node.js 20 or newer.

bash
npx -y @gomission/mcp@beta demo

The command uses a fake email provider and prints one machine-readable DEMO_RESULT. It proves that:

  • the consequential provider function was called zero times;
  • the hold contains an exact action and input hash;
  • changing the reviewed input changes the commitment;
  • chat text grants no execution authority.

This proves interception, not completed authorization or production adoption. The portable grant/replay proof lives in @trust-graduation/core:

bash
npx -y @trust-graduation/core@beta demo

The three primitives

PrimitiveResponsibilityPortable object
Mission GateDecide before a provider effectaction decision
Trust ProfileTrack earned authority per principal and action classevidence profile
Mission KeyAuthorize one exact action until expiry or revocationsingle-use grant

The MCP adapter implements the pre-provider hold. It does not mint a trusted Mission Key and it cannot resume a held call. A trusted approval host and executor must validate and atomically consume the matching key. The experimental A2A continuation is published at:

https://trustgraduation.org/extensions/a2a/action-authorization/v1

MCP Hold to Exact Provider Execution

The package root exposes the stable, zero-dependency binding bridge used by an external approval host and executor:

js
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});

The bridge verifies binding integrity and maps the intercepted identities, target, constraints, expiry, and nonce into the core executor shape. The core then re-hashes the actual provider input, authenticates and atomically consumes the Key, calls the provider, and writes result-linked evidence. Mutation or replay never reaches the provider.

For a generated adapter and objective provider-call counters:

bash
npm install @trust-graduation/core@betanpx trust-graduation init-adapternpx trust-graduation conformance ./mission-gate-adapter.mjs --json

With both packages installed, the included compatibility proof is:

bash
node node_modules/@trust-graduation/core/examples/mcp-provider-roundtrip.mjs

The MCP proxy still never resumes a held call merely because chat says "approve". This bridge is for the separately authenticated approval host and provider-bound executor.

Install for Claude Desktop

bash
npx -y @gomission/mcp@beta install-claude

The installer inspects the existing Claude Desktop MCP configuration:

  • if it finds consequential MCP servers, it selects --wrap;
  • otherwise it selects --local, an advisory exact-binding demonstration;
  • it never auto-selects the hosted read-only mode.

Restart Claude Desktop after installation, then verify:

bash
npx -y @gomission/mcp@beta verify

verify probes modern MCP with server/discover and tools/list, falling back to the initialize-era protocol for older endpoints. Add --json for a machine-readable report or --no-probe to inspect configuration only.

Modes

ModeWhat it enforcesWhat it does not do
--wrapIntercepts selected child MCP servers; holds high/critical or low-confidence calls before the child; fails closed if a child is unavailableDoes not resume a held call or trust chat approval
--localRecords an advisory exact-action hold and local review receiptIs not between another tool and its provider
--remoteRequires an explicitly configured, authenticated remote serviceThe old public PHP endpoint is retired; no hosted service is advertised by this release

Choose explicitly when needed:

bash
npx -y @gomission/mcp@beta install-claude --wrapnpx -y @gomission/mcp@beta install-claude --local# The legacy public remote is retired. Use the local or provider-interception mode above.

Useful flags:

  • --workspace <path> — store local receipts in an existing workspace.
  • --dry-run — print the configuration change without writing it.
  • --force — create configuration even when Claude Desktop is not detected.
  • --remote-url <url> — override the hosted endpoint.
  • MISSION_DONT_WRAP="name1,name2" — exclude selected MCP children.

Exact hold contract

For a consequential wrapped call, the adapter writes a local receipt containing:

  • action class;
  • privacy-preserving local workspace identifier;
  • requesting MCP child;
  • target when one can be inferred;
  • SHA-256 input commitment;
  • one-execution constraints;
  • expiry and nonce;
  • SHA-256 commitment over the complete binding.

Receipts are written atomically with owner-only file permissions. The adapter never stores the raw workspace path inside the binding. A local argument summary remains in the receipt for human review, so treat the receipt directory as sensitive workspace data.

MCP compatibility

Preferred protocol: 2026-07-28.

  • stateless per-request _meta with client capabilities;
  • mandatory server/discover;
  • one JSON-RPC message per HTTP POST; modern batches and client notifications fail closed;
  • HTTP binding for MCP-Protocol-Version, Mcp-Method, and Mcp-Name;
  • protocol-defined HeaderMismatch and unsupported-version errors;
  • resultType: "complete" and cache metadata;
  • initialize-era compatibility for 2025-11-25 and 2024-11-05.

The authority manifest is advertised through MCP discovery under the experimental mission-authority/v1 capability.

Security boundary

The adapter does not claim:

  • that a model or chat UI authenticated the principal;
  • that a review receipt is an approval grant;
  • exactly-once behavior at an external provider;
  • independent conformance or production validation;
  • global trust in an agent.

Use @trust-graduation/core to create and validate exact grants. The executor must authenticate the grant issuer, re-bind the actual provider input, atomically consume the key, invoke the provider at most once, and reconcile unknown provider outcomes.

Open-core boundary

Free and open:

  • this MCP adapter;
  • @trust-graduation/core and its schemas;
  • @gomission/mission-schemas conformance vocabulary;
  • the A2A exact-action authorization extension;
  • Mission Lite’s local focus app.

Commercial Mission may provide managed policy, trusted approval surfaces, hosted audit/receipt operations, organization controls, support, and provider integrations. Product entitlements never grant action authority.

Links

License

Apache-2.0. Mission names and logos are trademarks; the code license does not grant permission to imply endorsement.

Workspace isolation in 0.3.0-beta.3

The local chat bridge no longer assumes that port 8814 belongs to the selected workspace. An explicit absolute MISSION_WORKSPACE and explicit loopback MISSION_LOCAL_URL (or MISSION_LOCAL_PORT) are required even for the workspace identity probe. Redirects are rejected. Chat forwarding remains unavailable until the desktop provides a supported workspace-scoped authentication handoff; no query is sent by this release. Local advisory holds and receipts continue to work.

The legacy gomission.io/mcp/ and claude.gomission.io/mcp/ endpoints are retired. They are not an alternative authentication path.

来源:README.md,提交 997cdd0

工具

0
SourceWeft 尚未读取此服务器的工具。

版本历史

1
  1. v0.1.4最新Sep 16, 2026

评分

已满足适用检查项的 85%

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

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分

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

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