<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: UltraStarz</title>
    <description>The latest articles on DEV Community by UltraStarz (@ultrastarz).</description>
    <link>https://dev.to/ultrastarz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3924158%2F1322897b-bee5-4d26-8875-521002d68589.png</url>
      <title>DEV Community: UltraStarz</title>
      <link>https://dev.to/ultrastarz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ultrastarz"/>
    <language>en</language>
    <item>
      <title>An MCP server that charges your AI a penny per call</title>
      <dc:creator>UltraStarz</dc:creator>
      <pubDate>Mon, 11 May 2026 05:47:47 +0000</pubDate>
      <link>https://dev.to/ultrastarz/an-mcp-server-that-charges-your-ai-a-penny-per-call-18kj</link>
      <guid>https://dev.to/ultrastarz/an-mcp-server-that-charges-your-ai-a-penny-per-call-18kj</guid>
      <description>&lt;p&gt;I built an MCP server that lets AI agents extract structured product data from any URL — and it charges them $0.01 USDC per call, automatically, with no API key. The whole thing went from idea to public-on-npm in 36 hours.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wicz2xe3vrozkof4n18.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wicz2xe3vrozkof4n18.gif" alt="Demo: Claude Desktop calling extract_product, paying 0.01 USDC, returning structured Product JSON"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have Claude Desktop, Cursor, or Windsurf, you can install it right now:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"x402-extract"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"x402-extract-mcp"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"BUYER_PRIVATE_KEY"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0x..."&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Restart your client. Ask your agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Extract this product page: &lt;a href="https://stormkeep-odl.bandcamp.com/album/the-nocturnes-of-iswylm-2" rel="noopener noreferrer"&gt;https://stormkeep-odl.bandcamp.com/album/the-nocturnes-of-iswylm-2&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You'll get back a clean JSON blob — name, brand, price, availability, all 14 format variants — and your wallet will be 0.01 USDC lighter, on-chain on Base Sepolia. No accounts, no signups, no subscriptions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's actually happening
&lt;/h2&gt;

&lt;p&gt;The protocol behind this is &lt;a href="https://x402.org" rel="noopener noreferrer"&gt;x402&lt;/a&gt;. It uses HTTP status code 402 — "Payment Required" — which has been reserved in the spec since 1991 but never had a real use until last year. Coinbase shipped a protocol that finally puts it to work.&lt;/p&gt;

&lt;p&gt;The handshake:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Client requests &lt;code&gt;/extract&lt;/code&gt; with no payment.&lt;/li&gt;
&lt;li&gt;Server returns &lt;strong&gt;HTTP 402&lt;/strong&gt; with a JSON body describing the cost: amount, recipient, asset, network, a nonce.&lt;/li&gt;
&lt;li&gt;Client signs an EIP-3009 USDC transfer authorization (no gas, just a signature).&lt;/li&gt;
&lt;li&gt;Client retries with the signed payload in the &lt;code&gt;X-PAYMENT&lt;/code&gt; header.&lt;/li&gt;
&lt;li&gt;Server passes the signature to a "facilitator" which broadcasts the on-chain transfer.&lt;/li&gt;
&lt;li&gt;Server releases the response.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Total round trip: about 3 seconds on Base. The buyer never gets an API key. The seller never holds buyer credentials. Settlement is on-chain USDC. The whole "subscribe, get an API key, configure billing, hit rate limits" gauntlet just... isn't there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is interesting now
&lt;/h2&gt;

&lt;p&gt;Because of agents.&lt;/p&gt;

&lt;p&gt;When the buyer is a human dev, the friction of "create an account, paste API key, manage billing" is annoying but tractable. When the buyer is an autonomous AI agent — which increasingly it is — that friction is the whole problem. Agents can't pass captchas. They can't read confirmation emails. They can't enter credit cards. Every signup hoop breaks them.&lt;/p&gt;

&lt;p&gt;x402 routes around all of it. The agent has a wallet. The wallet has USDC. When the agent needs data, it pays the toll and gets the data. The seller writes the same kind of code they'd write for a free API; the protocol does the billing.&lt;/p&gt;

