Privi Verify について
Privi Verifyは、製造ロットの由来と記録の整合性を確認するMCPサーバーです。サプライチェーンを追跡するエージェントやメーカー向けに、連鎖ハッシュとPriviブロックチェーンのチェックポイントで変更を検出し、USDCの従量決済にも対応します。
主な機能
- 01記録フィンガープリントの有無を確認
- 02ロット概要とリコール状況を検証
- 03順序付きの保管イベントと整合性を確認
- 04メーカーによるロットイベントの追記
- 05オンチェーンチェックポイントとの照合
活用シーン
- 01製造ロットの由来と現在の状態を調べる
- 02製品の受領から生産、出荷までの記録を確認
- 03ロットの過去記録の変更を検出
MCP 対応
クライアントに料金照会、フィンガープリント検索、ロット検証、保管履歴、イベント記録のツールを提供します。検証ツールはx402によるUSDC従量決済に対応し、イベント記録にはAPIキーが必要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://privi-verify.onrender.com/mcpclaude mcp add --transport http canoydario847-cloud-privi-verify https://privi-verify.onrender.com/mcp{"mcpServers":{"canoydario847-cloud-privi-verify":{"type":"http","url":"https://privi-verify.onrender.com/mcp"}}}Cursor で開く{"servers":{"canoydario847-cloud-privi-verify":{"type":"http","url":"https://privi-verify.onrender.com/mcp"}}}VS Code で開く{"mcpServers":{"canoydario847-cloud-privi-verify":{"type":"http","url":"https://privi-verify.onrender.com/mcp"}}}{"mcpServers":{"canoydario847-cloud-privi-verify":{"serverUrl":"https://privi-verify.onrender.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Privi Verify MCP
AI エージェントが、製造ロットの出所と記録が事後に変更されていないかを確認できる MCP サーバーです。x402 を使い、Base 上で USDC による従量課金を行います。
Claude、ChatGPT、Cursor、VS Code、カスタムエージェントなど、あらゆる MCP クライアントで動作します。
稼働中(テストネット): https://privi-verify.onrender.com/mcp · デモ用ロット DEMO-STEEL-0001、DEMO-FOOD-0001
Privi World Co(ミシガン州ポートヒューロン)が、Privi ChainFlow のエージェント向け機能として構築しました。
ツール
| ツール | 価格 | 機能 |
|---|---|---|
privi_pricing | 無料 | ツール、価格、ネットワーク、支払い先ウォレットの一覧を表示します |
privi_lookup_fingerprint | 無料 | フィンガープリント(ラベル、証明書、文書に記載)に一致する記録が存在するか確認します |
privi_verify_lot | $0.01 | ロットの概要:製品、最初と最新の保管イベント、リコール状況、記録の完全性 |
privi_chain_of_custody | $0.05 | フィンガープリントと完全性チェックを含む、順序付けられた全イベント履歴 |
privi_record_event | API キー | 製造業者がイベントを追記します:received、produced、inspected、shipped、transferred、recalled |
価格は環境変数で設定します。
記録の完全性を保つ仕組み
各イベントのフィンガープリントは、その内容と、同じロット内の直前のイベントのフィンガープリントを組み合わせた SHA-256 です。過去のイベントを編集または削除すると、それ以降のすべてのフィンガープリントが無効になり、両方の検証ツールがチェーンの破損箇所を正確に報告します。
各ロットの最新フィンガープリントは、数分ごとに Privi ブロックチェーンにアンカーされます(「オンチェーンチェックポイント」を参照)。そのため、Privi を信頼しなくても誰でも確認できます。
オンチェーンチェックポイント
サーバーは 5 分ごとに、変更のあった各ロットの最新フィンガープリントを、Privi Anchor を通じて Privi ブロックチェーンにアンカーします。監査結果には onchain_checkpoint が含まれ、アンカーされた位置、トランザクション、Merkle 証明に加えて、誰でも実行できる anchor_verify 呼び出しが示されます。保存された履歴がアンカー済みの内容と一致しない場合、ローカルのハッシュがすべて一貫して再計算されていても監査は失敗します。有効にするには、PRIVI_ANCHOR_KEY(Anchor API キー)を設定します。PRIVI_ANCHOR_INTERVAL で間隔(秒、デフォルトは 300)を変更できます。
支払いの仕組み(MCP 上の x402)
x402 v2 MCP transport spec に準拠しています。
- エージェントが有料ツールを呼び出します。サーバーは、価格、ネットワーク、USDC コントラクト、
payToウォレットを記載したPaymentRequiredオブジェクトとともにisError: trueを返します。 - エージェントのウォレットが USDC の承認に署名し、
_meta["x402/payment"]に含めて再試行します。 - サーバーは支払いが価格と一致することを確認し、ファシリテーターに支払いの検証を依頼してからツールを実行し、ファシリテーターに支払いの決済を依頼します。結果はレシートとともに
_meta["x402/payment-response"]で返されます。
決済に失敗した場合、エージェントは結果を受け取れません。支払いは直接 PRIVI_PAY_TO ウォレットに送られます。サーバーが資金や秘密鍵を保持することはありません。
実行する
pip install .
cp .env.example .env # set PRIVI_PAY_TO and PRIVI_WRITE_KEYS
python scripts/seed_demo.py # optional demo lots (or set PRIVI_SEED_DEMO=1)
privi-verify-mcp # HTTP on :8000, MCP endpoint at /mcp
stdio 経由(例:Claude Desktop):
{
"mcpServers": {
"privi-verify": {
"command": "privi-verify-mcp",
"args": ["--stdio"],
"env": { "PRIVI_PAY_TO": "0xYourWallet", "PRIVI_NETWORK": "base-sepolia" }
}
}
}
リモートクライアントは https://<your-host>/mcp に接続します。GET /health はステータスを返します。
テスト支払いを行う
scripts/test_payment.py は、使い捨ての Base Sepolia ウォレットを使い、AI エージェントと同じ方法で稼働中のサーバーに正確な金額を支払います(テストネット用 USDC は無料で、実際のお金はかかりません)。
pip install eth-account
python scripts/test_payment.py --new-wallet # prints a test wallet address
# get testnet USDC at https://faucet.circle.com (Base Sepolia), then:
python scripts/test_payment.py # pays $0.01, verifies DEMO-STEEL-0001, prints the tx link
キーは .agent-wallet(Git で無視されます)に保存されます。--allow-mainnet を指定しない限り、スクリプトはメインネットでの支払いを拒否します。
デプロイ
Dockerfile は Railway、Render、Fly、または任意のコンテナホストで実行できます。
PRIVI_PAY_TO、PRIVI_WRITE_KEYS、PRIVI_NETWORKを設定します。- SQLite データベースが再デプロイ後も保持されるよう、
/dataにボリュームをマウントします。 - テストネット用 USDC を使い、
base-sepoliaで起動します。テスト支払いが完全に成功した後にのみbaseに切り替え、公開ファシリテーターはテストネット専用のため、PRIVI_FACILITATOR_URLを本番用ファシリテーターに設定してください。
イベントを記録する
curl https://<your-host>/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'Authorization: Bearer <your-write-key>' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"privi_record_event",
"arguments":{"lot_code":"LOT-0001","event_type":"produced","location":"Port Huron, MI",
"actor":"Your Plant","product":"Bracket A-12","quantity":"800 pcs"}}}'
開発
pip install -e ".[dev]"
pytest
テストでは、スタンドインのファシリテーターを使用して、支払いフロー(支払いの欠落、不一致、無効な支払い、決済失敗)、改ざん検知、書き込み権限を確認します。
ロードマップ
- メーカーごとのアカウントとダッシュボード(Privi ChainFlow)
- 複数インスタンスでのホスティングに対応するPostgresストレージ
- MCPディレクトリへの掲載
ライセンス
MIT © 2026 Dario Canoy, Privi World Co
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。