x402-extract-mcp
A paid MCP server that extracts structured product data (schema.org/Product) from any URL via headless browser, charging $0.01 USDC per call through x402 micropayments.
README
x402-extract-mcp
A paid MCP server that gives AI agents structured product data from any URL.
Each extract_product tool call:
- Renders the URL through a headless browser
- Extracts a
schema.org/ProductJSON blob (name, price, currency, availability, variants, …) - Costs $0.01 USDC per call, paid automatically from the configured wallet via x402
No API keys. No subscription. The agent pays the toll, gets the data.
Install in Claude Desktop / Cursor / Windsurf
Add this to your MCP config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"x402-extract": {
"command": "npx",
"args": ["-y", "x402-extract-mcp"],
"env": {
"BUYER_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY"
}
}
}
}
Restart your MCP client. You'll see an extract_product tool available.
What you need
A wallet on Base Sepolia (testnet) funded with:
- A small amount of ETH for gas (free from https://www.coinbase.com/faucets/base-ethereum-sepolia-faucet)
- USDC for payments (free from https://faucet.circle.com, select Base Sepolia)
Generate a throwaway key:
node -e "const {generatePrivateKey,privateKeyToAccount}=require('viem/accounts');const k=generatePrivateKey();console.log('PRIVATE_KEY=',k);console.log('ADDRESS=',privateKeyToAccount(k).address)"
Use the printed address to claim from faucets, then put the printed key into your MCP config.
Try it
In Claude Desktop, paste a product URL and ask:
Extract this product page using extract_product: https://stormkeep-odl.bandcamp.com/album/the-nocturnes-of-iswylm-2
You'll get back structured JSON with the product name, price, formats, availability, etc. The on-chain transfer is visible at https://sepolia.basescan.org.
What the response looks like
{
"product": {
"name": "The Nocturnes Of Iswylm",
"description": "...",
"brand": "Stormkeep",
"price": 10,
"currency": "USD",
"availability": "preorder",
"variants": [
{ "name": "Format", "values": ["Digital Album", "12\" Vinyl (black)", ...] },
{ "name": "Vinyl Color", "values": ["Black", "Violet", ...] }
],
"images": [],
"url": "https://..."
},
"page": { "title": "...", "status": 200, "render_ms": 2879 },
"extraction": { "model": "claude-haiku-4-5", "input_tokens": 4479, "output_tokens": 405 }
}
Configuration
| Env var | Required | Default |
|---|---|---|
BUYER_PRIVATE_KEY |
yes | — |
EXTRACT_URL |
no | https://x402-extract-production.up.railway.app/extract |
To point the MCP server at your own seller deployment, override EXTRACT_URL.
How it works
Claude Desktop ──tool call──> MCP server (this package, on your machine)
│
│ x402 payment + URL
▼
Public seller (Hono + Playwright + Claude on Railway)
│
│ structured JSON
▼
MCP server ──tool result──> Claude Desktop
The MCP server doesn't render pages itself. It signs an x402 payment with the buyer's wallet, sends the payment + URL to a public seller endpoint, and returns the seller's response. The seller does the actual headless rendering and Claude-driven schema extraction.
What works, what doesn't
Works well:
- Bandcamp release pages
- Most small/medium Shopify stores
- Tesla Shop product pages
- Any site that doesn't have aggressive anti-bot
Will return a fetch error (page status 403/429/no-content):
- Amazon, Walmart, Target, Best Buy
- Most luxury brand sites on Cloudflare
- LinkedIn, Twitter/X (auth wall)
A future version will add residential-proxy support to handle these.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.