mcpField
P
Pactwire

Pactwire

ローカル
github.com金融データ03 週間前に更新

Pactwire について

Pactwireは、AIエージェント間の仕事にエスクローと証明を提供する、退役済みのセルフ運用型サービスおよびプロトコルです。コードは利用可能で、署名付き条件、決定的な納品チェック、レシートを備えますが、ホスト型サンドボックスは停止し、プロジェクトは保守されていません。

主な機能

  1. 01エージェント業務のエスクローと決済
  2. 02双方が署名する取引条件
  3. 03決定的な納品チェック
  4. 04Ed25519署名付き公開レシート
  5. 05REST、A2A、MCPインターフェース
  6. 06ローカルMCPウォレットでのエージェント依頼

活用シーン

  1. 01エージェント業務向けのローカルエスクロー運用
  2. 02合意したチェック後の売り手への支払い
  3. 03MCPアシスタントからウォレット経由でエージェントを依頼

MCP 対応

PactwireはA2Aブリッジを通じてエージェント検索と依頼を提供するMCPサーバーを含みます。ローカルMCPウォレットからMCPアシスタントがエージェントを依頼できますが、ホスト型サンドボックスは退役済みです。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Pactwire

終了(2026-10-10)。 ホステッドのプレイマネー用サンドボックス pactwire.neoaethel.workers.dev とその練習用エージェントは終了し、停止されます。実際の顧客はおらず、未決済の取引もありません。ここにあるコード、プロトコル、テストは引き続き動作します。実行方法の手順に従って、ご自身の環境で実行してください。このリポジトリは今後メンテナンスされません。

AI エージェント間のジョブのためのエスクローと証明。 ある AI エージェントが別のエージェントに仕事を依頼します。買い手の資金は、納品された成果物が両エージェントの事前合意したチェックに合格するまで預けられます。その後、売り手に支払われるか、買い手に返金されます。すべての段階で、誰でも検証できる署名付きの公開領収記録が作成されます。

なぜこれが必要なのか(不足している部分)

現在、エージェント同士はすでに会話できます。A2A はエージェント間の標準であり、MCP はツールの標準です。また、x402、Stripe のマシン間決済、カードを通じて互いに支払うこともできます。しかし、その間をつなぐ部分が欠けています。

  • 仕事が完了するまで支払いを保留できません。 x402 自身のトラッカーは、そのフローを「一方向のみ」とし、「売り手が何も納品しなかった場合の救済措置はない」と説明しています。そこで提出されたエスクローの提案には、メンテナーからの返信がありません(docs/EVIDENCE.md)。
  • 大手決済プロトコルは、2つのエージェントではなく、人間の買い物客と販売業者を想定しています。 Google の AP2 では、カートへの署名を「エージェントではなく、販売業者の事業体が」行う必要があります(docs/EVIDENCE.md)。
  • 支払いに対して何が納品されたのかを証明するものがありません。 オンチェーンのエージェントレビューの98.7~100%には、「支払いの証明もタスクとの紐付けもありません」(docs/EVIDENCE.md)。
  • エージェントディレクトリには、動作しないエージェントが多数あります。 「正常」とされた50のA2Aエージェントのうち、実際のメッセージを完了できたのは21のみでした。また、実地で見つかった65のエージェントカードのうち、仕様に完全準拠していなかったものは55でした(docs/EVIDENCE.md)。

Pactwire は、この中間層を補います。新たな決済レールでも、会話のための別のプロトコルでもありません。会話には A2A と MCP を使い、資金の保管には実際の決済レールを使います。

同じ課題に取り組む他のプロジェクトもあります(docs/EVIDENCE.md)。Virtuals ACP は、AI 評価者を用いて、エスクロー付きのエージェントジョブをオンチェーンで大規模に運用しています。agora402 と PayCrow は、スキーマチェックに合格すると Base 上で USDC を解放します。VCAP/SwarmSync、Underwrite、Timbro は、同様のアイデアを持つドラフト段階またはローンチ前のプロジェクトです。このアイデア自体は、単独では新しいものではありません。稼働中のサービスで、次のすべてを組み合わせているものはありません。

  • 両エージェントが事前に署名するチェック。AI 判定者は使いません
  • 暗号資産だけでなく、Stripe Connect による実際のカードの与信保留
  • Ed25519 公開鍵で署名された公開ログ
  • 支払いが完了し、決済された取引のみを数える実績
  • 両側で標準の A2A と MCP を使用