&lt;p&gt;Cloudflare is now serving over a billion 402 responses a day. Stripe shipped x402 on Base in February. The Coinbase Bazaar lists 69,000 active agent wallets and 165 million transactions through April. The infrastructure is real and growing fast — what's missing is interesting paid endpoints for agents to spend money on.&lt;/p&gt;

&lt;p&gt;So I built one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What &lt;code&gt;x402-extract-mcp&lt;/code&gt; does
&lt;/h2&gt;

&lt;p&gt;A focused, narrow product. Three steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Agent gives it a URL.&lt;/li&gt;
&lt;li&gt;The seller renders that URL through a real headless Chromium (defeating most basic anti-bot), strips noise, and feeds the visible text to Claude Haiku with a strict &lt;code&gt;schema.org/Product&lt;/code&gt; extraction prompt.&lt;/li&gt;
&lt;li&gt;You get back structured JSON — name, description, brand, SKU, price, currency, availability, image URLs, and a list of variants (formats, colors, sizes, whatever the page exposes).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What I think makes this useful at agent scale, vs. the dozen general scraping APIs that already exist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MCP-native distribution&lt;/strong&gt;, so any Claude Desktop / Cursor / Windsurf user can install it with one config block — no SDKs, no integration code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No account, no key.&lt;/strong&gt; The agent's own wallet pays.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pay-per-call economics&lt;/strong&gt;, not subscription tiers. An agent that runs once a week doesn't waste a $50/mo plan; an agent that runs 10K times a day pays exactly for what it uses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schema-shaped output&lt;/strong&gt;, not raw HTML. The agent doesn't have to do its own parsing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What it doesn't do (yet):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bot-bypass on aggressively-protected sites (Amazon, Walmart, Cloudflare-shielded luxury). v2 will add residential proxies.&lt;/li&gt;
&lt;li&gt;Search. You give it a URL, not a query. The companion &lt;code&gt;search-and-extract&lt;/code&gt; endpoint is on the roadmap.&lt;/li&gt;
&lt;li&gt;Image extraction. Currently returns the structured fields but not image URLs (text-only extraction strips &lt;code&gt;&amp;lt;img src&amp;gt;&lt;/code&gt; attributes). Trivial to add; was just out of scope for v1.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The stack, end to end
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Claude Desktop
  → MCP server (x402-extract-mcp on npm)
    → x402-fetch signs USDC payment with buyer wallet
      → POST /extract on Railway
        → Hono server with x402-hono middleware
          → x402.org facilitator verifies + settles on Base Sepolia
          → Playwright renders the URL
          → Claude Haiku extracts schema.org/Product JSON
        → returns JSON
      → returns JSON
    → returns to MCP
  → returns to Claude Desktop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;a href="https://github.com/UltraStarz/x402-extract-mcp" rel="noopener noreferrer"&gt;MCP client&lt;/a&gt; (what installs into Claude Desktop) is open source under MIT. The seller backend runs as a hosted service on Railway.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install&lt;/strong&gt; the config block above into your MCP client.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Get a wallet&lt;/strong&gt; funded with Base Sepolia USDC. Generate a throwaway key, then claim from &lt;a href="https://faucet.circle.com" rel="noopener noreferrer"&gt;faucet.circle.com&lt;/a&gt; (select Base Sepolia) and a Base Sepolia ETH faucet for gas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restart your client.&lt;/strong&gt; Ask the agent to extract a product. Watch the JSON come back.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The on-chain transfer is visible at &lt;a href="https://sepolia.basescan.org" rel="noopener noreferrer"&gt;sepolia.basescan.org&lt;/a&gt;. Mainnet support is coming once Base mainnet support stabilizes in the v1 packages.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MCP client: &lt;a href="https://github.com/UltraStarz/x402-extract-mcp" rel="noopener noreferrer"&gt;github.com/UltraStarz/x402-extract-mcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;npm: &lt;a href="https://www.npmjs.com/package/x402-extract-mcp" rel="noopener noreferrer"&gt;npmjs.com/package/x402-extract-mcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Official MCP Registry: &lt;code&gt;io.github.UltraStarz/x402-extract&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;The protocol: &lt;a href="https://x402.org" rel="noopener noreferrer"&gt;x402.org&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you build something on top of this, I'd love to hear about it.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>claude</category>
      <category>showdev</category>
    </item>
    <item>
      <title>An MCP server that charges your AI a penny per call</title>
      <dc:creator>UltraStarz</dc:creator>
      <pubDate>Mon, 11 May 2026 05:47:46 +0000</pubDate>
      <link>https://dev.to/ultrastarz/an-mcp-server-that-charges-your-ai-a-penny-per-call-3i22</link>
      <guid>https://dev.to/ultrastarz/an-mcp-server-that-charges-your-ai-a-penny-per-call-3i22</guid>
      <description>&lt;p&gt;I built an MCP server that lets AI agents extract structured product data from any URL — and it charges them $0.01 USDC per call, automatically, with no API key. The whole thing went from idea to public-on-npm in 36 hours.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wicz2xe3vrozkof4n18.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2wicz2xe3vrozkof4n18.gif" alt="Demo: Claude Desktop calling extract_product, paying 0.01 USDC, returning structured Product JSON"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have Claude Desktop, Cursor, or Windsurf, you can install it right now:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"x402-extract"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"x402-extract-mcp"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"BUYER_PRIVATE_KEY"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"0x..."&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Restart your client. Ask your agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Extract this product page: &lt;a href="https://stormkeep-odl.bandcamp.com/album/the-nocturnes-of-iswylm-2" rel="noopener noreferrer"&gt;https://stormkeep-odl.bandcamp.com/album/the-nocturnes-of-iswylm-2&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You'll get back a clean JSON blob — name, brand, price, availability, all 14 format variants — and your wallet will be 0.01 USDC lighter, on-chain on Base Sepolia. No accounts, no signups, no subscriptions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's actually happening
