Touchstone

cv.touchstone由 touchstone.cv 發布官方發布者v1.1.0更新於 Oct 24, 2026

Bitcoin-anchored, tamper-evident audit log for AI agents — record, disclose and verify actions.

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

概覽

AI 產生的概覽

Touchstone 將 AI 代理的動作記錄到防竄改、以比特幣錨定的稽核日誌,每筆記錄都在本機以你的 Ed25519 金鑰簽章。

可以做什麼
記錄事件:在本機正規化酬載,用你的金鑰對承諾簽章並附加到記錄器,也可依欄位分別提交,以便日後選擇性揭露。為選定項目建立可分享的揭露連結,只公開指定欄位,並附上對已簽章酬載雜湊的 Merkle 證明。驗證揭露包,並取得記錄器的公開資訊與檢查點狀態。
適用情境
當你需要一份可稽核、外部錨定的代理動作記錄,並希望簽章在本機完成、不把金鑰交給遠端服務時使用。選擇性揭露適合在公開部分欄位證明的同時隱藏其他欄位。
執行需求
透過 stdio 執行 npm 套件需要 Node.js 18 以上版本,也可使用遠端端點。需要 Touchstone 記錄器 ID、Colony 主體與 Touchstone API 金鑰;記錄還需以內嵌或金鑰檔案方式提供 Ed25519 種子。記錄器與金鑰可透過開發者網站自行開通。
安裝前請注意
伺服器持有用於簽章的 Ed25519 金鑰,請妥善保管種子與金鑰檔案。API 金鑰會傳送給 Touchstone 服務,揭露、驗證與記錄器資訊查詢也會代理到該服務。記錄會向記錄器附加項目,揭露連結會讓所選欄位可被公開分享,請確認要公開的內容。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Touchstone,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

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

{
  "mcpServers": {
    "touchstone": {
      "type": "http",
      "url": "https://touchstone.cv/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

touchstone-mcp

Local MCP server for Touchstone — record what your agent did into a tamper-evident, externally-anchored log.

This server runs on your machine and holds your Ed25519 signing key. It signs each event locally and appends it to your recorder, so an agent only has to call touchstone_record({ event_type, payload }). The key never leaves this process. Canonicalization (JCS / RFC 8785) is done locally too, so a malicious or compromised server can't trick you into signing a different commitment than you intended.

Zero dependencies — Node 18+ built-ins only. It's a single file: read it before you trust it.

The remote MCP at https://touchstone.cv/mcp can't sign for you (Touchstone never holds your key), so its touchstone_record expects a signature you computed yourself. Run this server when you want frictionless local signing.

Install

bash
# one-off, no install:npx -y @touchstone-cv/mcp
# or vendor the single file:curl -O https://touchstone.cv/touchstone-mcp.mjs
# or clone:git clone https://github.com/Touchstone-CV/touchstone-mcp && cd touchstone-mcp

Configure

Point your MCP client at it over stdio:

json
{  "mcpServers": {    "touchstone": {      "command": "npx",      "args": ["-y", "@touchstone-cv/mcp"],      "env": {        "TOUCHSTONE_RECORDER": "rec_...",        "TOUCHSTONE_SUBJECT": "<your-colony-sub>",        "TOUCHSTONE_API_KEY": "tsk_...",        "TOUCHSTONE_SIGNING_KEY": "<base64 Ed25519 32-byte seed>"      }    }  }}
Env varRequiredMeaning
TOUCHSTONE_RECORDERyesYour recorder public id (rec_…)
TOUCHSTONE_SUBJECTto recordYour Colony sub — the recorder's subject
TOUCHSTONE_API_KEYyesAPI key minted on the recorder (tsk_…)
TOUCHSTONE_SIGNING_KEYto recordbase64 Ed25519 32-byte seed — kept by you, never sent
TOUCHSTONE_KEY_FILEaltPath to JSON {"seed_b64":"…"} instead of the inline seed
TOUCHSTONE_BASE_URLnoDefaults to https://touchstone.cv

To get a recorder + key, see touchstone.cv/developers — agents can self-provision one with their own Colony token (OAuth Token Exchange, RFC 8693), no browser required.

Tools

ToolWhat it does
touchstone_recordJCS-canonicalizes payload, signs the commitment locally, appends the entry
touchstone_discloseCreate a shareable /d/<token> disclosure link (proxies to the service)
touchstone_verifyVerify a disclosure bundle (proxies to the service)
touchstone_recorder_infoFetch your recorder's public info / checkpoint state

Only touchstone_record uses your signing key; the rest proxy to the remote service over your API key.

Selective field disclosure

Call touchstone_record({ event_type, payload, selective_disclosure: true }) to commit each payload field separately — the client computes a salted-field Merkle root locally and signs that as payload_hash, storing the per-field salts. Later you can reveal only a subset:

js
touchstone_disclose({ seqs: [n], reveal: { n: ["field_a", "field_b"] } })

Revealed fields ship with Merkle proofs against payload_hash (which your signature already covers); withheld fields are salt-bound and their values never appear in the disclosure. The root computation matches the server and the verifiers byte-for-byte.

Verifying the log

A disclosure can be checked by anyone, with no trust in Touchstone — in the browser verifier, the standalone verify.php, or the gossip_check.py split-view checker. Those tools are served from the site (and are each a single auditable file); this repo is just the recording client.

License

Apache-2.0.

來源:README.md,提交 09777ca

工具

0
該伺服器需要 API 金鑰等憑證,因此 SourceWeft 無法在沒有憑證的情況下讀取其工具,也未收錄。

版本歷史

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

評分

已滿足適用檢查項的 85%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Touchstone 整合