mcpField
P
proxy-shopping: buy anywhere with crypto through a proxy shopper

proxy-shopping: buy anywhere with crypto through a proxy shopper

ローカル
pad01g.github.ioビジネス・マーケティング04 週間前に更新

proxy-shopping: buy anywhere with crypto through a proxy shopper について

proxy-shopping は、P2P の代理購入ネットワークを利用する MCP サーバーです。現金のみ、または直接購入に対応しない店舗から暗号資産で購入でき、2-of-3 エスクローで注文を管理します。注文状態はローカルに保存されます。

主な機能

  1. 01信頼できる購入代行者とエスクローの検索
  2. 02注文見積もりの依頼と検証
  3. 03注文と配送状況の追跡
  4. 04エスクロー決済と紛争の管理
  5. 05購入代行ノードの設定・登録手順

活用シーン

  1. 01暗号資産決済に非対応の店舗で注文
  2. 02エスクロー決済後に受領を確認
  3. 03紛争対応または期限後の資金回収
  4. 04購入代行ノードの準備と登録申請

MCP 対応

MCP クライアントにネットワーク、ウォレット、見積もり、注文、エスクロー、購入代行登録のツールを提供します。資金移動や秘密情報の開示には明示的な確認が必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"pad01g-proxy-shopping": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"PS_NETWORK",
"-e",
"PS_DATA_DIR",
"-e",
"PS_LAB_URL",
"-e",
"PS_CONFIG_URL",
"ghcr.io/pad01g/proxy-shopping-mcp:0.1.2"
],
"env": {
"PS_NETWORK": "<PS_NETWORK>",
"PS_DATA_DIR": "<PS_DATA_DIR>",
"PS_LAB_URL": "<PS_LAB_URL>",
"PS_CONFIG_URL": "<PS_CONFIG_URL>"
}
}
}
}
起動コマンドdocker run -i --rm -e PS_NETWORK -e PS_DATA_DIR -e PS_LAB_URL -e PS_CONFIG_URL ghcr.io/pad01g/proxy-shopping-mcp:0.1.2
設定が必要な環境変数
PS_NETWORKps-main (the public network: Nostr relays, BTC signet) or lab (the local docker compose lab)
PS_DATA_DIRDirectory of the mnemonic and order state inside the container; mount a volume there
PS_LAB_URLLab only: the lab demo server as seen from the container
PS_CONFIG_URLOptional URL of a web-app config.json (relays, coordinators, chains) that overrides the network preset

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/pad01g/proxy-shopping-mcp:0.1.2

ツール

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

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

詳細

proxy-shopping MCP サーバー

AI エージェントが proxy-shopping P2P ネットワークをツールとして利用できるMCPサーバーです。

  • プロキシショッパーを介して、現金のみ対応または非対応の店舗から、2-of-3 エスクローを使って暗号資産で購入できます。 BTC を注文ごとのエスクロー(購入者、ショッパー、エスクロー)に支払います。ショッパーが購入して発送し、商品が届いたら支払いを解放します。問題が発生した場合は、エスクローが分配を決定します。また、T2 タイムロックの後は、すべての資金を自分だけで取り戻せます。
  • プロキシショッパーとして収入を得られます。 常時オンラインのショッパーノードを運用するための詳細な手順と、登録されるためのレジストリエントリが用意されています。

エージェントの隣で(stdio)、独自の鍵を持つ1つの参加者として動作します。プロトコルのロジックには、ウェブアプリと同じコードである @proxy-shopping/core を使用します。サーバーの実行中はセッションが維持されるため、見積もり、配送状況の更新、裁定結果が届き続け、データディレクトリに保存されます。レジストリ名:io.github.pad01g/proxy-shopping

公開ネットワーク ps-main は新しく、信頼できるショッパーがまだいない場合があります(信頼済みのショッパー × エスクローの組み合わせ数は network_info で確認できます)。そこでの支払いは BTC のサインネットで行われます。サインネットは、市場価値のないコインを使うテストネットワークです。ps-main では USDC はまだ利用できません。

実行