&lt;/h2&gt;

&lt;p&gt;The protocol behind this is &lt;a href="https://x402.org" rel="noopener noreferrer"&gt;x402&lt;/a&gt;. It uses HTTP status code 402 — "Payment Required" — which has been reserved in the spec since 1991 but never had a real use until last year. Coinbase shipped a protocol that finally puts it to work.&lt;/p&gt;

&lt;p&gt;The handshake:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Client requests &lt;code&gt;/extract&lt;/code&gt; with no payment.&lt;/li&gt;
&lt;li&gt;Server returns &lt;strong&gt;HTTP 402&lt;/strong&gt; with a JSON body describing the cost: amount, recipient, asset, network, a nonce.&lt;/li&gt;
&lt;li&gt;Client signs an EIP-3009 USDC transfer authorization (no gas, just a signature).&lt;/li&gt;
&lt;li&gt;Client retries with the signed payload in the &lt;code&gt;X-PAYMENT&lt;/code&gt; header.&lt;/li&gt;
&lt;li&gt;Server passes the signature to a "facilitator" which broadcasts the on-chain transfer.&lt;/li&gt;
&lt;li&gt;Server releases the response.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Total round trip: about 3 seconds on Base. The buyer never gets an API key. The seller never holds buyer credentials. Settlement is on-chain USDC. The whole "subscribe, get an API key, configure billing, hit rate limits" gauntlet just... isn't there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is interesting now
&lt;/h2&gt;

&lt;p&gt;Because of agents.&lt;/p&gt;

&lt;p&gt;When the buyer is a human dev, the friction of "create an account, paste API key, manage billing" is annoying but tractable. When the buyer is an autonomous AI agent — which increasingly it is — that friction is the whole problem. Agents can't pass captchas. They can't read confirmation emails. They can't enter credit cards. Every signup hoop breaks them.&lt;/p&gt;

&lt;p&gt;x402 routes around all of it. The agent has a wallet. The wallet has USDC. When the agent needs data, it pays the toll and gets the data. The seller writes the same kind of code they'd write for a free API; the protocol does the billing.&lt;/p&gt;

&lt;p&gt;Cloudflare is now serving over a billion 402 responses a day. Stripe shipped x402 on Base in February. The Coinbase Bazaar lists 69,000 active agent wallets and 165 million transactions through April. The infrastructure is real and growing fast — what's missing is interesting paid endpoints for agents to spend money on.&lt;/p&gt;

