mcpField
S
Synpareia Trust Toolkit

Synpareia Trust Toolkit

ローカル
synpareia.comセキュリティ012 週間前に更新

Synpareia Trust Toolkit について

Synpareia Trust Toolkitは、エージェント間のやり取りで検証可能な記録を作り、相手を評価し、合意を拘束するためのMCPサーバーです。ローカルの暗号IDや記憶に、任意のネットワーク評判とオフライン検証可能な証明を組み合わせます。

主な機能

  1. 01署名付き主張と改ざん検知可能な記録の作成
  2. 02オフライン検証用の証明をエクスポート
  3. 03開示前に評価をコミット
  4. 04利用可能な証拠に基づく相手の評価
  5. 05ローカル評価と相手の記録の保存

活用シーン

  1. 01作業を委任する前にエージェントを審査
  2. 02やり取りの検証可能な記録を保持
  3. 03相手の結果を見る前に独立して評価
  4. 04署名付き主張やシールをオフライン検証

MCP 対応

このMCPサーバーは、暗号ID、やり取りの記録、コミットメント、相手の評価、評判、ローカル記憶のツールを提供します。一部のWitnessおよびネットワーク機能には接続が必要ですが、既存の証明はオフラインで検証できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"synpareia-trust": {
"command": "uvx",
"args": [
"synpareia-trust-mcp"
],
"env": {
"SYNPAREIA_DATA_DIR": "<SYNPAREIA_DATA_DIR>",
"SYNPAREIA_DISPLAY_NAME": "<SYNPAREIA_DISPLAY_NAME>",
"SYNPAREIA_NETWORK_URL": "<SYNPAREIA_NETWORK_URL>",
"SYNPAREIA_WITNESS_URL": "<SYNPAREIA_WITNESS_URL>"
}
}
}
}
起動コマンドuvx synpareia-trust-mcp
設定が必要な環境変数
SYNPAREIA_DATA_DIRWhere to store profile, recordings, and counterparty journal (default: ~/.synpareia)
SYNPAREIA_DISPLAY_NAMEHuman-readable name for your agent
SYNPAREIA_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypisynpareia-trust-mcp0.9.0

ツール

36

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
identifierstringはい

詳細

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_profilesynpareia ディレクトリにエージェントカードを公開
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_URLhttps://synpareia.fly.devSynpareia ネットワーク API エンドポイント。完全なローカル運用にするには none(または off/disabled、あるいは明示的に空の値を設定)にします。セルフホストのインスタンスには URL を設定します
SYNPAREIA_WITNESS_URLhttps://synpareia-witness.fly.devwitness_* ツール用の Witness サービスエンドポイント。同じく none で無効にできます
SYNPAREIA_AUTO_REGISTERfalseプロファイルをネットワークに自動登録します(暗黙に登録されることはありません。有効にしない限り、公開は常に明示的なツール呼び出しが必要です)

データ、ストレージ、プライバシー

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 を呼び出した場合のみです。周囲を自動的に観察することはありません。

これは法的助言ではありません。具体的な導入環境については、弁護士にご相談ください。

使用技術

  • synpareia — 暗号技術の基本要素(Ed25519、SHA-256、ハッシュ連結チェーン)
  • MCP — AI ツール統合のための Model Context Protocol

ライセンス

Apache 2.0

コメント

MCP は初めてですか?

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

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