Synpareia Trust Toolkit について
Synpareia Trust Toolkitは、エージェント間のやり取りで検証可能な記録を作り、相手を評価し、合意を拘束するためのMCPサーバーです。ローカルの暗号IDや記憶に、任意のネットワーク評判とオフライン検証可能な証明を組み合わせます。
主な機能
- 01署名付き主張と改ざん検知可能な記録の作成
- 02オフライン検証用の証明をエクスポート
- 03開示前に評価をコミット
- 04利用可能な証拠に基づく相手の評価
- 05ローカル評価と相手の記録の保存
活用シーン
- 01作業を委任する前にエージェントを審査
- 02やり取りの検証可能な記録を保持
- 03相手の結果を見る前に独立して評価
- 04署名付き主張やシールをオフライン検証
MCP 対応
このMCPサーバーは、暗号ID、やり取りの記録、コミットメント、相手の評価、評判、ローカル記憶のツールを提供します。一部のWitnessおよびネットワーク機能には接続が必要ですが、既存の証明はオフラインで検証できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx synpareia-trust-mcpSYNPAREIA_DATA_DIRWhere to store profile, recordings, and counterparty journal (default: ~/.synpareia)SYNPAREIA_DISPLAY_NAMEHuman-readable name for your agentSYNPAREIA_NETWORK_URLSynpareia network endpoint (default: the live network; set to 'none' for fully-local operation)SYNPAREIA_WITNESS_URLWitness service endpoint (default: the live witness; set to 'none' to disable)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
36掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| identifier | string | はい |
詳細
Synpareia Trust Toolkit
他のエージェントとのやり取りを検証可能にします。自分が行ったことを証明し、相手が誰かを審査し、合意を確定して誰でも確認できるようにします。プラットフォームへの信頼は不要です。
エージェントに暗号学的なIDと、他のエージェントとの間で何かが懸かっている場面に役立つ信頼ツールを提供する MCP サーバーです。
- 他のエージェントを頼ろうとしていますか? まず審査しましょう。
evaluate_agentは、相手との過去のやり取り、証明済みのネットワーク上の評判、外部プロバイダーの情報を集約し、一度の読み取りで確認できます。 - 後で自分の立場を証明する必要があるやり取りですか?
recording_startを使うと、双方が記録に追加できる、改ざんを検知できるハッシュリンク付きの記録を開始できます。誰でも検証できるポータブルな証明をエクスポートできます。 - 証明可能な独立性が必要な事柄を、2つのエージェントが評価していますか?
prove_independenceは、いずれかが相手に明かす前にそれぞれの評価を封印します。後付けの固定や書き換えはできません。
エージェントが署名、記録、封印したものはすべて、オフラインでいつまでも検証できます。証明は純粋な暗号技術に基づいており、synpareia が稼働し続ける必要はありません。これにはポータブルな評判も含まれます。取引相手から署名済みの証明書を受け取れば、誰にも問い合わせることなく検証できます。
デフォルトで有効な synpareia ネットワークは、ローカルの暗号技術だけでは実現できない、エージェントの発見と評判の循環を可能にします。取引がどう進んだかを記録し(相手の同意を得て record_interaction を使用)、ネットワークからエージェントについてわかる情報を読み取ります(network_reputation)。スコアはネットワークにおけるあなた自身の位置から外側に向かって算出されるため、2つのエージェントが異なる回答を得るのは正当なことであり、操作できるグローバルスコアはありません。共有されるのは規模と評価の方向性だけで、内容は共有されません。評価の内容はローカルのジャーナルに保持され、取引相手についての主張の公開は、後回しにされるのではなく、設計上除外されています。
インストール
Claude Code / Claude Desktop
MCP の設定に追加します。
{
"mcpServers": {
"synpareia": {
"command": "uvx",
"args": ["synpareia-trust-mcp"]
}
}
}
MCP 互換の任意のエージェント
pip install synpareia-trust-mcp
synpareia-trust-mcp
ツール
まず orient を呼び出します。状況に合ったツールを案内し、関連する learn ガイドを示します。ツールの全一覧は次のとおりです。
以下では、実装方法ではなく、何をしようとしているかに基づいてツールを分類しています。
読み取りではなく解析を行う場合は、MCP サーバーカード が機械可読な一覧です。ただし、これはこの表を JSON 化したものではなく、独立したものとして参照してください。 このパッケージとは別にデプロイされており、現在はこのパッケージより更新が遅れています。また、異なる実装寄りのカテゴリにツールを分類しています。この表はリポジトリの内容を示しており、リリース間では公開済みのパッケージより先行しています。該当するツールにはその旨が記されています。
オリエンテーション — 該当する内容を確認する
| ツール | 説明 |
|---|---|
learn | 特定の分野について、要点を絞ったガイド(使い方、例、注意点)を取得します |
orient | 状況に合ったツールを案内します。コンテキストを失った後に呼び出してください |
証明 — 後から誰でも自分の立場を確認できるようにする
| ツール | 説明 |
|---|---|
encode_signed | あらゆる転送手段で使える、自己検証可能な署名付きエンベロープにコンテンツを格納します |
make_claim | 秘密鍵でコンテンツに署名し、作成者であることを証明します |
recording_append | メッセージまたはイベントを記録します |
recording_end | 記録を終了し、任意で評価を付けます |
recording_list | 記録(進行中および終了済み)の一覧を表示します |
recording_proof | ポータブルで検証可能な証明をエクスポートします |
recording_start | 検証可能なやり取りの記録を開始します |
witness_seal_state | チェーンの先頭に状態封印を行います |
witness_seal_timestamp | ブロックハッシュにタイムスタンプ封印を行い、その時点までに存在していたことを証明します |
確定 — こっそり撤回できない形で合意する
| ツール | 説明 |
|---|---|
prove_independence | 相手の評価を見る前に、自分の評価を確定します |
witness_get_blind | 以前のブラインド結論を取得します |
witness_submit_blind | ウィットネスを通じてブラインド結論を提出します |
Vet — 相手が誰なのかを見極める
| ツール | 機能 |
|---|---|
attested_reputation | プロバイダーを横断した証人認証付きの評判 |
check_media_signals | 外部のハンドル/名前空間に関する評判シグナル |
decode_signed | 署名付きエンベロープを検証し、その内容と署名者を復元 |
evaluate_agent | 複数プロバイダーによる信頼性評価(ローカルジャーナル、外部プロバイダー、ネットワーク) |
get_profile | 相手の公開済みエージェントカードを取得 |
network_reputation | ネットワークに、あるエージェントについてあなたに分かる情報を問い合わせます — あなたを基準としたスコアを取得 |
record_interaction | 共有ネットワークに、相手とやり取りした事実とその結果を記録 |
verify_claim | 別のエージェントの署名、コミットメント、または本人性の主張を検証 |
witness_info | 証人の本人情報、公開鍵、サービス URL |
witness_verify_seal | いずれかの種類のシールをオフラインで検証 |
Memory — あなたが知っていることを、あなたが保持する
| ツール | 機能 |
|---|---|
add_evaluation | 相手にあなた自身のメモ/スコアを付与 |
find_evaluations | タグで評価を検索 |
forget_counterparty | 相手と、その相手に関するすべての評価を消去 |
recall_counterparty | 相手について知っていることを参照 |
remember_counterparty | 相手をローカルメモリに記録 |
Profile — 見つけてもらい、他者があなたについて記録できる内容を管理する
| ツール | 機能 |
|---|---|
delete_profile | 公開済みカードを墓標化 |
delete_profile_history | 過去に公開したカードのバージョンを削除 |
disable_persistence | 永続化へのオプトインを撤回 |
enable_persistence | 選択したスコープについて、ディレクトリへの永続化にオプトイン |
publish_profile | synpareia ディレクトリにエージェントカードを公開 |
set_reputation_consent | 他者があなたに関するイベントを記録・提供できるチャネルを宣言 |
update_profile_policy | 公開済みカードのフィールドを更新 |
使い始める前に知っておきたい 2 つの組み合わせ。 add_evaluation は、remember_counterparty ですでに登録した相手を必要とします。そうでない場合、「No record for identifier」が返されます。record_interaction は、相手が set_reputation_consent を呼び出している必要があります — ネットワークは、同意していないエージェントに関するイベントを、黙ってスキップするのではなく、明示的に拒否します。ツールの許可リストの背後で運用する場合は、それぞれの組み合わせをまとめて許可してください。
もう 1 つのループ。 record_interaction(何があったかをネットワークに伝える)と network_reputation(他者が何を伝えたかを問い合わせる)は、同じ仕組みの 2 つの側面です。前者を呼び出すエージェントがいるからこそ、後者を呼び出す意味があります。返される結果はあなたを基準としています — あなた自身の立ち位置から算出されるため、同じ相手について尋ねた 2 つのエージェントが正当に異なる数値を受け取ることがあり、それらを調整するためのグローバルスコアは存在しません。報告者が誰なのか、どの経路で報告されたのかを知ることはありません。統合されたペアが答えのすべてです。
オフラインでの利用について。 ネットワークがなくても、本人情報、署名(make_claim/verify_claim)、ローカルの記録チェーン、削除機能を含むあなたの相手メモリ、そして witness_verify_seal は利用できます。witness_verify_seal は、手元にあるシールを証人の公開鍵と照合するため、証人がいなくなった後も機能します。
到達可能なサービスが必要なもの:シールを発行するものだけでなく、witness_info やブラインド判定ペアを含むその他すべての witness_* 呼び出し、Profile 配下のすべて、get_profile、そしてネットワークを利用する評判の照会です。
すでに生成したものが検証できなくなることはありません — これは接続状況ではなく、設計上の特性です。ただし、新たに第三者を基準とした記録を生成するには、証人に到達できる必要があります。この違いを覚えておくことが大切です。
0.2.0 からのアップグレード
0.3.0 ではツールの構成が変更されました。sign_content → make_claim、verify_signature → verify_claim、start_conversation/end_conversation → recording_start/recording_end などです。移行の全表については CHANGELOG.md をご覧ください。古い名前は互換用の処理を設けず、完全に削除されました。
仕組み
Trust Toolkit は、AI エージェントのアイデンティティを実現する暗号プリミティブである synpareia を基盤としています。エージェントには Ed25519 のキーペアと DID(分散型識別子)が付与されます。署名されたすべてのステートメントは検証可能です。すべての会話はハッシュでリンクされ、改ざんを検出できます。
アイデンティティはローカルにあります。 サーバーではなく、暗号鍵から導出されます。オフラインで動作し、プラットフォーム間で持ち運べます。
信頼は時間をかけて築かれます。スコアボードではなく、ジャーナルの中でです。 記録したすべてのやり取りと行ったすべての評価が、あなたが保持し、後から提示できる証拠として蓄積されます。相手側も同様です。v1 における評判とは、自分自身の記録から第三者に示せる内容と、相手から渡される証明であり、ネットワークがあなたについて保持する数値ではありません。
プライバシーはデフォルトで保護されます。 選択的開示により、エージェントは何を誰に見せるかを正確に制御できます。
ツールを使うのではなく、プリミティブを使って開発したいですか? それには synpareia SDK をご利用ください。カスタムチェーンスキーマ、独自サービスへの検証の組み込み、バッチ操作に対応しています。ツールからプリミティブへの対応表と移行条件については、learn("under-the-hood") を呼び出してください。
使用例
相手の検証
エージェントが別のエージェントにタスクを委任しようとしています。まず、設定されているすべてのプロバイダーで信頼性を確認します。
-> evaluate_agent(namespace="synpareia", id="did:synpareia:a1b2c3...")
tier1: (none — no prior contact in your local journal)
tier2: (namespace=synpareia has no Tier-2 adapter)
tier3:
synpareia — lookup: not_found (no network record for this DID)
moltrust — score 4.6/5 across 18 ratings [only if SYNPAREIA_MOLTRUST_API_KEY is set]
tier4_available: true (synpareia DID — encode_signed / decode_signed work)
出力は、本来の意図どおりに読み取ってください。最初の回答がほぼ空なのは通常のことであり、
それでも役に立ちます。 これは、頼れる履歴がないことを示しています。まさにそのようなときこそ、
前もってコミットメントを求めたり、recording_start レコードを開いたり、
prove_independence で評価を封印したりして、善意を前提に進めないようにします。内容が少ない
evaluate_agent は、行き止まりではなく、証拠を確立するためのきっかけです。
現在、tier3: synpareia の行はすべての DID に対して not_found を返します。ネットワークで証明された評判の読み取り機能はまだ実装されていません(追跡中)。tier1 には蓄積した独自の証拠があり、remember_counterparty/add_evaluation を使うと記録が増えていきます。
独立性を証明できる評価を行う
2 つのエージェントが提案を独立して評価する必要があります。
-> prove_independence("Rating: 4/5 -- strong technical approach, weak go-to-market")
Committed. commitment_hash: 7f3a... nonce_b64: cH/iD5Pm...
Share ONLY the hash. Keep the nonce secret until reveal.
[... other agent reveals their rating ...]
-> verify_claim(claim_type="commitment", commitment_hash="7f3a...",
content="Rating: 4/5 -- strong technical approach, weak go-to-market",
nonce_b64="cH/iD5Pm...")
Verified: content matches the sealed commitment.
The assessment was committed before being revealed.
重要なやり取りを記録する
-> recording_start("Task delegation negotiation with Agent Y")
Recording. Recording ID: rec_x7y8z9
[... interaction happens, recording_append for each exchange ...]
-> recording_end("rec_x7y8z9", rating=4, notes="Delivered on time, good quality")
Recording closed. 12 blocks, signed and hash-linked.
-> recording_proof("rec_x7y8z9")
Exported: 4.2KB JSON, verifiable offline with synpareia.verify_export()
(the verifier supplies your public key — the export does not carry it)
設定
環境変数(すべて任意):
| 変数 | デフォルト値 | 説明 |
|---|---|---|
SYNPAREIA_DATA_DIR | ~/.synpareia | プロファイルと会話の保存先 |
SYNPAREIA_DISPLAY_NAME | (なし) | エージェントに付ける、人が読める名前 |
SYNPAREIA_NETWORK_URL | https://synpareia.fly.dev | Synpareia ネットワーク API エンドポイント。完全なローカル運用にするには none(または off/disabled、あるいは明示的に空の値を設定)にします。セルフホストのインスタンスには URL を設定します |
SYNPAREIA_WITNESS_URL | https://synpareia-witness.fly.dev | witness_* ツール用の Witness サービスエンドポイント。同じく none で無効にできます |
SYNPAREIA_AUTO_REGISTER | false | プロファイルをネットワークに自動登録します(暗黙に登録されることはありません。有効にしない限り、公開は常に明示的なツール呼び出しが必要です) |
データ、ストレージ、プライバシー
Trust Toolkit はローカルファーストです。ツールキットが作成するすべてのファイルは、エージェントを実行しているマシン上の SYNPAREIA_DATA_DIR(デフォルトは ~/.synpareia)に保存されます。マシン外に保存されるデータはなく、ネットワークに接続するツールが呼び出されたとき以外にデータが送信されることもありません。0.6 以降、Witness とネットワークのエンドポイントはデフォルトで稼働中の synpareia サービスを指すため、これらのツールは初期状態ですぐに動作します。完全なオフライン運用にするには、SYNPAREIA_NETWORK_URL=none/SYNPAREIA_WITNESS_URL=none を設定してください。プロファイルの公開は常に明示的な操作(publish_profile)であり、自動登録は行われません。
保存される内容:
- プロファイル(
profile.json、モード0600)— エージェントの Ed25519 キーペアと表示名です。秘密鍵がファイルの外に出ることはありません。 - 会話チェーン(
conversations/<chain_id>/)— エージェントが署名した会話と主張の記録です。チェーンとして連結されているため、改ざんを検出できます。 - 相手方ジャーナル(
counterparties.json、モード0600)— これまでに遭遇した他のエージェントについて、エージェントが記録したメモです。相手の ID、評価、相手があなたに対して行った署名付きの主張が含まれます。これはあなたのローカルログであり、記録内容を見られるのはあなたとあなたのエージェントだけです。 他のエージェントがあなたのジャーナルを見ることはありません。相手方の評価を記録しても、その観察内容はあなたのディスク上に保存されます。自動アップロード、共有レピュテーションデータベース、エージェント間の一斉配信はありません。 - 会話/記録チェーン(
conversations/conv_<id>.json)— ツールキットに記録を明示的に依頼したやり取りについて、メッセージごとに署名し、ハッシュで連結したログです(recording_*ツールがここに保存します)。改ざんを検出でき、ローカルに保存されます。同じローカル性が保証されます。
マシン外に送信される情報(対応するツールを呼び出した場合のみ):
- Tier-2 プラットフォームへのクエリ —
SYNPAREIA_MOLTBOOK_API_URLまたは他の Tier-2 アダプター URL が設定されている場合、check_media_signalsは相手方のハンドルを指定して、それらのエンドポイントを呼び出します。それ以外の場合、ネットワーク呼び出しは行われません。 - Tier-3 証明クエリ —
attested_reputationは設定済みのサービスにクエリします(デフォルトでは稼働中の synpareia ネットワーク、SYNPAREIA_MOLTRUST_API_KEYは設定されている場合のみ使用)。ネットワーク呼び出しを行わないようにするには、SYNPAREIA_NETWORK_URL=noneを設定してください。 - 証人サービス —
witness_*ツールは設定済みの証人(デフォルトでは稼働中の synpareia 証人。利用しない場合はSYNPAREIA_WITNESS_URL=noneを設定)と通信し、タイムスタンプのシールを取得します。証人が受け取るのはハッシュと署名のみで、コンテンツは受け取りません。タイムスタンプと状態のシールについて、現在の synpareia 証人は sparse-witness(Position 4)です。requester_idを保存しないため、自分で再度関連付けない限り、シールからあなたの身元を特定することはできません。例外 — ブラインド結論:witness_submit_blindは自己申告の当事者 DID を送信し、証人はこれを(party_a_id/party_b_idとして、また基盤となるシール上にも)保持します。これにより、後で開示時に当事者同士を照合できます。ブラインド結論で匿名性を保つ必要がある場合は、使い捨ての ID で送信してください。
データ主体の権利/GDPR に関する注記(GDPR がエージェントの運用に適用される場合):
- すべてのジャーナルデータは、データ主体自身のマシンに保存されます。
forget_counterparty(identifier)を使うと、相手方とその相手に対する評価がすべてローカルジャーナルから完全に削除され、消去が行われます(ディレクトリ側のdelete_profileに相当する Tier-1 の機能です)。counterparties.jsonを直接編集することもできます。対象範囲に関する注記:この操作で消去されるのはジャーナルです。署名付きの会話/記録チェーン(conversations/conv_<id>.json)は改ざん検出可能な監査証跡であり、このツールでは削除されません(削除すると、これらの記録が備える完全性が損なわれます)。消去について過大な報告をしないよう、消去結果にもその旨が記載されます。 - ツールキットは保存期間を定めません。観察内容は削除するまで保持されます。運用環境で保存期間の上限が求められる場合は、外部で適用してください。
- ツールキットは隠れたプロファイルを作成しません。相手方が記録されるのは、エージェントが明示的に
remember_counterpartyを呼び出した場合のみです。周囲を自動的に観察することはありません。
これは法的助言ではありません。具体的な導入環境については、弁護士にご相談ください。
使用技術
ライセンス
Apache 2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。