x402dispatcher
x402dispatcher
Local x402 Bazaar Aggregator para agentes de IA: descubre APIs de pago del Coinbase x402 Bazaar, envuélvelas como herramientas del Model Context Protocol (MCP), liquida micropagos desde una cartera de tesorería CDP y devuelve los datos del proveedor al agente.
Este repositorio está actualmente en la V4.
Por qué existe esto
Los agentes de IA son buenos razonando y usando herramientas, pero malos pagando APIs. El protocolo x402 convierte el HTTP 402 Payment Required en un carril de micropagos programable con stablecoins (normalmente USDC).
x402dispatcher se sitúa en medio como un agregador fácil de usar para operadores individuales:
Idea | Qué significa |
Discovery | Consultar el catálogo público de Coinbase x402 Bazaar |
Integración MCP | Exponer las APIs descubiertas como herramientas MCP para Cursor / agentes |
Despacho | Firmar y liquidar el pago desde una cartera de tesorería mediante |
Monetización | Aplicar un micro-recargo sobre el coste del proveedor y retener el margen |
Los fondos van de la cartera al comerciante. La plataforma no custodia los fondos del comprador.
Related MCP server: JMT x402 MCP Server
Hoja de ruta
Versión | Estado | Objetivo |
V1 | Hecho | Envolver manualmente un flujo de pago de demostración (demo MBTA + liquidación en testnet de $0.01 USDC) |
V2 | Hecho | Descubrir automáticamente APIs del Bazaar en Base Sepolia y envolver muchas como herramientas MCP con pago real x402 |
V3 | Hecho | Arbitraje inteligente: buscar, comparar precios, elegir la API más barata para una tarea (con conmutación por error) |
V4 | Actual | Seguimiento de éxito/latencia; niveles de enrutamiento economy frente a verified |
V5 | Planificado | Alojamiento en la nube, registros públicos, |
Qué hace V4
Sobre el enrutamiento de V3, V4 registra el éxito y la latencia de cada llamada de pago en data/api-stats.json y ofrece dos niveles:
Nivel | Comportamiento |
| El más barato primero (comportamiento de V3) |
| Solo APIs con historial de éxito suficiente; ordenadas por fiabilidad/latencia/precio |
Umbrales (env): VERIFIED_MIN_SAMPLES (por defecto 2), VERIFIED_MIN_SUCCESS_RATE (por defecto 0.8).
Nuevas herramientas: get_api_stats, list_verified_apis. quote_route / route_and_call aceptan tier opcional.
Qué hace V3
Sobre el descubrimiento y pago de V2, V3 añade un enrutador:
quote_route— busca en el Bazaar una tarea en lenguaje natural, ordena los candidatos por precio total (proveedor + recargo) y devuelve el plan sin pagarroute_and_call— misma ordenación, paga y llama al más barato; si falla, prueba con el siguiente más barato (hastamax_attempts)
Todos los gastos siguen limitados por MAX_PRICE_USD.
Qué hace V2
Al iniciarse, el servidor MCP:
Carga las credenciales desde
.envResuelve una cartera pagadora de Tesorería CDP
Busca / lista los recursos HTTP de Base Sepolia (
eip155:84532) de Coinbase Bazaar con un precio igual o inferior aMAX_PRICE_USDRegistra cada coincidencia como una herramienta MCP
También registra herramientas auxiliares:
search_bazaar,list_discovered_apis,call_x402_apiMantiene la herramienta de demostración de V1
get_mbta_predictions
Cuando un agente llama a una herramienta descubierta (o a call_x402_api):
Aplicar
MAX_PRICE_USDsobre el precio del proveedor + recargoPagar al endpoint real x402 con
CdpX402Client+wrapFetchWithPaymentde@x402/fetchRecoger el margen del recargo (transferencia USDC de Tesorería → Comerciante cuando sea posible)
Devolver
{ payment, data }al agente
La herramienta get_mbta_predictions de V1 sigue realizando una transferencia fija de $0.01 USDC en Base Sepolia y luego obtiene los datos públicos gratuitos de predicciones de MBTA.
Arquitectura
Agent / Cursor
│ MCP (stdio)
▼
x402dispatcher MCP server (src/index.ts)
│
├─ Discovery → listX402DiscoveryResources / searchX402Resources (@coinbase/cdp-sdk)
├─ Payment → CdpX402Client + wrapFetchWithPayment (@coinbase/cdp-sdk/x402, @x402/fetch)
├─ Routing → economy (price) / verified (stats score) with failover
├─ Stats → data/api-stats.json success + latency history
├─ Guardrails → MAX_PRICE_USD (+ SDK spend controls)
└─ Markup → MARKUP_BPS applied; optional USDC transfer to Merchant account
│
▼
Upstream x402 HTTP API (Bazaar listing)Paquetes clave
@coinbase/cdp-sdk— carteras, descubrimiento en el Bazaar,CdpX402Client@x402/fetch/@x402/core/@x402/evm— bucle de pago HTTP 402@modelcontextprotocol/sdk— servidor MCP + herramientasdotenv,zod,viem
Requisitos
Node.js 19+ (requisito del CDP SDK; se recomienda 22 LTS)
Credenciales de Coinbase Developer Platform:
CDP_API_KEY_IDCDP_API_KEY_SECRETCDP_WALLET_SECRET(Wallet Secret del Portal CDP → Cartera no custodial → Seguridad — no una clave privada de MetaMask)
USDC en Base Sepolia (+ un poco de ETH para gas) en la dirección de la Tesorería
Configuración
git clone https://github.com/jegamboafuentes/x402dispatcher.git
cd x402dispatcher
npm install
cp .env.example .env
# edit .env with your CDP credentialsVariables de entorno
Variable | Obligatorio | Descripción |
| Sí | ID de clave de API de CDP |
| Sí | Secreto de clave de API de CDP |
| Sí | Wallet Secret de CDP (clave P-256 en base64 del Portal) |
| Recomendado | Tope máximo antes de cualquier gasto automatizado (p. ej. |
| Opcional | Recargo en puntos básicos (por defecto |
| Opcional | Máximo de herramientas del Bazaar a registrar al inicio (por defecto |
| Opcional | Mínimo de llamadas con historial de éxito para Verified (por defecto |
| Opcional | Tasa de éxito mínima 0–1 para Verified (por defecto |
| Opcional | Solo si importas una EOA específica en CDP (no se usa por la ruta de pagador por defecto en V2+) |
Nunca hagas commit de .env. Solo se rastrea .env.example.
Financia la tesorería
npx tsx -e "import 'dotenv/config'; import { CdpX402Client } from '@coinbase/cdp-sdk/x402'; const c = new CdpX402Client({ environment: 'development', walletConfig: { type: 'eoa', accountName: 'Treasury' } }); console.log(await c.getAddresses());"Envía USDC en Base Sepolia (y un poco de ETH) a la evmAddress mostrada.
Ejecución
Servidor MCP (stdio)
npm startConfiguración MCP en Cursor
Archivo del proyecto: .cursor/mcp.json (ya incluido). Cursor debería lanzar:
{
"mcpServers": {
"x402dispatcher": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "${workspaceFolder}"
}
}
}Recarga el MCP en Cursor después de clonar/instalar. Si ${workspaceFolder} no se expande en tu versión de Cursor, configura cwd con la ruta absoluta de este repositorio y, opcionalmente, apunta command a tu binario de Node 22.
Herramientas MCP
Principales
Herramienta | Propósito |
| Ordenar APIs coincidentes; |
| Pagar/llamar a la mejor coincidencia para el nivel; conmutación por error; registrar estadísticas |
| V4 — historial local de éxito/latencia |
| V4 — APIs que actualmente califican como Verified |
| Búsqueda semántica/textual de APIs del Bazaar en Base Sepolia por debajo de |
| Listar las APIs actualmente en caché/registradas |
| Pagar + llamar por |
| Demo V1: liquidación de $0.01 USDC + predicciones MBTA en vivo |
Herramientas dinámicas
Al inicio, x402dispatcher también registra una herramienta MCP por cada recurso del Bazaar descubierto (nombres como x402_<host>_<path>_<n>). Cada una acepta query / body opcionales y paga a la URL del proveedor.
Pruebas
Prueba de extremo a extremo de V4 (recomendada)
Siembra dos llamadas de clima con economy, promueve a la ganadora a Verified y luego cotiza/enruta con tier=verified:
npm run test:v4Espera: V4 SMOKE TEST PASSED
Versiones anteriores
npm run test:v3
npm run test:v2Comprobaciones manuales en Cursor
Recarga el servidor MCP de
x402dispatcherPide el clima con enrutamiento economy un par de veces (acumula estadísticas)
Pregunta: «Lista las APIs verificadas» / «Obtén las estadísticas de API»
Pregunta: «Usa el nivel verified para obtener el clima de Boston»
Confirma que
chosen.verifiedes true y quedata/api-stats.jsonha crecido
Comprobación del límite de seguridad
Establece MAX_PRICE_USD por debajo del total de un listado y confirma que quote/route rechazan o devuelven cero candidatos.
Estructura del proyecto
x402dispatcher/
├── src/
│ ├── index.ts # MCP server, tool registration
│ ├── discovery.ts # Bazaar list/search → DiscoveredApi
│ ├── payment.ts # CdpX402Client, markup, MBTA settle
│ ├── routing.ts # quote + economy/verified route + failover
│ ├── stats.ts # V4 local success/latency store
│ └── config.ts # MAX_PRICE_USD, MARKUP_BPS, verified thresholds
├── scripts/
│ ├── v4-smoke-test.ts
│ ├── v3-smoke-test.ts
│ ├── v2-smoke-test.ts
│ ├── mcp-test.ts
│ └── smoke-test.ts
├── data/ # local api-stats.json (gitignored)
├── .cursor/
│ ├── mcp.json
│ └── rules/ # security + x402-stack agent rules
├── AGENTS.md # product / roadmap context for agents
├── .env.example
└── package.jsonNotas de seguridad
Las credenciales de la cartera se cargan solo desde
.env— nunca codifiques secretos.Cada gasto automatizado está limitado por
MAX_PRICE_USDantes de firmar.V2 también configura los controles de gasto de CDP x402 (
maxAmountPerPayment+ lista blanca de red Base Sepolia).Trata el Bazaar como un catálogo, no como un respaldo. Prefiere primero topes pequeños en testnet.
CDP_WALLET_SECRETdebe ser el Wallet Secret del Portal (base64 largo), no una clave hexadecimal de MetaMask.
Referencias del stack
Licencia
ISC
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityDmaintenanceMCP server bringing 100+ x402-paid APIs to AI agents (Claude, Cursor, MCP-aware clients). Auto-discovers tools from CDP Bazaar; handles USDC micropayments on Base.100601MIT
- AlicenseBqualityCmaintenanceExposes 25 paid API endpoints as MCP tools for AI agents, with payments in USDC on Base mainnet via the x402 protocol, enabling tasks like web search, company intelligence, and crypto research.2568MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to discover, query, and pay for HTTP endpoints and MCP tools using Stellar USDC/SEP-41 stablecoins through a federated P2P bazaar catalog and x402 payment facilitator.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to discover, call, and pay for existing HTTP APIs over MCP with x402 paywalls, non-custodial settlement, and no code changes to the backend.3449Apache 2.0
Related MCP Connectors
Agent x402 Paywall MCP — Coinbase HTTP 402 protocol + on-chain settlement. Agents pay per-call
Agent Commerce Protocol MCP — bridges Stripe ACP + Google AP2 + Coinbase x402 for agent payments
Metered MCP tools: free discovery over MCP; per-call execution settled in USDC via x402 v2.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jegamboafuentes/x402dispatcher'
If you have feedback or need assistance with the MCP directory API, please join our Discord server