PrivadoVPN x402 Payer について
PrivadoVPN x402 Payerは、AIエージェントがx402 USDC決済でVPNとSOCKS5プロキシを購入するためのローカルMCPサーバーです。SolanaとEVMに対応し、支払いをローカルで署名して、購入した認証情報をマシンに保存します。
主な機能
- 01最新のVPNプランカタログを取得
- 02SolanaまたはEVMウォレットで決済
- 03アクセス権を購入して認証情報を取得
- 04認証情報をローカルに保存
- 05ウォレットアドレスとネットワーク選択を確認
- 06支払い済み取引の提供処理を再開
活用シーン
- 01エージェント用の期間限定プロキシアクセス購入
- 02最新カタログを確認してプランを選択
- 03決済後に提供処理が失敗した際の認証情報回復
MCP 対応
ローカルstdio MCPサーバーは、カタログ照会、ウォレット状態確認、決済、購入、提供処理の回復ツールを公開します。別のリモートMCPエンドポイントはカタログとドキュメントのみを提供し、ウォレットにはアクセスできません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @privadovpn/x402-mcpSOLANA_PRIVATE_KEYシークレットBase58-encoded Solana secret key used to sign and pay in SPL USDC. At least one of SOLANA_PRIVATE_KEY or EVM_PRIVATE_KEY is required.EVM_PRIVATE_KEYシークレットHex-encoded EVM private key used to sign EIP-3009 USDC authorizations. At least one of SOLANA_PRIVATE_KEY or EVM_PRIVATE_KEY is required.PREFERRED_NETWORKWhich network to prefer when a quote offers both. Accepts 'solana' or 'evm' ('eip155' is an accepted alias for 'evm'). Defaults to 'solana' if SOLANA_PRIVATE_KEY is set, else 'evm'.X402_BASE_URLBase URL of the x402 payment backend used for catalog, quote, and fulfillment requests. Defaults to https://x402.privadovpn.com.SOLANA_RPC_URLSolana RPC endpoint used to check balances and broadcast transactions. Defaults to https://api.mainnet-beta.solana.com.EVM_RPC_URLEVM RPC endpoint used to check balances and broadcast transactions. Required for EVM payments.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@privadovpn/x402-mcp
x402 USDC 決済を利用した、AI エージェント向け従量課金制 VPN および SOCKS5 プロキシアクセスです。決済(Solana、EVM)の署名とブロードキャストを行うローカルの stdio MCP サーバーで、すべてのプランに HTTP プロキシと SOCKS5 プロキシの両方が含まれます。
料金
サブスクリプションは不要です。使用したアクセス分のみのお支払いで、料金は $0.05 からです。プランと価格はこのクライアントにハードコードされていません。list_vpn_catalog は常に、バックエンドの .well-known/x402-payment マニフェストから最新かつ正式な一覧を取得します。2026-10-21 時点で、承認済みの料金プランは次のとおりです。
| プラン ID | 表示名 | 期間 | 価格 |
|---|---|---|---|
PREMIUMM15 | Premium M15 | 15 分 | $0.05 |
PREMIUMX1 | Premium X1 | 1 時間 | $0.15 |
PREMIUMX3 | Premium X3 | 3 時間 | $0.39 |
PREMIUMD1 | Premium D1 | 24 時間 | $0.99 |
PREMIUMD7 | Premium D7 | 7 日間 | $2.99 |
PREMIUMD30 | Premium D30 | 30 日間 | $5.99 |
現在、すべてのプランに HTTP プロキシと SOCKS5 プロキシの両方が含まれています(バックエンドのカタログでは、各プランの services: ["http_proxy", "socks5_proxy"] として記載されています)。SOCKS5 専用のプランはありません。購入前に必ず list_vpn_catalog を呼び出してください。現在有効な正式なプラン、価格、含まれるサービスの一覧が返されます。
セキュリティモデル
このサーバーは決済にローカルで署名し、秘密鍵を外部に送信することはありません。
SOLANA_PRIVATE_KEYとEVM_PRIVATE_KEYは、ローカルのプロセス環境変数から読み込まれます。これらはプロセス内でのトランザクション署名にのみ使用され、このサーバーからネットワーク経由で送信されたり、ディスクに書き込まれたりすることはありません。- マシンの外部に送信されるデータは、購入を成立させるために
X402_BASE_URLへ送信される、署名済みの決済承認(EVM EIP-3009)またはブロードキャストされたトランザクション署名(Solana)のみです。 - このサーバー専用の、残高が少ないウォレットを使用してください。メインのウォレットや残高の多いウォレットは絶対に指定しないでください。
wallet_statusが返すのは、設定済みのアドレスとネットワークの選択情報のみです。秘密鍵や機密情報が返されることはありません。- 購入成功後に返される認証情報(プロキシおよび SOCKS5 のパスワードを含む)は、ローカルマシンの
~/.privado/にのみ書き込まれ、このサーバーによって stdout/stderr に記録されることはありません。
クイックスタート
npx -y @privadovpn/x402-mcp
Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"privadovpn-x402-mcp": {
"command": "npx",
"args": ["-y", "@privadovpn/x402-mcp"],
"env": {
"SOLANA_PRIVATE_KEY": "<your-base58-key>"
}
}
}
}
Claude Code:
claude mcp add privadovpn-x402-mcp -e SOLANA_PRIVATE_KEY=<your-base58-key> -- npx -y @privadovpn/x402-mcp
Cursor(.cursor/mcp.json):
{
"mcpServers": {
"privadovpn-x402-mcp": {
"command": "npx",
"args": ["-y", "@privadovpn/x402-mcp"],
"env": {
"SOLANA_PRIVATE_KEY": "<your-base58-key>"
}
}
}
}
設定
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
SOLANA_PRIVATE_KEY | SOLANA_PRIVATE_KEY / EVM_PRIVATE_KEY のいずれか一方以上 | — | SPL USDC で署名と支払いを行うために使用する、Base58 エンコードされた Solana 秘密鍵(32 または 64 バイト)です。 |
EVM_PRIVATE_KEY | SOLANA_PRIVATE_KEY / EVM_PRIVATE_KEY のいずれか一方以上 | — | EIP-3009 USDC 承認に署名するために使用する、16 進数エンコードされた EVM 秘密鍵です。 |
PREFERRED_NETWORK | いいえ | SOLANA_PRIVATE_KEY が設定されている場合は solana、それ以外は evm | 見積もりで両方のネットワークが提示された場合に優先するネットワークです。solana または evm を指定できます(eip155 は evm の別名として使用できます)。 |
X402_BASE_URL | いいえ | https://x402.privadovpn.com | カタログ、見積もり、購入成立のリクエストに使用する x402 決済バックエンドのベース URL です。 |
SOLANA_RPC_URL | いいえ | https://api.mainnet-beta.solana.com | 残高の確認とトランザクションのブロードキャストに使用する Solana RPC エンドポイントです。 |
EVM_RPC_URL | EVM 決済では必須 | — | 残高の確認とトランザクションのブロードキャストに使用する EVM RPC エンドポイントです。 |
ツール
| ツール | 目的 |
|---|---|
wallet_status | 設定済みのウォレットアドレスとネットワークの選択状況を表示します。秘密鍵は返しません。 |
list_vpn_catalog | 購入可能な VPN プラン(各プランに含まれるサービス(HTTP プロキシ、SOCKS5 など)を含む)と、対応するサーバーの国コードを一覧表示します。 |
buy_vpn | 推奨される購入フローです。見積もり、署名、オンチェーンでの支払い、プロビジョニング、認証情報の保存を 1 回の呼び出しで行います。 |
fulfill_payment | 復旧時のみ使用します。送信済みの支払いと VPN 認証情報を交換します。 |
sign_and_pay | デバッグ時のみ使用します。プロビジョニングを行わずに支払いに署名して送信します。buy_vpn を使用してください。 |
購入フローと復旧
GET /pay リクエストごとに、サーバー上で新しい請求書が作成されます。そのため、購入試行ごとに buy_vpn を呼び出すのは 1 回だけにしてください。資金の送信後に再度呼び出すと、2 つ目の請求書が作成され、二重請求が発生します。
buy_vpn がオンチェーンでの支払い成功後にプロビジョニングが失敗したと報告した場合(たとえば、支払いと認証情報を交換する際にネットワークエラーが発生した場合)、buy_vpn を再度呼び出さないでください。代わりに、エラーに含まれる plan、invoice_no、payment_signature、settlement_tx の値を指定して fulfill_payment を呼び出してください。新しい請求書の作成や追加の資金送信を行わずに、支払い済みの取引と認証情報を交換できます。
buy_vpn と sign_and_pay はどちらも、トランザクションを送信せずに残高を確認する dry_run フラグを受け付けます。ドライランでもサーバー上に実際の請求書が作成されます。実際の購入を後から行う必要はありませんが、同じ購入試行で繰り返さないでください。
認証情報
1 回の購入で、プランに含まれるすべてのサービスを利用できます。SOCKS5 用に別途決済する必要はありません。buy_vpn/fulfill_payment が返す(および ~/.privado/ に保存される)vpn オブジェクトには、次の情報が含まれます。
| フィールド | 存在する条件 | 説明 |
|---|---|---|
vpn.port, vpn.connection_string | 常に | HTTP プロキシです。connection_string は https://user:pass@host:port です。 |
vpn.socks5_port, vpn.socks5_connection_string | プランの services に socks5_proxy が含まれる場合 | SOCKS5 プロキシです。ユーザー名とパスワードは HTTP プロキシと同じです。socks5_connection_string は socks5://user:pass@host:port です。 |
このクライアントはこれらのフィールドを解析したり、特別扱いしたりしません。バックエンドから返された内容は、そのままエージェントと保存済みの認証情報ファイルに渡されます。そのため、フィールド名は常に購入時点で list_vpn_catalog/buy_vpn が実際に返すものと一致します。
購入した SOCKS5 プロキシで curl を使用する例です。vpn.socks5_connection_string を取得した後に実行してください。
curl -x "$SOCKS5_CONNECTION_STRING" https://ifconfig.me
このサーバーは、システム全体または OS レベルのプロキシ設定を行いません。認証情報を返すだけです。トラフィックをそのプロキシ経由でルーティングするには、別途明示的な手順が必要です。
仕組み
sequenceDiagram
participant Agent
participant MCP as Local MCP (this server)
participant Backend as x402.privadovpn.com
Agent->>MCP: buy_vpn(plan, country)
MCP->>Backend: GET /pay?plan=...
Backend-->>MCP: 402 Payment Required + quote (accepts[])
MCP->>MCP: sign payment locally (private key never leaves process)
MCP->>Backend: broadcast transaction on-chain
Backend-->>MCP: transaction confirmed
MCP->>Backend: GET /pay (PAYMENT-SIGNATURE, X-Settlement-Transaction)
Backend-->>MCP: VPN credentials
MCP-->>Agent: credentials + settlement_tx + credentials_path
対応ネットワーク:Solana(SPL USDC 送金)および EVM(EIP-3009 transferWithAuthorization USDC)。
サーバー側の検出
- カタログと支払いの検出先:
https://x402.privadovpn.com/.well-known/x402-payment - エージェントが読み取り可能なサービス説明:
https://x402.privadovpn.com/llms.txt - リモート MCP(カタログ/ドキュメントのみ。ウォレットへのアクセスなし):
https://x402.privadovpn.com/mcp
開発
git clone [email protected]:privadovpn/x402-mcp.git
cd x402-mcp
npm install
npm run build
npm test
MCP Inspector で実行します。
npx @modelcontextprotocol/inspector node dist/index.js
ライセンス
MIT。詳細は LICENSE を参照してください。
mcp-name: io.github.privadovpn/x402-mcp
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。