PrivadoVPN x402 Payer

io.github.privadovpn由 GitHub 帳號 privadovpn 發布v1.1.1更新於 Oct 30, 2026

Local MCP server that signs x402 USDC payments (Solana, EVM) to buy PrivadoVPN access

已驗證STDIO僅桌面雲端與基礎設施金融

概覽

AI 產生的概覽

本機 MCP 伺服器,在 Solana 或 EVM 上簽署 x402 USDC 付款,按次購買 PrivadoVPN 的 HTTP 與 SOCKS5 代理存取。

可以做什麼
  • 檢視已設定的錢包位址與偏好網路
  • 列出可購買的 VPN 方案、價格及包含的代理服務
  • 一次呼叫完成購買:報價、簽章並鏈上付款,然後儲存憑證
  • 為已廣播的付款補取憑證,無須再次付費
  • 僅簽章並廣播付款而不履約,可選 dry-run 餘額檢查
適用情境
適合讓助理依需求臨時取得 VPN 或 SOCKS5 代理存取、以 USDC 按次付費而不訂閱的情境。適用於需要幾分鐘、幾小時或幾天代理端點的代理式工作流程。
執行需求
以 stdio 在本機執行,通常透過 npx 與 Node.js 啟動。需要 SOLANA_PRIVATE_KEY 或 EVM_PRIVATE_KEY 至少其一,EVM 付款另需 EVM_RPC_URL;SOLANA_RPC_URL、PREFERRED_NETWORK 與 X402_BASE_URL 為選用。錢包需持有 USDC,並能連線支付後端與 RPC 端點。
安裝前請注意
需在環境變數提供私鑰,可動用真實資金,應使用專用的低餘額錢包。購買是真實的鏈上付款,資金已送出後重複呼叫 buy_vpn 可能造成重複扣款。代理憑證會寫入本機目錄,伺服器只回傳憑證,不會設定系統代理。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 PrivadoVPN x402 Payer,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@privadovpn/x402-mcp

Pay-per-use VPN and SOCKS5 proxy access for AI agents, powered by x402 USDC payments. Local stdio MCP server that signs and broadcasts payments (Solana, EVM); every plan includes both an HTTP proxy and a SOCKS5 proxy.

[npm version] [CI] [license] [MCP registry]

Pricing

No subscription required — pay only for the access you use, starting at $0.05. Plans and prices are never hardcoded in this client: list_vpn_catalog always fetches the live, authoritative list from the backend's .well-known/x402-payment manifest. As of 2026-10-21, the approved pricing lineup is:

Plan IDDisplay NameDurationPrice
PREMIUMM15Premium M1515 minutes$0.05
PREMIUMX1Premium X11 hour$0.15
PREMIUMX3Premium X33 hours$0.39
PREMIUMD1Premium D124 hours$0.99
PREMIUMD7Premium D77 days$2.99
PREMIUMD30Premium D3030 days$5.99