Claude Code:

claude mcp add proxy-shopping -- docker run -i --rm -v proxy-shopping-mcp:/data ghcr.io/pad01g/proxy-shopping-mcp:0.1.2

その他のクライアント(mcp.json):

{
  "mcpServers": {
    "proxy-shopping": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-v", "proxy-shopping-mcp:/data", "ghcr.io/pad01g/proxy-shopping-mcp:0.1.2"]
    }
  }
}

/data のボリュームには鍵と注文が保存されます。必ず保持してください。このボリュームがないと、すべての未完了注文のエスクローを管理する鍵を失います(export_backup でバックアップしてください)。データディレクトリ1つにつきIDは1つです。エージェントごと、または人ごとに別のボリュームを使用してください。

ローカルの Docker Compose ラボ(proxy-shopping-go、デモサーバーは http://localhost:8888):

claude mcp add proxy-shopping-lab -- docker run -i --rm --add-host=host.docker.internal:host-gateway \
  -v proxy-shopping-mcp-lab:/data -e PS_NETWORK=lab -e PS_LAB_URL=http://host.docker.internal:8888 \
  ghcr.io/pad01g/proxy-shopping-mcp:0.1.2

MCPB バンドル(Claude Desktop などの MCPB クライアント向け。ファイルを開いてインストールします。Node 22 以降が必要です):releasesから proxy-shopping-<version>.mcpb を入手してください。npm run build -w @proxy-shopping/core の後に node packages/mcp/scripts/build-mcpb.mjs を実行してビルドできます。サーバーをインストールするエージェント向け:llms-install.md。

Docker を使わない場合(Node 22、リポジトリのルートから):npm ci && npm run build -w @proxy-shopping/core -w @proxy-shopping/mcp を実行し、次に node packages/mcp/dist/server.js を実行します(bin proxy-shopping-mcp)。

変数デフォルト意味
PS_NETWORKps-mainps-main:公開 Nostr リレー(relay.damus.io、nos.lol、relay.primal.net)、mempool.space 経由の BTC サインネット、registryからのコーディネーターと署名済み信頼イベント。lab:デモサーバーを介した Compose ラボ
PS_DATA_DIR~/.proxy-shopping-mcp(イメージ:/data)ニーモニック(mnemonic、モード 0600、初回実行時に作成)とネットワークごとの状態(state-<network>.json)
PS_LAB_URLhttp://localhost:8888lab 専用:デモサーバー(リレーは /relay-1 /relay-2、/esplora、/evm、/faucet、/rates、/deployments/31337.json)
PS_CONFIG_URL / PS_CONFIG_FILE未設定プリセットを上書きするウェブアプリの config.json(形式は proxy-shopping-go/lab/web-config.json と同じで、relays、coordinators、esplora、evm_rpc、deployments_url、rates、timelock_policy、…を含みます)
PS_COORDINATORS未設定プリセットの信頼ルートを置き換える、カンマ区切りのコーディネーター公開鍵

ツール

ツール機能
network_infoネットワーク、リレー、コーディネーター、チェーン、信頼されている購入者 × エスクローの組み合わせ数、正確なステータス
walletID の公開鍵、BTC signet アドレスと残高(ネットワークで対応している場合は EVM/USDC)
lab_faucetラボ専用:このウォレットにテスト用 BTC/USDC を送金し、ブロックをマイニング
find_offersショップ URL、地域、支払い方法に対応する、信頼されている購入者 × エスクローの組み合わせ。手数料、現金対応地域、来歴(コーディネーター → オペレーターのリスト)を含む
request_quote1 つの組み合わせで注文し、見積もりを待機。その検証結果を返す:独自の情報源とのレートの乖離、再計算したエスクローアドレス、タイムロック
get_order / list_ordersステータス、タイムライン、次の手順。get_order はステータスを待機できます
accept_quote有効な見積もりを承認(レートの乖離が大きい場合は acknowledge_rate_deviation が必要)
fund_order資金を移動します:ロック分とエスクローの前払い手数料を支払う(confirm: true)
confirm_receipt資金を移動します:商品を受け取り、購入者への支払いに署名する(confirm: true)
open_disputeエスクローに裁定を依頼し、証拠と自分のアドレスの鍵を渡す(confirm: true)
review_ruling / countersign_rulingエスクローによる分割内容を確認し、連署する(資金を移動します、confirm: true)
accept_refund_offer資金を移動します:購入者による協力的な返金に連署する(confirm: true)
refund_after_timelock資金を移動します:T2 の後、単独で資金を取り戻す(confirm: true)
cancel_order資金を入れる前に注文をキャンセル
report購入者またはエスクローを、登録したオペレーターに報告
export_backup12 語のニーモニックを表示(confirm: true)
become_shopperプロキシ購入者として収益を得るための計画:要件、手数料、ps-main のノード設定と compose ファイル、登録方法
registry_entryレジストリへのプルリクエスト用ファイルを、指定の形式で正確に生成:shoppers/<name>.json {pk, contact, description, regions (cash regions), payments, escrows}、escrows/<name>.json {pk, contact, description, sla_days}、operators/<name>.json {pk, contact, description, regions}、coordinators/<name>.json {pk, contact, description, url?, bundle?}

購入の流れ:network_info → wallet(資金を入れる)→ find_offers → request_quote → accept_quote → fund_order → (delivered になるまで get_order)→ confirm_receipt。

すべてのツールは短いテキストと、同じデータを含む構造化 JSON を返します。

安全性

  • 資金を移動するツールや秘密情報を開示するツールは、confirm: true がない限り何も実行しません。指定がない場合は、実行した場合の内容(金額、受取人、手数料)を表示します。エージェントはそれを人に示し、確認を求めてから実行してください。
  • 検証に失敗した見積もり(信頼されていない組み合わせ、独自の計算結果と一致しないエスクローアドレス、ポリシーの範囲外のタイムロック、合計が一致しない金額)は承認できません。独自の情報源とのレートの乖離が 10%を超える場合は、明示的な確認が必要です。
  • 支払いへの署名は、プロトコルで許可されたテンプレート(購入者への支払い、返金、分割内容に一致する裁定)に限られます。チェーン上で支払いが確認された場合にのみ、completed/settled/refunded と報告されます。
  • ニーモニックがデータディレクトリの外に出るのは、export_backup を通じてのみです。配送先アドレスは購入者に対して暗号化されており、エスクローが読み取れるのは、異議申し立てを開始した場合のみです。
  • 信頼は、設定したコーディネーターからのみ得られます(network_info には、そのコーディネーターと情報の出所が表示されます)。注文の信頼性は、オペレーターが登録した購入者とエスクロー次第です。

テスト

# from the repository root, in Docker (no host Node needed)
docker run --rm -v "$PWD":/src -v ps-npm:/root/.npm -w /src node:22-bookworm \
  sh -c "npm ci && npm run build -w @proxy-shopping/core && npm test -w @proxy-shopping/mcp"

# end to end against the running compose lab: a BTC order through MCP tool calls over stdio
docker run --rm --add-host=host.docker.internal:host-gateway -v "$PWD":/src -v ps-npm:/root/.npm -w /src/packages/mcp \
  -e PS_LAB_URL=http://host.docker.internal:8888 node:22-bookworm npm run test:lab

単体テストでは、MCP クライアントを介して、コアのメモリ内ワールド(リレー、チェーン、スクリプト化された買い物客、エスクロー)に対して各ツールを実行し、registry_entry が書き込むファイルに対してレジストリ独自のバリデーター(proxy-shopping-registry/scripts/registry.ts validate)を実行します。テストでは、このリポジトリの隣に ../proxy-shopping-registry があること(または PS_REGISTRY_DIR が設定されているか、/proxy-shopping-registry にマウントされていること)を想定しています(SKIP_REGISTRY=1 を指定するとスキップされます)。上記の Docker コマンドに -v "$PWD/../proxy-shopping-registry":/proxy-shopping-registry:ro を追加してください。

コメント

MCP は初めてですか?

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

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