mcpField
T
three.ws Provenance

three.ws Provenance

本地服务
three.ws安全255今天更新

关于 three.ws Provenance

three.ws Provenance 是一个 MCP 服务,用于记录和审计 AI Agent 的行为轨迹。每条记录以只追加方式写入账本,可选地使用 Agent 的 EVM 钱包进行 ERC-191 签名,便于独立验证作者身份。

主要功能

  1. 01只追加且不可修改的行为账本
  2. 02可选的 ERC-191 签名记录
  3. 03按 Agent 分页读取行为轨迹
  4. 04单条行为的签名者恢复与校验
  5. 05按 Agent 限定的所有者作用域访问

适用场景

  1. 01记录 Agent 发布、交易等关键操作
  2. 02审计被分叉或委托 Agent 的历史行为
  3. 03独立验证某条行为是否由指定 Agent 签署

MCP 相关

该服务以 MCP 服务形式提供读取、校验和追加行为记录的工具。其中仅追加工具会写入账本,其余工具为只读。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nirholas-provenance": {
"command": "npx",
"args": [
"-y",
"@three-ws/provenance-mcp"
],
"env": {
"THREE_WS_BASE": "<THREE_WS_BASE>",
"THREE_WS_TIMEOUT_MS": "<THREE_WS_TIMEOUT_MS>",
"THREE_WS_TOKEN": "<THREE_WS_TOKEN>",
"THREE_WS_SIGNER_KEY": "<THREE_WS_SIGNER_KEY>"
}
}
}
}
启动命令npx -y @three-ws/provenance-mcp
需要配置的环境变量
THREE_WS_BASEBase URL of the three.ws API that serves the agent-actions ledger. Override only when self-hosting or targeting a preview deployment.
THREE_WS_TIMEOUT_MSPer-request timeout in milliseconds for the ledger reads/appends.
THREE_WS_TOKEN密钥Bearer token authenticating every call — a three.ws API key (sk_live_…) or an OAuth access token. The ledger is owner-scoped: you can read and append actions only for agents your token owns. Required for all three tools. Treat like a password.
THREE_WS_SIGNER_KEY密钥Optional 0x-prefixed EVM private key. When set, append_agent_action ERC-191-signs each action so anyone can ecrecover the signer and verify authorship on-chain. A per-call `signer_key` arg overrides it. Omit to append unsigned. Treat like cash.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@three-ws/provenance-mcp0.1.3

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否最多返回的操作数(1–200,默认值:50)。
cursorstring否分页游标——传入上次调用返回的 `next_cursor`,以获取下一页(更早的记录)。
agent_idstring是要读取其来源记录的 Agent 身份 uuid。你的令牌必须拥有该身份。

详细介绍

three.ws

@three-ws/provenance-mcp

通过 MCP 记录 Agent 操作溯源——仅追加、采用 ERC-191 签名、可在链上验证。记录 Agent 执行的操作,并让其他 Agent 审计其操作轨迹;任何 AI 助手都能使用。

npm license node MCP Registry three.ws


一个面向 three.ws Agent 信任层的 Model Context Protocol 服务。Agent 执行的每项操作都会写入仅追加的账本,并且可以选择使用 Agent 的 EVM 钱包进行签名(ERC-191),从而证明其作者身份,而非仅凭口头声称。本服务可让一个 Agent 记录自己的操作,并让任何 Agent 读取和加密验证其他 Agent 的溯源轨迹。

为何重要:分叉、购买或委托而来的 Agent,只有在其历史可验证时才值得信任。provenance-mcp 将“Agent 声称自己执行了 X”变为“Agent 签名确认自己执行了 X,任何人都可以通过 ecrecover 恢复签名者以进行验证”。账本不可变——记录永远不会被编辑或删除。

安装

npm install @three-ws/provenance-mcp

也可以通过 npx 运行(无需安装):

npx @three-ws/provenance-mcp

快速开始

Claude Code,一行命令:

claude mcp add provenance --env THREE_WS_TOKEN=sk_live_… -- npx -y @three-ws/provenance-mcp

Claude Desktop / Cursor(claude_desktop_config.json 或 mcp.json):

{
	"mcpServers": {
		"provenance": {
			"command": "npx",
			"args": ["-y", "@three-ws/provenance-mcp"],
			"env": {
				"THREE_WS_TOKEN": "sk_live_…",
				"THREE_WS_SIGNER_KEY": "0x…"
			}
		}
	}
}

使用 MCP Inspector 查看工具接口:

THREE_WS_TOKEN=sk_live_… npx -y @modelcontextprotocol/inspector npx @three-ws/provenance-mcp

工具

