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 分