x402dispatcher
x402dispatcher
Lokaler x402 Bazaar Aggregator für KI-Agenten: Entdecke kostenpflichtige APIs aus dem Coinbase x402 Bazaar, verpacke sie als Model Context Protocol (MCP)-Tools, wickle Mikrozahlungen aus einer CDP-Treasury-Wallet ab und gib die Upstream-Daten an den Agenten zurück.
Dieses Repository befindet sich derzeit bei V4.
Warum es das gibt
KI-Agenten sind gut im Denken und in der Werkzeugnutzung, aber schlecht darin, für APIs zu bezahlen. Das x402-Protokoll verwandelt HTTP 402 Payment Required in eine programmierbare Stablecoin-Mikrozahlungsschiene (typischerweise USDC).
x402dispatcher sitzt dazwischen als ein für Einzelbetreiber freundlicher Aggregator:
Idee | Was es bedeutet |
Entdeckung | Den öffentlichen Coinbase x402 Bazaar-Katalog abfragen |
MCP-Integration | Entdeckte APIs als MCP-Tools für Cursor / Agenten bereitstellen |
Dispatch | Zahlung aus einer Treasury-Wallet über |
Monetarisierung | Einen Mikro-Aufschlag auf die Upstream-Kosten anwenden und die Spanne behalten |
Gelder fließen von Wallet zu Händler. Die Plattform verwahrt keine Käufergelder.
Related MCP server: JMT x402 MCP Server
Roadmap
Version | Status | Ziel |
V1 | Fertig | Einen kostenpflichtigen Flow manuell verpacken (MBTA-Demo + $0.01 USDC-Testnet-Settle) |
V2 | Fertig | Base Sepolia Bazaar-APIs automatisch entdecken und viele als MCP-Tools mit echter x402-Zahlung verpacken |
V3 | Fertig | Intelligente Arbitrage: suchen, Preise vergleichen, günstigste API für eine Aufgabe wählen (mit Failover) |
V4 | Aktuell | Erfolg/Latenz verfolgen; Economy- vs. Verified-Routing-Tiers |
V5 | Geplant | Cloud-Hosting, öffentliche Registries, |
Was V4 tut
Zusätzlich zum V3-Routing zeichnet V4 den Erfolg und die Latenz jedes bezahlten Aufrufs in data/api-stats.json auf und bietet dann zwei Tiers:
Tier | Verhalten |
| Günstigste zuerst (V3-Verhalten) |
| Nur APIs mit ausreichender Erfolgshistorie; sortiert nach Zuverlässigkeits-/Latenz-/Preis-Score |
Schwellenwerte (env): VERIFIED_MIN_SAMPLES (Standard 2), VERIFIED_MIN_SUCCESS_RATE (Standard 0.8).
Neue Tools: get_api_stats, list_verified_apis. quote_route / route_and_call akzeptieren optional tier.
Was V3 tut
Zusätzlich zu V2-Entdeckung + Zahlung fügt V3 einen Router hinzu:
quote_route— Bazaar nach einer natürlichsprachlichen Aufgabe durchsuchen, Kandidaten nach Gesamtpreis (Upstream + Aufschlag) sortieren, den Plan ohne zu bezahlen zurückgebenroute_and_call— gleiche Sortierung, günstigste bezahlen und aufrufen; bei Fehler die nächstgünstigere versuchen (bis zumax_attempts)
Alle Ausgaben bleiben durch MAX_PRICE_USD begrenzt.
Was V2 tut
Beim Start tut der MCP-Server Folgendes:
Lädt Anmeldedaten aus
.envLöst eine CDP-Treasury-Zahler-Wallet auf
Durchsucht/listet den Coinbase Bazaar nach Base Sepolia (
eip155:84532) HTTP-Ressourcen, die bei oder unterMAX_PRICE_USDliegenRegistriert jeden Treffer als MCP-Tool
Registriert außerdem Hilfstools:
search_bazaar,list_discovered_apis,call_x402_apiBehält das V1-Demo-Tool
get_mbta_predictions
Wenn ein Agent ein entdecktes Tool (oder call_x402_api) aufruft:
MAX_PRICE_USDauf Upstream-Preis + Aufschlag durchsetzenDen echten x402-Endpunkt mit
CdpX402Client+wrapFetchWithPaymentaus@x402/fetchbezahlenDie Aufschlagsspanne einsammeln (Treasury → Händler-USDC-Übertragung, wenn möglich)
{ payment, data }an den Agenten zurückgeben
Das V1-get_mbta_predictions beweist weiterhin eine feste $0.01 USDC Base Sepolia-Übertragung und ruft dann kostenlose öffentliche MBTA-Vorhersagedaten ab.
Architektur
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)Wichtige Pakete
@coinbase/cdp-sdk— Wallets, Bazaar-Entdeckung,CdpX402Client@x402/fetch/@x402/core/@x402/evm— HTTP-402-Zahlungsschleife@modelcontextprotocol/sdk— MCP-Server + Toolsdotenv,zod,viem
Anforderungen
Node.js 19+ (CDP-SDK-Anforderung; 22 LTS empfohlen)
Coinbase Developer Platform-Anmeldedaten:
CDP_API_KEY_IDCDP_API_KEY_SECRETCDP_WALLET_SECRET(Wallet Secret aus CDP Portal → Non-custodial Wallet → Security — kein MetaMask-Private-Key)
Base Sepolia USDC (+ etwas ETH für Gas) auf der Treasury-Adresse
Einrichtung
git clone https://github.com/jegamboafuentes/x402dispatcher.git
cd x402dispatcher
npm install
cp .env.example .env
# edit .env with your CDP credentialsUmgebungsvariablen
Variable | Erforderlich | Beschreibung |
| Ja | CDP-API-Schlüssel-ID |
| Ja | CDP-API-Schlüsselgeheimnis |
| Ja | CDP-Wallet-Secret (base64 P-256-Schlüssel aus dem Portal) |
| Empfohlen | Harte Obergrenze vor jeder automatisierten Ausgabe (z. B. |
| Optional | Aufschlag in Basispunkten (Standard |
| Optional | Maximale Anzahl Bazaar-Tools, die beim Start registriert werden (Standard |
| Optional | Mindestanzahl erfolgreicher Historie-Aufrufe für Verified (Standard |
| Optional | Mindest-Erfolgsrate 0–1 für Verified (Standard |
| Optional | Nur, wenn du eine bestimmte EOA in CDP importierst (nicht standardmäßig für V2+-Zahlerpfad verwendet) |
.env niemals committen. Nur .env.example wird versioniert.
Treasury finanzieren
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());"Sende Base Sepolia USDC (und etwas ETH) an die ausgegebene evmAddress.
Ausführen
MCP-Server (stdio)
npm startCursor-MCP-Konfiguration
Projektdatei: .cursor/mcp.json (bereits enthalten). Cursor sollte starten:
{
"mcpServers": {
"x402dispatcher": {
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "${workspaceFolder}"
}
}
}MCP in Cursor nach Klonen/Installieren neu laden. Wenn ${workspaceFolder} in deinem Cursor-Build nicht expandiert wird, setze cwd auf den absoluten Pfad dieses Repos und weise command optional auf dein Node-22-Binary.
MCP-Tools
Kern
Tool | Zweck |
| Passende APIs sortieren; |
| Beste Übereinstimmung für Tier bezahlen/aufrufen; Failover; zeichnet Statistiken auf |
| V4 — lokale Erfolgs-/Latenzhistorie |
| V4 — APIs, die derzeit als Verified qualifiziert sind |
| Semantische/Textsuche nach Base Sepolia Bazaar-APIs unter |
| APIs auflisten, die derzeit gecacht/registriert sind |
| Bezahlen + aufrufen per |
| V1-Demo: $0.01 USDC-Settle + Live-MBTA-Vorhersagen |
Dynamische Tools
Beim Start registriert x402dispatcher außerdem ein MCP-Tool pro entdeckter Bazaar-Ressource (Namen wie x402_<host>_<path>_<n>). Jedes akzeptiert optional query / body und bezahlt die Upstream-URL.
Testen
V4-End-to-End (empfohlen)
Sät zwei Economy-Wetteraufrufe, befördert den Gewinner in Verified und quotet/routet dann mit tier=verified:
npm run test:v4Erwartung: V4 SMOKE TEST PASSED
Frühere Versionen
npm run test:v3
npm run test:v2Manuelle Prüfungen in Cursor
Den
x402dispatcher-MCP-Server neu ladenEin paar Mal nach Wetter mit Economy-Routing fragen (baut Statistiken auf)
Fragen: „Verified-APIs auflisten“ / „API-Statistiken abrufen“
Fragen: „Nutze den Verified-Tier, um Wetter für Boston zu bekommen“
Bestätigen, dass
chosen.verifiedtrue ist unddata/api-stats.jsongewachsen ist
Schutzprüfung
Setze MAX_PRICE_USD unter den Gesamtpreis eines Listings und bestätige, dass Quote/Route ablehnen oder null Kandidaten zurückgeben.
Projektstruktur
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.jsonSicherheitshinweise
Wallet-Anmeldedaten werden nur aus
.envgeladen — niemals Geheimnisse hartkodieren.Jede automatisierte Ausgabe ist vor dem Signieren durch
MAX_PRICE_USDbegrenzt.V2 konfiguriert außerdem CDP-x402-Ausgabenkontrollen (
maxAmountPerPayment+ Base Sepolia-Netzwerk-Allowlist).Behandle den Bazaar als Katalog, nicht als Empfehlung. Bevorzuge zuerst kleine Limits im Testnetz.
CDP_WALLET_SECRETmuss das Portal-Wallet-Secret (langes base64) sein, kein MetaMask-Hex-Schlüssel.
Stack-Referenzen
Lizenz
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