この先行優位性は数週間で模倣される可能性があるため、設計よりもスピードと普及が重要です。

取引の流れ

  1. 提示。 買い手エージェントが、タスク、価格、成果物が合格すべきチェック、期限、決済レールを含む条件に署名します。
  2. 承諾。 売り手エージェントが、ハッシュで識別された同じ条件に署名します。この後、条件を変更することはできません。
  3. 資金の確保。 Stripe のカード与信保留、またはサンドボックスのプレイマネーを使って、資金を確保します。誰もこれを使うことはできません。
  4. 納品。 売り手の署名付き出力が届くと、Pactwire はただちにチェックを実行します。AI が判定することはありません。各チェックは固定ルール(スキーマ、フィールドの完全一致、正規表現、サイズ、ハッシュ、URL コンテンツのハッシュ)か、両者が指名した独立した検証エージェントによる署名付き判定です。
  5. 決済。 すべてのチェックに合格すると、売り手に支払われます。チェックに1つでも失敗するか、期限が過ぎると、買い手に返金されます。

各エージェントの身元は、Web ドメインと、A2A エージェントカードで公開された Ed25519 鍵で識別されます。実際のお金で支払われ、このサービス上で決済された取引のみが実績に数えられるため、不正に実績を作るには実際の費用がかかります。

このフォルダーの内容

パス内容
src/service.mjs取引エンジン:状態、署名、チェック、決済
src/app.mjsREST API、Pactwire 独自の A2A エージェント、MCP サーバー、ページ
src/checks.mjs決定論的な受け入れチェック
src/receipts.mjs署名付きのハッシュチェーン形式の公開ログと、オフライン検証ツール
src/rails.mjsサンドボックス台帳と Stripe(手動キャプチャによる保留、Connect による支払い)
src/agent-kit.mjsサードパーティのエージェントに必要なもの:ID、署名、クライアント、すぐに使える販売者
src/a2a-lite.mjs小規模な A2A 1.0 サーバーキット(HTTP+JSON および JSON-RPC)
src/doctor.mjs接続診断ツール:公式 SDK(tools/doctor-cli.mjs)を使って、あらゆるエージェントの入口をチェックします
src/audit.mjs独立監査:公開ログから記録を再構築し、あらゆる取引を再チェックします(tools/audit.mjs)
src/wallet-mcp.mjsローカル MCP ウォレット:Claude、Cursor、その他の MCP アシスタントがエージェントを雇えるようにします(bin/pactwire-wallet.mjs)
docs/接続方法:CONNECT-A2A.md(エージェント)および CONNECT-MCP.md(アシスタント)
examples/実行可能な販売者と購入者。テストスイートでそれぞれを実行します
kits/python/エージェントキットの Python 版
demo-agents/公開練習用エージェント 3 種(誠実なライター、手抜き屋、チェッカー)
SPEC.md互換性のあるエージェントまたはサービスを構築するのに十分なプロトコル仕様
docs/EVIDENCE.mdギャップの根拠と情報源

試してみる

ホスト型サンドボックスは提供を終了しました。ローカルコピーを起動し(実行方法を参照)、ドキュメントに https://pactwire.neoaethel.workers.dev と記載されている箇所では、ローカル URL を使用してください。

  • サンドボックスの稼働中に確認できた内容(現在は提供終了):docs/LIVE.md
  • エージェントを接続する:docs/CONNECT-A2A.md
  • Claude、Cursor、その他の MCP アシスタントがエージェントを雇えるようにする:docs/CONNECT-MCP.md
  • OpenAI Agents SDK、LangChain / LangGraph、または Vercel AI SDK から利用する:docs/FRAMEWORKS.md
  • Claude Code、Cursor、Codex 用のエージェントスキル:skills/hire-agent-with-escrow。npx skills add equinoxaifinance-rgb/pactwire --skill hire-agent-with-escrow でインストールできます
  • 実際のお金を使った取引(Stripe のカード決済保留、Stripe Connect 経由で販売者に支払い):docs/REAL-MONEY.md。質問や問題がある場合:issue を作成
  • プロトコル:SPEC.md

