Skip to main content
Glama

x402-extract-mcp

A paid MCP server that gives AI agents structured product data from any URL.

Each extract_product tool call:

  1. Renders the URL through a headless browser

  2. Extracts a schema.org/Product JSON blob (name, price, currency, availability, variants, …)

  3. 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.

Related MCP server: intelligence-api

What you need

A wallet on Base Sepolia (testnet) funded with:

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

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/UltraStarz/x402-extract-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server