three.ws Provenance について
three.ws Provenance は、AI エージェントの行動を記録し監査するための MCP サーバーです。各アクションは追記専用の台帳に書き込まれ、エージェントの EVM ウォレットによる ERC-191 署名を付けられます。記録された署名者を第三者が検証できます。
主な機能
- 01編集や削除ができない追記専用の台帳
- 02記録されたアクションへの任意の ERC-191 署名
- 03エージェントごとのカーソル式ページネーション付き履歴
- 04単一アクションの署名者復元と検証
- 05エージェントごとの所有者単位のアクセス制御
活用シーン
- 01ローンチや取引などの重要な操作の記録
- 02フォークされたエージェントや委任されたエージェントの履歴監査
- 03特定のアクションが指定エージェントの署名かどうかの検証
MCP 対応
このサーバーは、エージェントのアクション記録を一覧、検証、追記する MCP ツールを提供します。台帳に書き込むのは追記ツールのみで、他のツールは読み取り専用です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @three-ws/provenance-mcpTHREE_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 返すアクションの最大数(1~200、デフォルト:50)。 |
| cursor | string | いいえ | ページネーション用カーソル。前回の呼び出しで返された `next_cursor` を渡すと、次の(より古い)ページを取得できます。 |
| agent_id | string | はい | プロビナンス記録を読み取る Agent の identity uuid。トークンがその Agent を所有している必要があります。 |
詳細
@three-ws/provenance-mcp
MCP を介したエージェントのアクション来歴ログ — 追記専用、ERC-191 署名付き、オンチェーンで検証可能です。あらゆる AI アシスタントから、エージェントが行ったことを記録し、別のエージェントの履歴を監査できます。
three.ws のエージェント信頼レイヤー向け Model Context Protocol サーバーです。エージェントが実行するすべてのアクションは追記専用の台帳に記録されます。任意でエージェントの EVM ウォレット(ERC-191)による署名を付与できるため、作成者を単に主張するのではなく、証明できます。このサーバーにより、あるエージェントは自身のアクションを記録でき、あらゆるエージェントが別のエージェントの来歴履歴を読み取り、暗号学的に検証できます。
重要な理由:フォーク、購入、または委任されたエージェントが信頼できるのは、その履歴を証明できる場合に限られます。provenance-mcp は「エージェントが X を実行したと言っている」を「エージェントは X を実行したと署名しており、誰でも ecrecover で署名者を確認できる」に変えます。台帳は不変で、記録が編集または削除されることはありません。
インストール
npm install @three-ws/provenance-mcp
または npx で実行します(インストール不要):
npx @three-ws/provenance-mcp
クイックスタート
Claude Code の場合は、1 行で設定できます:
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 | 読み取り専用 | エージェントのアクション履歴を新しい順に読み取ります。カーソルによるページネーションに対応しています。各記録の署名はインラインで検証されます。 |
query_action | 読み取り専用 | ID でアクションを 1 件取得し、署名者を復元します。指定されたエージェントが、そのアクションを改ざんされずに作成したことを証明します。 |
append_agent_action | 書き込み | 新しいアクションに ERC-191 署名を付与し、不変の台帳に追加します。上書きや削除は行いません。 |
append_agent_action は唯一の書き込みツールです。追記専用の台帳に追加します。呼び出すたびに新しい恒久的な記録が作成されるため、冪等ではありません(むやみに再試行しないでください)。また、上書きや削除は一切行われないため、破壊的な操作ではありません。
入力パラメーター
list_agent_actions:agent_id(必須。エージェント ID の UUID)、limit(1~200、デフォルトは 50)、cursor(数値。前回の next_cursor の値)。
query_action:agent_id(必須。エージェント ID の UUID)、id(必須。数値のアクション ID)。
append_agent_action:agent_id(必須。エージェント ID の UUID)、type(必須。64 文字以下)、payload(オブジェクト。省略可能)、source_skill(省略可能)、signer_key(省略可能な 0x EVM キー。この呼び出しでは THREE_WS_SIGNER_KEY を上書きします)。
署名と検証の仕組み
署名者キーが設定された状態でアクションを追加すると、サーバーは次の処理を行います。
- アクションの正規形を作成します。
{ v, agentId, type, payload, sourceSkill }のキーを再帰的にソートするため、同じ論理アクションは常に同じバイト列になります。 - SHA-256 でダイジェストを計算し、
threews:action:v1:<digest>としてフレーミングします(ドメイン分離により、アクションの署名が別の three.ws メッセージとして再生されることはありません)。 - エージェントの 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 でサーバー側に使用しているものと同じプリミティブです。検証に必要なのは公開レコードとエージェントのアドレスだけです。
例
// 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 アクセストークン。台帳はすべての呼び出しを認証し、所有者ごとにスコープが設定されています。トークンの所有者であるエージェントのアクションのみ読み取りと追加ができます。
環境変数
| 変数 | 必須 | デフォルト | 用途 |
|---|---|---|---|
THREE_WS_TOKEN | はい | — | すべての呼び出しを認証するベアラートークン(API キーまたは OAuth アクセストークン)。パスワードと同様に扱ってください。 |
THREE_WS_SIGNER_KEY | いいえ | — | 0x EVM 秘密鍵。設定すると、append_agent_action が各アクションに ERC-191 署名を行います。現金と同様に扱ってください。 |
THREE_WS_BASE | いいえ | https://three.ws | API ベース URL。セルフホストまたはプレビュー環境へのデプロイ用に上書きします。 |
THREE_WS_TIMEOUT_MS | いいえ | 20000 | リクエストごとのタイムアウト(ミリ秒)。 |
リンク
- ホームページ:https://three.ws
- 変更履歴:https://three.ws/changelog
- 問題:https://github.com/nirholas/three.ws/issues
- ライセンス:Apache-2.0。LICENSE を参照してください。
three.ws SDK スイートの一部 — 3D AI エージェント、オンチェーン ID、エージェント決済。
ウェブサイト · 変更履歴 · GitHub
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。