mcpField
T
Touchstone

Touchstone

リモート
github.com/Touchstone-CVセキュリティ08 週間前に更新
リポジトリ

Touchstone について

Touchstone は、AI エージェントの操作を改ざん検知可能な検証用ログに記録するローカル MCP サーバーです。Ed25519 キーでイベントをローカル署名し、キーはプロセス外に出ません。フィールド単位の選択的開示にも対応します。

主な機能

  1. 01イベントのローカル正規化と署名
  2. 02監査ログへのイベント追記
  3. 03選択的開示リンクの作成
  4. 04開示データの検証
  5. 05レコーダーのチェックポイント確認

活用シーン

  1. 01AI エージェントの操作記録
  2. 02確認者への指定フィールドの開示
  3. 03開示記録の第三者検証

MCP 対応

ローカル MCP サーバーとして、互換クライアントに記録、開示、検証、レコーダー情報のツールを提供します。記録はローカル署名し、その他のツールは API キーでリモートサービスを利用します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://touchstone.cv/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://touchstone.cv/mcp認証が必要
パッケージ
npm@touchstone-cv/mcp0.3.1

ツール

詳細

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_recordpayload を 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 で検証できます。これらのツールはサイトから配信され(それぞれ監査可能な単一ファイルです)、このリポジトリには記録用クライアントのみが含まれています。

ライセンス

Apache-2.0。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。