KeyHalve - verify sealed documents

com.keyhalve由 keyhalve.com 發布官方發布者v1.0.1更新於 Nov 2, 2026

Free, no-account verification of KeyHalve-sealed documents. Read-only; never receives keys.

已驗證Streamable HTTP可網頁執行開發者工具安全與監控

概覽

AI 產生的概覽

免費的唯讀 MCP 伺服器,讓助理驗證 KeyHalve 密封文件並查詢其目前的封印狀態。

可以做什麼
  • 透過驗證連結、QR 碼原文或文件 ID 驗證密封文件,回傳關於封印是否存在、狀態、密文完整性、通道證明與時間鎖的密碼學結論
  • 依 ID 查詢密封文件的即時狀態:有效、已撤銷(含原因與時間)或已超出有效期間
  • 以淺白語言說明驗證結論的意義及其可信依據,可聚焦於單一主題
適用情境
當助理需要確認某份 KeyHalve 密封文件是否真實且目前仍有效時適用,例如在處理來自該通道上平台的收據、證書或其他密封紀錄之前。它免帳號、免費,可在不接入平台付費 MCP 的情況下為流程加入驗證。
執行需求
可作為遠端無狀態 Streamable HTTP 端點使用,也可作為 npm 套件透過 stdio 在本機執行。無需帳號、身分驗證、API 金鑰或環境變數。
安裝前請注意
唯讀,且從不接收解密金鑰;驗證連結中的金鑰片段會在任何處理之前被丟棄。結論採失敗即拒絕的方式,簽發方信任最多只標為「聲明」,從不視為證明。伺服器不讀取密封內容,只檢查完整性與狀態。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 KeyHalve - verify sealed documents,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.keyhalve%2Fverify/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "keyhalve-verify-sealed-documents": {
      "type": "http",
      "url": "https://mcp.keyhalve.com/mcp"
    }
  }
}

README

KeyHalve verify-MCP

Free, public, no-account MCP server that lets any AI verify KeyHalve-sealed documents — from any platform on the rail (ValidPay, CheckBooks, …). Seal = the door (a platform's paid MCP). Verify = the room (this one, free forever).

  • Endpoint: https://mcp.keyhalve.com/mcp (Streamable HTTP, stateless)
  • Tools: keyhalve_verify · keyhalve_status · keyhalve_explain — all read-only, no auth

The blindness rule

This server never receives decryption keys. A verify URL carries the holder's key share in the #key= fragment; parseInput discards any fragment before any other logic runs, and the response says so. Verification here covers everything provable without the key:

CheckMeaning
statusactive / revoked (with reason) on the issuing platform
ciphertext integritySHA-256 of the served ciphertext = commitment recorded at issuance (v2)
rail attestationEd25519-verified against the pinned rail key; dual-sign content binding when present
time lockvalidity window judged client-side (Patent D semantics)
issuer trustfail-closed: declared at best, never proof

Reading the sealed contents still happens only in the holder's browser — exactly like the web verifier. The overall verdict fails closed: any failed check → FAILED — DO NOT TRUST.

Design notes

  • Zero runtime dependencies. WebCrypto only; the whole protocol layer is hand-auditable. Same reasoning as the pinned-key rail client in keyhalve-website.
  • Stateless. No sessions, no SSE, no KV, no cookies; every POST gets application/json. Request bodies are never logged.
  • Tenant-neutral. Platforms come from the same manifest data as the web verifier (TENANT_MANIFEST in src/verifier.ts); onboarding a platform = one data entry.
  • Fail closed. Unreachable rail, malformed share, partial dual-sign binding, unknown id prefix — all report NOT verified, never a soft pass.

Develop / deploy

npm cinpm run typecheck && npm test   # 32 testsnpm run dev                      # wrangler dev

Deploys are manual (deploy.yml via workflow_dispatch, same discipline as rail/console). Needs the CLOUDFLARE_API_TOKEN repo secret; the route mcp.keyhalve.com is a custom domain on the business CF account (same account as the watchdog scheduler).

Directory submissions (Mike-gated)

Submitting to the Claude Connectors Directory / ChatGPT App Directory is an outward-facing step — prepared separately, goes out only on Mike's go.

Listings

Directory-listing assets live in this repo — reuse them, don't invent copy:

  • llms-install.md — AI-agent install steps (Cline's AI-driven install; also the canonical per-client snippets).
  • glama.json — Glama claim file (maintainers; their live schema is maintainers-only).
  • assets/icon-400.png — 400×400 icon (white split-circle glyph on Ink #0E1116, from the brand kit).
  • Descriptions must stay byte-consistent with src/tools.ts and pass the approved-claims register (no "split key", no "tamper-proof", no issuer-identity claims).

來源:README.md,提交 8a0304b

工具

3

keyhalve_verify

Verify a sealed document

Verify a KeyHalve-sealed document. Accepts a verify URL, the raw text of a KeyHalve QR code, or a document id (vp_…, kh_…, cb_…). Returns the cryptographic verdict: whether the seal exists, its live status (active/revoked/expired), ciphertext integrity against the issuance commitment, the KeyHalve rail's independent attestation, the validity window, and the issuer's trust context. This tool NEVER decrypts sealed contents — any decryption key in the URL fragment is discarded unread; contents are only readable by opening the verify URL in a browser.

輸入參數input必填

keyhalve_status

Check live document status

Live status of a KeyHalve-sealed document by id: active, revoked (with reason/time), or outside its validity window. Lighter than keyhalve_verify — status only, no integrity or rail checks. Use for "is this still good right now?"

輸入參數document_id必填

keyhalve_explain

Explain a KeyHalve verdict

Plain-language explanation of what a KeyHalve verification verdict means and why it can be trusted (blind rail, three-share custody, commitments, revocation). Optionally focused on one topic.

輸入參數topic

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分