Every plan currently includes both an HTTP proxy and a SOCKS5 proxy (the backend's catalog lists this per plan as services: ["http_proxy", "socks5_proxy"]) — there is no separate SOCKS5-only plan to choose. Always call list_vpn_catalog before purchasing — it returns the current, authoritative set of plans, prices, and included services.

Security model

This server signs payments locally and never transmits your private key anywhere.

  • SOLANA_PRIVATE_KEY and EVM_PRIVATE_KEY are read from local process environment variables. They are used only to sign transactions in-process and are never sent over the network or written to disk by this server.
  • The only data that leaves the machine is a signed payment authorization (EVM EIP-3009) or a broadcast transaction signature (Solana), sent to X402_BASE_URL to fulfill a purchase.
  • Use a dedicated, low-balance wallet for this server — never point it at a primary or high-balance wallet.
  • wallet_status returns configured addresses and network selection only. It never returns private keys or any secret material.
  • Credentials returned after a successful purchase (including proxy and SOCKS5 passwords) are written only to ~/.privado/ on your local machine and are never logged to stdout/stderr by this server.

Quick start

bash
npx -y @privadovpn/x402-mcp

Claude Desktop (claude_desktop_config.json):

json
{  "mcpServers": {    "privadovpn-x402-mcp": {      "command": "npx",      "args": ["-y", "@privadovpn/x402-mcp"],      "env": {        "SOLANA_PRIVATE_KEY": "<your-base58-key>"      }    }  }}

Claude Code:

bash
claude mcp add privadovpn-x402-mcp -e SOLANA_PRIVATE_KEY=<your-base58-key> -- npx -y @privadovpn/x402-mcp

Cursor (.cursor/mcp.json):

json
{  "mcpServers": {    "privadovpn-x402-mcp": {      "command": "npx",      "args": ["-y", "@privadovpn/x402-mcp"],      "env": {        "SOLANA_PRIVATE_KEY": "<your-base58-key>"      }    }  }}

Configuration

VariableRequiredDefaultDescription
SOLANA_PRIVATE_KEYAt least one of SOLANA_PRIVATE_KEY / EVM_PRIVATE_KEY—Base58-encoded Solana secret key (32 or 64 bytes) used to sign and pay in SPL USDC.
EVM_PRIVATE_KEYAt least one of SOLANA_PRIVATE_KEY / EVM_PRIVATE_KEY—Hex-encoded EVM private key used to sign EIP-3009 USDC authorizations.
PREFERRED_NETWORKNosolana if SOLANA_PRIVATE_KEY is set, else evmWhich network to prefer when a quote offers both. Accepts solana or evm (eip155 is an accepted alias for evm).
X402_BASE_URLNohttps://x402.privadovpn.comBase URL of the x402 payment backend used for catalog, quote, and fulfillment requests.
SOLANA_RPC_URLNohttps://api.mainnet-beta.solana.comSolana RPC endpoint used to check balances and broadcast transactions.
EVM_RPC_URLRequired for EVM payments—EVM RPC endpoint used to check balances and broadcast transactions.

Tools

ToolPurpose
wallet_statusShow configured wallet addresses and network selection. Never returns private keys.
list_vpn_catalogList purchasable VPN plans (including which services — HTTP proxy, SOCKS5 — each plan includes) and supported server country codes.
buy_vpnPreferred purchase flow: quote, sign and pay on-chain, fulfill, and save credentials in one call.
fulfill_paymentRecovery only: exchange an already-broadcast payment for VPN credentials.
sign_and_payDebug only: sign and broadcast payment without fulfilling. Prefer buy_vpn.

Purchase flow and recovery

Each GET /pay request creates a new invoice on the server. Because of this, buy_vpn must be called exactly once per purchase attempt — calling it again after funds have already been sent creates a second invoice and results in a duplicate charge.

If buy_vpn reports that the on-chain payment succeeded but fulfillment failed (for example, due to a network error when exchanging the payment for credentials), do not call buy_vpn again. Instead call fulfill_payment with the plan, invoice_no, payment_signature, and settlement_tx values from the error. This exchanges the already-completed payment for credentials without creating a new invoice or sending additional funds.

buy_vpn and sign_and_pay both accept a dry_run flag that performs balance checks without broadcasting a transaction. Note that a dry run still creates a real invoice on the server; it does not need to be followed by a real purchase, but it should not be repeated for the same purchase attempt.

Credentials

A single purchase covers every service the plan includes — there is no separate checkout for SOCKS5. The vpn object returned by buy_vpn/fulfill_payment (and saved to ~/.privado/) contains:

FieldPresent whenDescription
vpn.port, vpn.connection_stringAlwaysHTTP proxy. connection_string is https://user:pass@host:port.
vpn.socks5_port, vpn.socks5_connection_stringPlan's services includes socks5_proxySOCKS5 proxy, same username/password as the HTTP proxy. socks5_connection_string is socks5://user:pass@host:port.

This client does not parse or special-case these fields — whatever the backend returns is passed straight through to the agent and to the saved credentials file, so field names always match what list_vpn_catalog/buy_vpn actually return at the time of purchase.

Example of using a purchased SOCKS5 proxy with curl, once you have vpn.socks5_connection_string:

bash
curl -x "$SOCKS5_CONNECTION_STRING" https://ifconfig.me

This server never configures system-wide or OS-level proxy settings — it only returns credentials. Routing any traffic through them is a separate, explicit step you take.

How it works

mermaid
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

Supported networks: Solana (SPL USDC transfer) and EVM (EIP-3009 transferWithAuthorization USDC).

Server-side discovery

  • Catalog and payment discovery: https://x402.privadovpn.com/.well-known/x402-payment
  • Agent-readable service description: https://x402.privadovpn.com/llms.txt
  • Remote MCP (catalog/docs only, no wallet access): https://x402.privadovpn.com/mcp

Development

bash
git clone [email protected]:privadovpn/x402-mcp.gitcd x402-mcpnpm installnpm run buildnpm test

Run with the MCP Inspector:

bash
npx @modelcontextprotocol/inspector node dist/index.js

License

MIT. See LICENSE.

mcp-name: io.github.privadovpn/x402-mcp

來源:README.md,提交 727e5ec

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:伺服器未能啟動。

版本歷史

3
  1. v1.1.1最新Oct 30, 2026
  2. v1.1.0Oct 29, 2026
  3. v1.0.0Sep 28, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分