dev.charliemorrison/agent-web-reader
Pay-per-call data tools for AI agents: crypto signal, web reader, SEO audit. x402 USDC on Base.
Open source Repository Open in the app JSON README (API)
About
Pay-per-call data tools for AI agents: crypto signal, web reader, SEO audit. x402 USDC on Base.
Details
- Kind
- MCP servers
- Topic
- Finance & crypto
- Publisher
- dev.charliemorrison
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 6.0.0
- Last push
- 2026-06-26T00:44:11Z
- Repository state
- ativo
- Language
- JavaScript
- License
- MIT
- Added
- 2026-08-29 03:01:29
- Updated
- 2026-08-29 03:01:29
- Origin id
dev.charliemorrison/agent-web-reader
README
# x402-agent-data Pay-per-call data tools for AI agents, settled per call in **USDC on Base** via the [**x402** protocol](https://docs.cdp.coinbase.com/x402/welcome). The buyer is another agent: it discovers an endpoint, auto-pays per request (HTTP 402 → payment → data), and gets structured JSON back. **No API key, no signup, no account** — the seller's only setup is one public wallet address. Live at **https://x402.charliemorrison.dev** — also listed as a remote MCP server in the [Official MCP Registry](https://registry.modelcontextprotocol.io) as `dev.charliemorrison/agent-web-reader`. ## Tools | Tool | Endpoint | Price | Returns | |------|----------|-------|---------| | `market_signal` | `GET /signal` | $0.005 | Crypto market signal (price/trend/momentum) for a symbol | | `web_read` | `GET /extract` | $0.005 | Clean, readable text + metadata extracted from any URL | | `repo_audit` | `GET /audit?owner=&repo=` | $0.005 | GitHub repo discoverability/SEO score (0–100) + concrete fixes | Free, unpaid routes: - `GET /` — discovery doc (service + paid-endpoint metadata, x402-aware) - `GET /healthz` — liveness - `GET /.well-known/mcp.json` — MCP discovery manifest - `GET /.well-known/agent.json` — A2A Agent Card - `POST /mcp` — **remote MCP server** (Streamable HTTP). Lists the three tools; an unpaid `tools/call` returns the decoded x402 payment-required challenge, and a call carrying an x402 payment returns the data. ## How payment works 1. Agent calls a paid route with no payment → server responds **HTTP 402** with an x402 challenge (amount, asset = USDC, network = `base`, `payTo` address). 2. Agent's x402 client signs a payment authorization and retries with the `X-PAYMENT` header. 3. Server verifies/settles via an x402 facilitator and returns the data. No private key ever lives in this server's config — it only **receives**. Settlement is delegated to an x402 facilitator (default: a zero-fee, gas-sponsored facilitator; Coinbase CDP facilitator is supported via env and inert unless configured). ## Run it ```bash npm install PAY_TO=0xYourReceivingAddress node server.js # listens on :4021 ``` Environment: - `PAY_TO` — your receiving wallet (USDC on Base). Required for real revenue. - `PORT` — default `4021`. - `CDP_API_KEY_ID` / `CDP_API_KEY_SECRET` — optional; switches settlement to the Coinbase CDP facilitator. Omitted by default. ## Why this shape The buyer is a machine and distribution is a registry — there's no cold human audience to recruit, which is the wall that kills most indie API/tool launches. Seller setup is a single wallet address; every call is zero-marginal-cost public data. ## License MIT