x402 Universal Payer MCP Server
by nirholasio.github.nirholas/x402-bridgev1.0.2
Pay any x402 endpoint on the open web: auto-paying bridge with Bazaar discovery and spend caps.
context tax
queued
security
queued
cold start
queued
freshness
Active2d ago
Install x402 Universal Payer MCP server
Install in Claude Code
claude mcp add bridge-nirholas -e MCP_BRIDGE_EVM_PRIVATE_KEY='<mcp-bridge-evm-private-key>' -e MCP_BRIDGE_SVM_PRIVATE_KEY='<mcp-bridge-svm-private-key>' -- npx -y @three-ws/mcp-bridgeInstall in Cursor
{
"mcpServers": {
"bridge-nirholas": {
"command": "npx",
"args": [
"-y",
"@three-ws/mcp-bridge"
],
"env": {
"MCP_BRIDGE_EVM_PRIVATE_KEY": "<mcp-bridge-evm-private-key>",
"MCP_BRIDGE_SVM_PRIVATE_KEY": "<mcp-bridge-svm-private-key>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"bridge-nirholas": {
"command": "npx",
"args": [
"-y",
"@three-ws/mcp-bridge"
],
"env": {
"MCP_BRIDGE_EVM_PRIVATE_KEY": "<mcp-bridge-evm-private-key>",
"MCP_BRIDGE_SVM_PRIVATE_KEY": "<mcp-bridge-svm-private-key>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"bridge-nirholas": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@three-ws/mcp-bridge"
],
"env": {
"MCP_BRIDGE_EVM_PRIVATE_KEY": "<mcp-bridge-evm-private-key>",
"MCP_BRIDGE_SVM_PRIVATE_KEY": "<mcp-bridge-svm-private-key>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"bridge-nirholas": {
"command": "npx",
"args": [
"-y",
"@three-ws/mcp-bridge"
],
"env": {
"MCP_BRIDGE_EVM_PRIVATE_KEY": "<mcp-bridge-evm-private-key>",
"MCP_BRIDGE_SVM_PRIVATE_KEY": "<mcp-bridge-svm-private-key>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| MCP_BRIDGE_EVM_PRIVATE_KEY | — | yes | 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. |
| MCP_BRIDGE_SVM_PRIVATE_KEY | — | yes | 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. |
| MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC | — | — | Per-call spending cap in atomic units (USDC has 6 decimals). Payments above this abort with a clear reason. |
| MCP_BRIDGE_MAX_TOTAL_ATOMIC | — | — | Cumulative session spending ceiling in atomic units. Once total spend would exceed it, further payments abort until restart. |
| MCP_BRIDGE_ALLOWED_PAYTO | — | — | Comma-separated payee allowlist. When set, any payment whose payTo address is not listed is refused. |
| MCP_BRIDGE_ALLOWED_HOSTS | — | — | Comma-separated hostname allowlist for outbound paid requests. When set, any other host is refused before a request is signed. |
| MCP_BRIDGE_ALLOW_HTTP | — | — | Set to 1 to allow http:// targets (local development only). https is enforced otherwise. |
| MCP_BRIDGE_DISCOVER_LIMIT | — | — | Max number of x402 Bazaar resources to register as dynamic tools at startup. Set 0 to disable discovery. |
| MCP_BRIDGE_BAZAAR_URL | — | — | x402 Bazaar discovery endpoint. Override to point at a self-hosted or alternative bazaar. |
| MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER | — | — | How many request-amounts to deposit at once when opening an EVM batch-settlement channel. |
| MCP_BRIDGE_MAX_DEPOSIT_ATOMIC | — | — | Hard cap in atomic units on a single batch-settlement channel deposit or top-up. |
| X402_MCP_BRIDGE_CHANNELS_DIR | — | — | Directory for persisted batch-settlement channel state (survives client restarts). |
| RPC_URL_8453 | — | — | 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. |
Freshness
Active — last maintenance signal 2d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-08 · 2d ago · GitHub
Latest release
2026-09-30 · 9d ago · GitHub · v1.5.2
Package published
no data · npm/PyPI
Registry entry updated
2026-08-19 · 51d ago · official registry · v1.0.2
FAQ
›How do I install the x402 Universal Payer MCP server in Claude Code?
Run: claude mcp add bridge-nirholas -e MCP_BRIDGE_EVM_PRIVATE_KEY='<mcp-bridge-evm-private-key>' -e MCP_BRIDGE_SVM_PRIVATE_KEY='<mcp-bridge-svm-private-key>' -- npx -y @three-ws/mcp-bridge. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does x402 Universal Payer require an API key?
Yes. It expects MCP_BRIDGE_EVM_PRIVATE_KEY, MCP_BRIDGE_SVM_PRIVATE_KEY, of which 2 are secrets.
›Can I use x402 Universal Payer as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is x402 Universal Payer in the official MCP registry?
Yes, as io.github.nirholas/x402-bridge.