
Deus Witness
io.github.sipkigroup由 GitHub 帳號 sipkigroup 發布v0.2.58更新於 Nov 7, 2026
MCP proxy: holds risky tool calls for passkey approval; signed receipts you can check offline.
概覽
一個 stdio MCP 代理,把有風險的代理工具呼叫暫停等待通行金鑰核准,並簽發可離線驗證的簽章回執。
- 可以做什麼
- 把任意 MCP 伺服器放在代理之後,讓工具呼叫在執行前先依你簽署的授權規則檢查
- 取得允許、拒絕或延後三種決定,延後的呼叫等待你的通行金鑰核准
- 取得針對決定的簽章、僅追加回執,並用獨立驗證器離線驗證
- 用一個指令啟動試用,自動建立試用帳號並引導完成通行金鑰操作
- 透過 TypeScript、Python 用戶端或 HTTP API 契約接入其他語言
- 適用情境
- 當你希望對 AI 代理即將用工具做什麼進行獨立查核,並留下「誰核准了哪次操作」的可稽核紀錄時值得加入。適合願意測試甚至攻擊這套早期控制機制的人,不適合需要經過認證的安全邊界的人。
- 執行需求
- 以 stdio 本機程序執行,透過 uvx 或 pip 安裝(Python 3.10+ 需在虛擬環境中);Claude Code 外掛需要 Claude Code 2.1.295+ 與 uv,支援 macOS、Linux、WSL。需要託管服務帳號中的 DEUS_WITNESS_KEY 代理金鑰,並能連線該服務;DEUS_WITNESS_URL 可指向其他見證服務。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Deus Witness,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Deus Witness
A witness service for AI-agent tool calls. Your agent asks before it acts; a witness outside the agent
checks the call against a mandate you signed, and answers allow, deny or defer (wait for you). A decision made against your mandate is a signed,
append-only receipt you can verify offline (a few automatic refusals, e.g. a call before any mandate or over a rate limit, are kept only in the server database) - so "what did the agent do, and who allowed it" has an answer you do not have to take on trust.
Install and try (one command): uvx --from deus-witness deus-witness try - or in Claude Code /plugin marketplace add sipkigroup/witness, then /plugin install deus-witness@sipkigroup.
As an MCP proxy (stdio; after -- put the MCP server you want witnessed; the bundled demo server records calls to a file and does nothing real): uvx deus-witness -- deus-witness-demo-tools, with DEUS_WITNESS_KEY (dwk_..., from your account at the hosted service) set.
- Hosted service: https://witness.sipkigroup.com - live demo: https://witness.sipkigroup.com/demo
- This repository: the open parts - the receipt specification, two separate verifiers, the TypeScript client, the Python client and the HTTP API contract (OpenAPI, data only).
Status: early (0.x). The specification is an individual draft in
spec/(not an IETF standard, not submitted to the IETF). The evidence so far is our own simulations and separate implementations written from the spec by one author; there are no external audits or deployments yet. Treat it as something to test and attack, not as a certified security boundary. Reports of bypasses are the most valuable thing you can send us.
Try it in Claude Code
Needs Claude Code 2.1.295+ and uv (curl -LsSf https://astral.sh/uv/install.sh | sh); macOS, Linux, WSL.
try makes a trial account and opens a page in your browser. The first tool call that needs you waits; the page asks for two passkey touches (one makes your passkey, one signs the recommended rules), then that call is decided - allowed, refused, or shown to you for one more touch. Until your first touch a call waits up to 90 s, then it is refused (TRIAL_NOT_CLAIMED): ask again after the touches. A trial account has no phone notifications: the call waits for you on that page. A trial account you do not keep is erased after 7 days.
/plugin install opens the plugin panel: pick a scope and install; if it says so, run /reload-plugins.
Without the plugin: uvx --from deus-witness deus-witness try (pip install deus-witness only with Python 3.10+ in a venv).
What is here
In this repo, all Apache-2.0 and run locally: the complete MCP server (deus-witness-mcp, a stdio proxy you put in front of any MCP server), the Claude Code hook and plugin, the offline verifiers and the specs.
Not in this repo: the hosted Witness API that the MCP server calls, like any API-backed MCP server calls its API (passkey approvals, the signed journal). It is run by the author and is not covered by this license; packs it issues are checked offline with the verifiers here, so you don't have to trust it.
You can implement your own witness from spec/ and contract/.
Use it
Claude Code: the three commands above (the one-step form /plugin install deus-witness --marketplace sipkigroup/witness also exists in Claude Code 2.1.275 or later); see plugins/deus-witness/README.md.
The hosted service is at https://witness.sipkigroup.com. From TypeScript: npm install @deus-witness/sdk (see sdk-ts/README.md). From Python, or to put any MCP server behind the witness: pip install deus-witness (Python 3.10+ in a venv) or, with no install, uvx deus-witness -- <your MCP server command> (MCP Registry: io.github.sipkigroup/witness; see python/README.md; setup: https://witness.sipkigroup.com/dl/docs/quickstart.html).
Any other language: speak HTTP, see contract/openapi.yaml and integrations/.
Honest limits
- A witness cannot know what an action really does beyond what the tool map and the operator's description say; it checks the call against your mandate. Routes that do not go through the witness are not covered.
- The TypeScript client does not verify receipt signatures yet (the verifiers here do). Do not treat an
allowseen through it as cryptographically checked. - If the witness is unreachable, calls should be blocked (fail closed). That is a safety choice that costs availability.
Verify the receipts yourself
If two implementations disagree on a vector, one of them (or the spec) is wrong - please open an issue with the vector.
Security, contributing, license
- Vulnerabilities:
SECURITY.md([email protected]). Contributions:CONTRIBUTING.md. - Apache License 2.0 (
LICENSE,NOTICE). Copyright 2026 Sipki LLC.
來源:README.md,提交 d08af94
工具
0版本歷史
15- v0.2.58最新Nov 7, 2026
- v0.2.56Nov 3, 2026
- v0.2.54Nov 3, 2026
- v0.2.51Nov 1, 2026
- v0.2.50Oct 30, 2026
- v0.2.49Oct 30, 2026
- v0.2.47Oct 29, 2026
- v0.2.38Oct 26, 2026
- v0.2.36Oct 26, 2026
- v0.2.32Oct 25, 2026
- v0.2.30Oct 25, 2026
- v0.2.24Oct 23, 2026
- v0.2.23Oct 22, 2026
- v0.2.22Oct 22, 2026
- v0.2.20Oct 22, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分