Touchstone について
Touchstone は、AI エージェントの操作を改ざん検知可能な検証用ログに記録するローカル MCP サーバーです。Ed25519 キーでイベントをローカル署名し、キーはプロセス外に出ません。フィールド単位の選択的開示にも対応します。
主な機能
- 01イベントのローカル正規化と署名
- 02監査ログへのイベント追記
- 03選択的開示リンクの作成
- 04開示データの検証
- 05レコーダーのチェックポイント確認
活用シーン
- 01AI エージェントの操作記録
- 02確認者への指定フィールドの開示
- 03開示記録の第三者検証
MCP 対応
ローカル MCP サーバーとして、互換クライアントに記録、開示、検証、レコーダー情報のツールを提供します。記録はローカル署名し、その他のツールは API キーでリモートサービスを利用します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://touchstone.cv/mcpclaude mcp add --transport http cv-touchstone-touchstone https://touchstone.cv/mcp{"mcpServers":{"cv-touchstone-touchstone":{"type":"http","url":"https://touchstone.cv/mcp"}}}Cursor で開く{"servers":{"cv-touchstone-touchstone":{"type":"http","url":"https://touchstone.cv/mcp"}}}VS Code で開く{"mcpServers":{"cv-touchstone-touchstone":{"type":"http","url":"https://touchstone.cv/mcp"}}}{"mcpServers":{"cv-touchstone-touchstone":{"serverUrl":"https://touchstone.cv/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://touchstone.cv/mcp認証が必要ツール
詳細
touchstone-mcp
Touchstone 用のローカル MCP サーバーです。Touchstone は、エージェントの実行内容を改ざん検知可能で、外部にアンカーされたログに記録します。
このサーバーはあなたのマシン上で動作し、あなたの Ed25519 署名キーを保持します。各イベントにローカルで署名し、レコーダーに追記するため、エージェントは touchstone_record({ event_type, payload }) を呼び出すだけで済みます。キーがこのプロセスの外に出ることはありません。
正規化(JCS / RFC 8785)もローカルで行うため、悪意のあるサーバーや侵害されたサーバーに、意図したものとは異なるコミットメントへの署名を強制されることはありません。
依存関係はゼロで、Node 18+ の組み込み機能のみを使用します。単一ファイルなので、信頼する前に内容を確認できます。
リモート MCP(
https://touchstone.cv/mcp)はあなたに代わって署名できません(Touchstone がキーを保持することはありません)。そのため、リモート MCP のtouchstone_recordには、自分で計算した署名が必要です。手間のかからないローカル署名を使う場合は、このサーバーを実行してください。
インストール
# 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
設定
stdio 経由で MCP クライアントから接続します。
{
"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>"
}
}
}
}
| 環境変数 | 必須 | 意味 |
|---|---|---|
TOUCHSTONE_RECORDER | はい | レコーダーの公開 ID(rec_…) |
TOUCHSTONE_SUBJECT | 記録する場合 | Colony の sub — レコーダーのサブジェクト |
TOUCHSTONE_API_KEY | はい | レコーダー上で発行された API キー(tsk_…) |
TOUCHSTONE_SIGNING_KEY | 記録する場合 | base64 形式の Ed25519 32 バイトシード — あなたが保持し、送信されることはありません |
TOUCHSTONE_KEY_FILE | 代替 | インラインシードの代わりに使用する JSON {"seed_b64":"…"} のパス |
TOUCHSTONE_BASE_URL | いいえ | デフォルトは https://touchstone.cv |
レコーダーとキーの取得方法については、touchstone.cv/developers をご覧ください。エージェントは自身の Colony トークンを使って、ブラウザーなしでレコーダーをセルフプロビジョニングできます(OAuth Token Exchange、RFC 8693)。
ツール
| ツール | 機能 |
|---|---|
touchstone_record | payload を JCS で正規化し、コミットメントにローカルで署名して、エントリーを追記します |
touchstone_disclose | 共有可能な /d/<token> 開示リンクを作成します(サービスにプロキシします) |
touchstone_verify | 開示バンドルを検証します(サービスにプロキシします) |
touchstone_recorder_info | レコーダーの公開情報とチェックポイントの状態を取得します |
署名キーを使用するのは touchstone_record のみです。それ以外は、あなたの API キーを使ってリモートサービスにプロキシします。
フィールドの選択的開示
touchstone_record({ event_type, payload, selective_disclosure: true }) を呼び出すと、各 payload フィールドを個別にコミットします。クライアントはローカルでソルト付きフィールドの Merkle ルートを計算し、それを payload_hash として署名して、フィールドごとのソルトを保存します。後から一部のフィールドだけを開示できます。
touchstone_disclose({ seqs: [n], reveal: { n: ["field_a", "field_b"] } })
開示されたフィールドには、payload_hash(すでにあなたの署名で保護されています)に対する Merkle 証明が含まれます。非開示のフィールドはソルトに紐付けられ、その値が開示に現れることはありません。ルートの計算結果は、サーバーおよび検証ツールとバイト単位で一致します。
ログの検証
開示は、Touchstone を信頼することなく誰でも確認できます。ブラウザー検証ツール、スタンドアロンの
verify.php、またはスプリットビュー検出ツールの
gossip_check.py で検証できます。これらのツールはサイトから配信され(それぞれ監査可能な単一ファイルです)、このリポジトリには記録用クライアントのみが含まれています。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。