Skip to main content
Glama

x402 Router: MCP server + free API to find and pay the right x402 endpoint

MCP x402 Chains USDC License: MIT Docker build

20,700+ LIVE x402 pay-per-call endpoints across 3,100+ services, probed every 3 hours and scored 0-100 for reliability. Agents don't need to know which x402 API is up. Ask the router.

Keywords: x402, MCP, MCP server, AI agents, agent payments, pay-per-call APIs, USDC, Base, Solana, x402 discovery, x402 router, x402 registry, HTTP 402.

Quick start (MCP, 30 seconds)

The server is read-only: it holds no keys and never pays. It exposes four tools: search_x402_endpoints, route_x402_request, get_registry_stats, get_paid_route_requirements.

Option A: uvx (no clone, no PyPI needed)

Claude Desktop (claude_desktop_config.json) or Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "x402-router": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/camerxnduff/x402-router-mcp#subdirectory=mcp-server", "x402-router-mcp"]
    }
  }
}

Option B: Docker

{
  "mcpServers": {
    "x402-router": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/camerxnduff/x402-router-mcp:latest"]
    }
  }
}

Or build it yourself: docker build -t x402-router-mcp . and use x402-router-mcp as the image name.

Option C: from source

git clone https://github.com/camerxnduff/x402-router-mcp
cd x402-router-mcp/mcp-server
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
python test_client.py   # calls the live router, read-only
{"mcpServers":{"x402-router":{"command":"/abs/path/x402-router-mcp/mcp-server/.venv/bin/python","args":["/abs/path/x402-router-mcp/mcp-server/server.py"]}}}

Streamable HTTP: python server.py --http 8000 serves http://localhost:8000/mcp. Env overrides: X402_ROUTER_URL, X402_DASHBOARD_URL.

Related MCP server: x402-discovery

Try it with no install (curl)

# best live Base endpoint for a category (free preview)
curl -s -X POST https://router-production-ab89.up.railway.app/route \
  -H 'content-type: application/json' -d '{"category":"Finance","chain":"Base"}'

# search the registry
curl -s 'https://router-production-ab89.up.railway.app/dashboardapi/endpoints?q=weather&chain=Base&limit=5'

Why

Thousands of x402 endpoints exist, and many are dead, misconfigured or slow. The router probes every one, checks that its 402 body is valid (version, scheme, network, payTo, asset, amount), and ranks by uptime and latency, so an agent gets a working endpoint with a known price.

HTTP API

Endpoint

What

GET /api/endpoints?q=&chain=&category=&max_price=&min_score=&sort=&limit= (dashboard)

Search LIVE endpoints, best first

GET /api/summary (dashboard)

Counts by chain, category, source

GET /api/registry (dashboard)

Full registry (gzip)

POST /route (router)

Best match + top 3, free

POST /route/paid (router)

$0.01 USDC (x402, Base; Solana accepted): full ranked list (up to 25) with latency, reliability, price, payTo/networks and a ready-to-pay best pick

GET /check/paid?url= (router)

$0.002 USDC (x402): fresh live probe of one endpoint: is it up, latency, the real price and payTo it asks for now

Examples: examples/ (curl, Python, TypeScript).

MCP tools

Tool

Cost

search_x402_endpoints, route_x402_request, get_registry_stats, get_paid_route_requirements

Free

find_best_x402_endpoint

$0.01 USDC per call

check_x402_endpoint

$0.002 USDC per call

Paid tools pay inside the tool call. To enable them:

pip install "x402-router-mcp[pay] @ git+https://github.com/camerxnduff/x402-router-mcp#subdirectory=mcp-server"
export X402_EVM_PRIVATE_KEY=0x...      # a dedicated, low-balance Base wallet holding a little USDC
export X402_MAX_PAYMENT_USD=0.01       # per-call cap (default 0.01)

Without a key, the paid tools return the price and the x402 payment requirements instead of paying.

Payments

x402 v2: Base USDC first, Solana USDC as fallback, settled through the PayAI facilitator.

License

MIT

Available Tools

4 tools
get_paid_route_requirementsA

Return the x402 payment requirements of the paid route (/route/paid) without paying.

Inputs: no named parameters.

get_registry_statsA

Registry summary: total/LIVE counts, LIVE by chain, median price, last crawl time, router health.

Inputs: no named parameters.

route_x402_requestA

Ask the x402 Router for the single best-scored LIVE endpoint matching filters (free POST /route). Returns target URL, method, price, 1% router fee and total. Does not pay or call the target.

Inputs: q, agent, chain, category, +1 more.

search_x402_endpointsA

Search LIVE x402 (HTTP 402 pay-per-call) endpoints. Filters: q (text), chain (Base, Solana...), category, max_price (USDC), min_score (0-100), sort (score|price|latency|newest), limit (1-50).

Inputs: q, sort, chain, limit, +3 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 4 tools

    Disambiguation4/5

    search vs route is clearly differentiated (list vs best single match), and stats is distinct. get_paid_route_requirements overlaps somewhat with the routing tools since it examines the paid route without invoking it, but the description adequately clarifies it.

    Naming Consistency5/5

    All four tools use a consistent snake_case verb_noun pattern (search_, route_, get_, get_). The convention is uniform and predictable.

    Tool Count5/5

    Four tools is well-scoped for a small router/registry service; each tool (search, route, stats, payment requirements) covers a distinct facet with no filler.

    Completeness3/5

    Discovery and routing are covered, but there is no tool to actually invoke or pay for an endpoint—route_x402_request explicitly does not pay or call the target, and get_paid_route_requirements only returns requirements. The paid flow has a dead end within the surface.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Discovers and queries x402-payable APIs at runtime — enables autonomous agents to find, evaluate, and pay for services via USDC micropayments on Base without API keys or subscriptions.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Pay-per-call web search for AI agents, settled in USDC on Base via the x402 protocol. No API key or subscription required; users fund a wallet and get a web_search tool.
      8 npm
      1
      MIT