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: x402-farm

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

Available Tools

1 tool
extract_productA

Extract structured Product schema from any product page URL. Renders the page through a headless browser, then returns name, description, brand, price, currency, availability, and variants. Costs $0.01 USDC per call (paid automatically from the configured wallet on Base Sepolia). Use this whenever the user gives you a product URL and wants the structured fields, or when you need clean product data for shopping comparisons, price tracking, or catalog ingestion.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAbsolute https:// URL of the product page to extract.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden and excels: discloses headless browser rendering, cost of $0.01 per call, automatic payment from configured wallet on Base Sepolia. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each earning its place: purpose, mechanism, cost/payment, usage guidance. No redundancy, front-loaded with main action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description lists returned fields, explains mechanism and cost, and provides usage guidance. For a simple tool with one parameter, it is fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds value by specifying URL must be absolute https:// and from a product page, and mentions headless rendering, which goes beyond schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool extracts a structured Product schema from a product page URL, listing specific fields returned. It uses a specific verb and resource, and despite no sibling tools, it defines its scope well.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases: when user gives a product URL or needs product data for comparisons, tracking, or catalog ingestion. Lacks explicit when-not-to-use or alternatives, but given no siblings, this is nearly complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.2
    • First observedextract_product

TDQS

A4.3/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools. The tool's purpose is clearly defined.

Naming Consistency5/5

With a single tool, naming is consistent by default. The name 'extract_product' follows a clear verb_noun pattern.

Tool Count2/5

A single tool for extracting product data is very thin. While the tool is focused, the server would benefit from additional tools for related operations (e.g., listing recent extractions, managing config). Count feels too low for a robust toolset.

Completeness2/5

The tool only handles extraction from a product page URL. Missing any complementary operations like validation, history, batch processing, or error handling. The surface is incomplete for a full workflow.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server providing 10 pay-per-call APIs for web scraping, DNS, email validation, and French business data, with autonomous micropayments via the x402 protocol (USDC on Base).
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server that enables AI agents to fetch web content as clean, structured Markdown via NanoParse's hosted API, using x402 micropayments in USDC on Base.
    1
    439
    MIT

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