Install
$ agentstack add mcp-charlie-morrison-x402-agent-data ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v6.0.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v6.0.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
x402-agent-data
Pay-per-call data tools for AI agents, settled per call in USDC on Base via the x402 protocol. 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 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— livenessGET /.well-known/mcp.json— MCP discovery manifestGET /.well-known/agent.json— A2A Agent CardPOST /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
- Agent calls a paid route with no payment → server responds HTTP 402 with an
x402 challenge (amount, asset = USDC, network = base, payTo address).
- Agent's x402 client signs a payment authorization and retries with the
X-PAYMENT header.
- 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
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— default4021.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
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: charlie-morrison
- Source: charlie-morrison/x402-agent-data
- License: MIT
- Homepage: https://x402.charliemorrison.dev
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v6.0.0 Imported from the upstream source.