← Back to Plugins
MCP Server MCP

x402 Universal Payer

github By github 👁 1 views ▲ 0 votes

Pay any x402 endpoint on the open web: auto-paying bridge with Bazaar discovery and spend caps.

Homepage Verified source GitHub

Install

npx -y @three-ws/[email protected]

Configuration Example

{
  "remotes": [],
  "packages": [
    {
      "registryType": "npm",
      "identifier": "@three-ws/mcp-bridge",
      "version": "1.0.2",
      "runtimeHint": "npx",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "0x-prefixed 32-byte hex private key that funds USDC payments on EVM chains (Base, Arbitrum, …). At least one of the EVM/SVM keys is required. Treat like cash — use a dedicated low-balance wallet.",
          "format": "string",
          "isSecret": true,
          "name": "MCP_BRIDGE_EVM_PRIVATE_KEY"
        },
        {
          "description": "Solana secret key that funds USDC payments: base58 64-byte secret key (Phantom / solana-keygen format) or a JSON array of 64 integers. At least one of the EVM/SVM keys is required. Treat like cash.",
          "format": "string",
          "isSecret": true,
          "name": "MCP_BRIDGE_SVM_PRIVATE_KEY"
        },
        {
          "description": "Per-call spending cap in atomic units (USDC has 6 decimals). Payments above this abort with a clear reason.",
          "format": "number",
          "default": "100000",
          "name": "MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC"
        },
        {
          "description": "Cumulative session spending ceiling in atomic units. Once total spend would exceed it, further payments abort until restart.",
          "format": "number",
          "default": "1000000",
          "name": "MCP_BRIDGE_MAX_TOTAL_ATOMIC"
        },
        {
          "description": "Comma-separated payee allowlist. When set, any payment whose payTo address is not listed is refused.",
          "format": "string",
          "name": "MCP_BRIDGE_ALLOWED_PAYTO"
        },
        {
          "description": "Comma-separated hostname allowlist for outbound paid requests. When set, any other host is refused before a request is signed.",
          "format": "string",
          "name": "MCP_BRIDGE_ALLOWED_HOSTS"
        },
        {
          "description": "Set to 1 to allow http:// targets (local development only). https is enforced otherwise.",
          "format": "boolean",
          "default": "0",
          "name": "MCP_BRIDGE_ALLOW_HTTP"
        },
        {
          "description": "Max number of x402 Bazaar resources to register as dynamic tools at startup. Set 0 to disable discovery.",
          "format": "number",
          "default": "20",
          "name": "MCP_BRIDGE_DISCOVER_LIMIT"
        },
        {
          "description": "x402 Bazaar discovery endpoint. Override to point at a self-hosted or alternative bazaar.",
          "format": "string",
          "default": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
          "name": "MCP_BRIDGE_BAZAAR_URL"
        },
        {
          "description": "How many request-amounts to deposit at once when opening an EVM batch-settlement channel.",
          "format": "number",
          "default": "5",
          "name": "MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER"
        },
        {
          "description": "Hard cap in atomic units on a single batch-settlement channel deposit or top-up.",
          "format": "number",
          "default": "5000000",
          "name": "MCP_BRIDGE_MAX_DEPOSIT_ATOMIC"
        },
        {
          "description": "Directory for persisted batch-settlement channel state (survives client restarts).",
          "format": "string",
          "default": "~/.x402-mcp-bridge/channels",
          "name": "X402_MCP_BRIDGE_CHANNELS_DIR"
        },
        {
          "description": "Per-chain RPC override, one variable per chain id (RPC_URL_<chainId>, e.g. RPC_URL_8453 for Base). Defaults to viem's public RPC for that chain.",
          "format": "string",
          "name": "RPC_URL_8453"
        }
      ]
    }
  ]
}
mcp model-context-protocol npm

Comments

Sign in to leave a comment

Loading comments...