
Irontrellis Evidence
io.github.zerohourzulu由 GitHub 帳號 zerohourzulu 發布v1.0.0-rc.2更新於 Oct 30, 2026
Local MCP server that copies selected files into an evidence packet while the agent holds authority
概覽
本機 stdio MCP 伺服器:只有在設定的代理仍於 IronTrellis 歷史中持有權限時,才把操作人員預先選定的檔案複製成受保護的證據包。
- 可以做什麼
- 蒐集證據:在代理授權仍有效時,依操作 ID 把預先選定的檔案複製成新的證據包,並記錄回執。
- 重試對帳:重複同一個操作 ID 時只檢查原本的嘗試,不會再次複製。
- 回報結果:回覆會區分已記錄、僅對帳、結果未知、遭拒絕、遭退回與忙碌等狀態,並附上證據包驗證旗標。
- 拒絕並留痕:授權被撤銷時回傳拒絕,並由代理自身的工作階段寫入歷史。
- 適用情境
- 適合使用 IronTrellis 記錄「誰可以代表誰行事」的團隊,希望讓代理從操作人員事先選定的檔案整理出有界、可核驗的證據包。它是同一權限邊界的最小範例,而非通用檔案工具。
- 執行需求
- 以 stdio 方式在本機執行,來自 npm 套件 @ramex-labs/irontrellis-mcp(安裝 next 標籤)。需要一份 gateway.json 設定(權限 0600),其中指定歷史檔案、授權網域、擁有者與控制器、工作階段、角色與任期、資源、輸入與輸出目錄、固定選取集,以及存放工作階段私鑰的 keyFile。未宣告任何環境變數或標頭。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Irontrellis Evidence,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
IronTrellis Evidence MCP server
IronTrellis (formerly Continuity) keeps a checkable record of who may act for whom, and which duties survive when an AI agent is replaced.
irontrellis-evidence is a stdio MCP (Model Context Protocol) server with one tool, irontrellis_collect_evidence, that copies operator-selected files into a protected evidence packet if the configured agent still holds the authority in a format-2 IronTrellis history (format 2 is the history format this release writes). One operation id is one operation, so a retry reconciles the original attempt instead of copying again.
Need several approved tools, or tools the model may call repeatedly? Use @ramex-labs/irontrellis-mcp-gateway (exactly-once jobs and per-call mode). This package is the smallest complete example of the same boundary: your application chooses the agent, the source files, the destination and the key before launching the server; none of them is a tool argument. Concepts: docs/PRINCIPLES.md, docs/GLOSSARY.md.
This is 1.0.0-rc.2.3; install it from the next tag.
What happens, call by call
The quickstart below builds this case and runs its first two steps: an agent, bea, holds a grant to collect the evidence packet for incident:42, and one input file is selected.
60-second quickstart
Expected: Tools: irontrellis_collect_evidence, then a RECORDED packet on the first call and RECONCILIATION_ONLY on the repeat, with packetVerified: true both times. To connect another MCP client, configure it to launch irontrellis-evidence --config /absolute/new-case/gateway.json (stdio).
Keep the case directory private; setup refuses to overwrite an existing directory. All three commands take --help and --version. A refusal (an existing target, a missing parent, a configuration that is missing, not 0600 or not valid) is one JSON line on stderr with exit code 2, {"status":"REFUSED","reason":<CODE>,"detail":<why>} (the server's own line names GATEWAY_CONFIGURATION_UNAVAILABLE as its reason and may add the underlying code), where detail names the file, field or limit at fault and never echoes configuration values or keys.
The tool
irontrellis_collect_evidence { operationId, resource }
Annotations: readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false. It creates files and never deletes any; repeating an id copies nothing.
An MCP tool error is a reply with isError: true. externalOutcome, which RECORDED, RECONCILIATION_ONLY and OUTCOME_UNKNOWN replies carry, is always NOT_PROVEN: a packet proves which selected bytes were copied, not that their contents are true.
Configuration
gateway.json (0600) has exactly these fields. Every choice is the operator's.
The copy is bounded: at most 8 files, 64 KiB each, 256 KiB in total, into outputDirectory/<sha256(operationId)>/.
Embedding
createEvidenceServer(loadEvidenceTool(configFile, { additionalPolicy? })) returns an SDK Server (@modelcontextprotocol/server); serveEvidence(tool) serves it on stdio, to 2026-07-28 and 2025-era clients alike, behind a strict-JSON input guard (16 KiB frames, no duplicate keys, 5-second frame deadline, at most 1,024 messages in any 60 seconds). Input that breaks the guard never reaches the tool: the server stops with exit code 2.
The server refuses at startup rather than serving a configuration it cannot verify (GATEWAY_CONFIGURATION_UNAVAILABLE, exit 2). A legacy or format-1 history opens read only and the tool does not act on it; migrate it with irontrellis migrate.
Limits
Check it yourself
From a clone of the repository:
The tests drive the server over stdio, through a real MCP client and with raw frames: a retry, a revoked grant, a retired session, a replaced key, attempts to substitute the actor, paths or resource, duplicate keys, oversized or unfinished frames, and a message flood. They check this package as it ships. They do not test your deployment, and the limits stated above still apply.
Dependencies: @ramex-labs/irontrellis, @modelcontextprotocol/server and @modelcontextprotocol/client (2.2.0, pinned exactly). Apache-2.0.
Last reviewed: 24 October 2026. This page is revisited at each release.
來源:packages/mcp-evidence/README.md,提交 cd34ad7
工具
0版本歷史
1- v1.0.0-rc.2最新Oct 29, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分