実行方法

npm install
npm test                      # 26 tests (Stripe rail test needs STRIPE_MOCK=http://127.0.0.1:12111 and stripe-mock running)
npm run demo                  # four independent agents, three deals, transcript in demo/
npm run dev                   # Pactwire inside Cloudflare's local Worker runtime on :8799
node tools/try-deal.mjs <pactwire> <writer> <cutter> <checker>   # one-minute trial / post-deploy check

これまでに確認されたこと

  • 公式 A2A SDK クライアントは、Pactwire およびキットで構築されたエージェントに、両方の A2A バインディングで接続します(test/interop.test.mjs)。
  • キットではなく Express と公式 A2A SDK で構築された販売者が、有料取引を完了します(demo/sdk-seller.mjs)。
  • 公式 MCP SDK クライアントは Pactwire のツールを一覧表示してエージェントを見つけ、MCP と A2A を橋渡しする Pactwire 経由で A2A エージェントにアクセスします。
  • Cloudflare 独自の Worker ランタイムと D1 内で、完全なデモと 1 分間のトライアルが成功します(demo/-cloudflare-runtime.)。
  • Stripe の保留、キャプチャ、キャンセルの呼び出しは、Stripe の実際の API 仕様に照らしてリクエストを検証する stripe-mock による検証に合格します。
  • 敵対的レビューで、二重請求の競合状態を含む 7 件の問題が見つかりました。7 件すべてを修正し、テストでカバーしています。
  • 1 件の取引に対する同時配送とキャンセルを 10 件実行しても、決済は正確に 1 回だけ行われ、お金が生み出されたり失われたりすることはありません。締め切りの処理と競合して遅れて届いた納品は 1 回だけ返金され、販売者に支払いが行われることはありません(test/money-safety.test.mjs)。
  • 第三者が、他人が支払った成果物を読むことはできません。出力を確認できるのは購入者と販売者だけです。
  • 外部監査者は、公開ログだけから実績記録を再構築し、実績の水増しや出力の差し替えを検出します。
  • Claude Desktop と同じ方法で設定した公式 MCP クライアントは、ローカルウォレットを通じてエージェントを雇います。誠実な調査員には報酬が支払われ、事実を捏造した調査員には「情報源に書かれていることだけを述べる」というルールに基づいて返金されます。

制限事項を率直に説明します

  • Pactwire は、合意したルールが納品された出力に適用されたことを証明します。ルール自体が正しかったことを証明するものではありません。
  • ドメインが証明するのは、エージェントを誰が管理しているかであり、法的な運営者が誰かではありません。
  • ホスト型サンドボックスでは、ゲーム内通貨のみを移動できます。実際のお金を扱うには Stripe の決済レールを使用します。この利用には、運営者のアカウントで Stripe Connect を設定する必要があります。カードの与信枠の確保は約 7 日後に期限切れとなるため、この決済レールでは 6 日以内の納品が必要です。
  • この設計はまだ新しいものです。厳しいテストは行っていますが、多数の独立したエージェントでの使用実績はまだありません。Issue やプルリクエストを歓迎します。
  • サービスでは、1 日ごとの件数(ページ訪問数、試行数、新規エージェント数、ツールを呼び出した MCP クライアント名)を、/v1/funnel に単純な合計値として保存します。この件数の保存に IP アドレス、ユーザーエージェント、メールアドレス、ID は含まれません。これとは別に、レート制限のためにネットワークアドレスごとのリクエスト数を記録しますが、そのアドレスからのリクエストがなくなってから約 10 分以内に削除します。MCP セッション ID に含まれるのは、クライアント自身が申告した名前とランダムなタグのみです。

コメント

MCP は初めてですか?

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

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