&lt;p&gt;So I built one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What &lt;code&gt;x402-extract-mcp&lt;/code&gt; does
&lt;/h2&gt;

&lt;p&gt;A focused, narrow product. Three steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Agent gives it a URL.&lt;/li&gt;
&lt;li&gt;The seller renders that URL through a real headless Chromium (defeating most basic anti-bot), strips noise, and feeds the visible text to Claude Haiku with a strict &lt;code&gt;schema.org/Product&lt;/code&gt; extraction prompt.&lt;/li&gt;
&lt;li&gt;You get back structured JSON — name, description, brand, SKU, price, currency, availability, image URLs, and a list of variants (formats, colors, sizes, whatever the page exposes).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What I think makes this useful at agent scale, vs. the dozen general scraping APIs that already exist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MCP-native distribution&lt;/strong&gt;, so any Claude Desktop / Cursor / Windsurf user can install it with one config block — no SDKs, no integration code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No account, no key.&lt;/strong&gt; The agent's own wallet pays.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pay-per-call economics&lt;/strong&gt;, not subscription tiers. An agent that runs once a week doesn't waste a $50/mo plan; an agent that runs 10K times a day pays exactly for what it uses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schema-shaped output&lt;/strong&gt;, not raw HTML. The agent doesn't have to do its own parsing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What it doesn't do (yet):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bot-bypass on aggressively-protected sites (Amazon, Walmart, Cloudflare-shielded luxury). v2 will add residential proxies.&lt;/li&gt;
&lt;li&gt;Search. You give it a URL, not a query. The companion &lt;code&gt;search-and-extract&lt;/code&gt; endpoint is on the roadmap.&lt;/li&gt;
&lt;li&gt;Image extraction. Currently returns the structured fields but not image URLs (text-only extraction strips &lt;code&gt;&amp;lt;img src&amp;gt;&lt;/code&gt; attributes). Trivial to add; was just out of scope for v1.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The stack, end to end
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Claude Desktop
  → MCP server (x402-extract-mcp on npm)
    → x402-fetch signs USDC payment with buyer wallet
      → POST /extract on Railway
        → Hono server with x402-hono middleware
          → x402.org facilitator verifies + settles on Base Sepolia
          → Playwright renders the URL
          → Claude Haiku extracts schema.org/Product JSON
        → returns JSON
      → returns JSON
    → returns to MCP
  → returns to Claude Desktop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;a href="https://github.com/UltraStarz/x402-extract-mcp" rel="noopener noreferrer"&gt;MCP client&lt;/a&gt; (what installs into Claude Desktop) is open source under MIT. The seller backend runs as a hosted service on Railway.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install&lt;/strong&gt; the config block above into your MCP client.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Get a wallet&lt;/strong&gt; funded with Base Sepolia USDC. Generate a throwaway key, then claim from &lt;a href="https://faucet.circle.com" rel="noopener noreferrer"&gt;faucet.circle.com&lt;/a&gt; (select Base Sepolia) and a Base Sepolia ETH faucet for gas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restart your client.&lt;/strong&gt; Ask the agent to extract a product. Watch the JSON come back.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The on-chain transfer is visible at &lt;a href="https://sepolia.basescan.org" rel="noopener noreferrer"&gt;sepolia.basescan.org&lt;/a&gt;. Mainnet support is coming once Base mainnet support stabilizes in the v1 packages.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MCP client: &lt;a href="https://github.com/UltraStarz/x402-extract-mcp" rel="noopener noreferrer"&gt;github.com/UltraStarz/x402-extract-mcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;npm: &lt;a href="https://www.npmjs.com/package/x402-extract-mcp" rel="noopener noreferrer"&gt;npmjs.com/package/x402-extract-mcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Official MCP Registry: &lt;code&gt;io.github.UltraStarz/x402-extract&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;The protocol: &lt;a href="https://x402.org" rel="noopener noreferrer"&gt;x402.org&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you build something on top of this, I'd love to hear about it.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>claude</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