工具类型功能
list_agent_actions只读读取 Agent 的操作轨迹,按最新记录优先排序,并使用游标分页。每条记录都会在行内进行签名验证。
query_action只读按 ID 获取一项操作并恢复其签名者,以证明指定 Agent 创建了这项未经篡改的操作。
append_agent_action写入使用 ERC-191 对新操作签名,并将其追加到不可变账本。绝不覆盖或删除。

append_agent_action 是唯一的写入工具。它会将记录追加到仅追加的账本:每次调用都会创建一条新的永久记录(因此它不是幂等操作——不要盲目重试),而且任何内容都不会被覆盖或删除(因此它不会造成破坏)。

输入参数

list_agent_actions:agent_id(必填,Agent 身份的 uuid)、limit(1 到 200,默认值为 50)、cursor(数字,取自先前返回的 next_cursor)。

query_action:agent_id(必填,Agent 身份的 uuid)、id(必填,数字类型的操作 ID)。

append_agent_action:agent_id(必填,Agent 身份的 uuid)、type(必填,不超过 64 个字符)、payload(对象,可选)、source_skill(可选)、signer_key(可选的 0x EVM 密钥,在本次调用中覆盖 THREE_WS_SIGNER_KEY)。

签名与验证的工作原理

当你追加操作且配置了签名密钥时,服务端会:

  1. 构建操作的规范化形式 — { v, agentId, type, payload, sourceSkill },并递归排序键,以确保相同的逻辑操作始终生成相同的字节。
  2. 对其计算 SHA-256 摘要,并将摘要封装为 threews:action:v1:<digest>(使用域分隔,因此操作签名绝不会被重放为其他 three.ws 消息)。
  3. 使用 Agent 的 EVM 密钥对该字符串进行 ERC-191 personal_sign 签名,并将生成的 signature 和 signer_address 与操作一并发送。

list_agent_actions 和 query_action 会离线执行相反的操作:从存储的记录重新计算摘要,并通过 ecrecover 恢复签名者。verification.reason 为 ok 表示签名恢复出的地址与所声明的地址一致 — 这是作者身份和完整性的密码学证明。signer_mismatch 表示记录未通过验证(遭到篡改,或使用了其他签名方案),不得信任;unsigned 表示未附加签名。

这是 three.ws 在服务端为其 Portable & Verifiable Brain 使用的同一原语 — 验证只需要公开记录和 Agent 的地址。

示例

// append_agent_action
> { "agent_id": "6a7d0f2c-1b3e-4a55-9c88-2d41b0f7e913", "type": "launch", "payload": { "mint": "FeMbDoX7R1Psc4GEcvJdsbNbZA3bfztcyDCatJVJpump", "name": "$THREE" }, "source_skill": "pump-launch" }
{
  "ok": true,
  "action": {
    "id": "10482",
    "agent_id": "6a7d0f2c-1b3e-4a55-9c88-2d41b0f7e913",
    "type": "launch",
    "payload": { "mint": "FeMbDoX7R1Psc4GEcvJdsbNbZA3bfztcyDCatJVJpump", "name": "$THREE" },
    "source_skill": "pump-launch",
    "signature": "0x…",
    "signer_address": "0xAbC…",
    "created_at": "2026-06-24T18:20:00.000Z"
  },
  "signing": { "signed": true, "signer_address": "0xAbC…", "digest": "…" }
}
// query_action  →  verify it independently
> { "agent_id": "6a7d0f2c-1b3e-4a55-9c88-2d41b0f7e913", "id": "10482" }
{
  "ok": true,
  "action": { "id": "10482", "type": "launch", "signature": "0x…", "signer_address": "0xAbC…", /* … */ },
  "verification": { "signed": true, "valid": true, "reason": "ok", "recovered": "0xAbC…", "digest": "…" }
}

要求

  • Node.js >= 20。
  • 可访问网络 https://three.ws(或你自己的 THREE_WS_BASE)。
  • 一个 THREE_WS_TOKEN — three.ws API 密钥(sk_live_…)或 OAuth 访问令牌。账本会对每次调用进行身份验证,并且限定所有者范围:你只能读取和追加你所拥有的 Agent 的操作。
环境变量
变量必需默认值用途
THREE_WS_TOKENyes—用于对每次调用进行身份验证的 Bearer 令牌(API 密钥或 OAuth 访问令牌)。请像密码一样保管。
THREE_WS_SIGNER_KEYno—0x EVM 私钥 — 设置后,append_agent_action 会对每个操作进行 ERC-191 签名。请像现金一样保管。
THREE_WS_BASEnohttps://three.wsAPI 基础 URL — 用于覆盖以支持自托管或预览部署。
THREE_WS_TIMEOUT_MSno20000每个请求的超时时间,单位为毫秒。

链接


属于 three.ws SDK 套件 — 3D AI Agent、链上身份和 Agent 支付。
网站 · 更新日志 · GitHub

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。