ExtractEdge

Official registry Search and web

Any web page -> clean markdown. Firecrawl-lite, 0.001 USDC/extract (x402, Base), free demo.

What can you do with ExtractEdge?

  • Main-content detection (scores article/main/div candidates by text density, drops nav/footer/ads)
  • HTML → markdown: headings, bold/italic, links (reference-style), images, ordered/unordered lists (nested), code blocks, blockquotes, tables (GFM), hr
  • Entity decoding (named + numeric), script/style/svg stripped
  • JSON endpoints returned pretty-printed; binary resources answered with a notice
  • Redirect following (≤5), 15s timeout, 3MB cap, per-IP demo rate limit (20/min)
  • CORS enabled; abuse control on demo lane only — paid lane unlimited

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http extractedge 'https://extractedge.lastunmihai1986.workers.dev/mcp'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "extractedge": {
            "type": "http",
            "url": "https://extractedge.lastunmihai1986.workers.dev/mcp"
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. ExtractEdge
  2. Why
  3. Quick start (free demo)
  4. Paid extraction (x402, USDC on Base)
  5. MCP server
  6. REST endpoints
  7. Response shape
  8. Features
  9. Architecture
  10. Pricing comparison
  11. Status

ExtractEdge

Firecrawl-lite: turn any web page into clean LLM-ready markdown. Fast, cheap, crypto-native. Live: https://extractedge.lastunmihai1986.workers.dev

Why

Firecrawl starts at $16/mo for ~1k credits and requires signup + API key. ExtractEdge is $0.001/extract pay-per-use over x402 (USDC on Base mainnet), no signup, no API key — designed for AI agents.

Quick start (free demo)

curl -X POST "https://extractedge.lastunmihai1986.workers.dev/extract?demo=1" \
  -H "content-type: application/json" \
  -d '{"url":"https://example.com"}'

Free demo returns up to 3,000 chars of the page as markdown. No payment needed.

Paid extraction (x402, USDC on Base)

  1. POST /extract {"url":"https://target.page"} → 402 with PAYMENT-REQUIRED header (base64 JSON)
  2. Sign an EIP-3009 transferWithAuthorization for 1000 atomic units (0.001 USDC) on Base
    • asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC)
    • payTo: 0xa1b8be63bde77ddc65d9ffe8a21a2a5f2c9ca6a8
  3. Retry with the PAYMENT-SIGNATURE header (base64 PaymentPayload JSON) → 200 with full markdown + PAYMENT-RESPONSE receipt

Python client example: see scripts/e2e_paid2.py (eth_account EIP-712 signing, ~40 lines).

MCP server

Streamable HTTP MCP endpoint (JSON-RPC 2.0):

https://extractedge.lastunmihai1986.workers.dev/mcp

REST endpoints

EndpointDescription
POST /extractPaid extraction (x402) or free demo (?demo=1 / X-ExtractEdge-Demo header)
POST /mcpMCP JSON-RPC (initialize / tools/list / tools/call / ping)
GET /.well-known/x402.jsonPayment discovery
GET /.well-known/agent-registration.jsonERC-8004 agent registration file
GET /Service info

Response shape

{
  "success": true,
  "format": "markdown",
  "content": "# Page title\n\nClean markdown...",
  "textContent": "plain text variant",
  "metadata": {
    "title": "Page title", "description": "meta description",
    "source": "https://final.url/", "statusCode": 200,
    "contentLength": 48211, "fetchMs": 731,
    "links": ["https://..."]
  },
  "payment": {"payer": "0x...", "transaction": "0x...", "amount": "1000"}
}

Features

  • Main-content detection (scores article/main/div candidates by text density, drops nav/footer/ads)
  • HTML → markdown: headings, bold/italic, links (reference-style), images, ordered/unordered lists (nested), code blocks, blockquotes, tables (GFM), hr
  • Entity decoding (named + numeric), script/style/svg stripped
  • JSON endpoints returned pretty-printed; binary resources answered with a notice
  • Redirect following (≤5), 15s timeout, 3MB cap, per-IP demo rate limit (20/min)
  • CORS enabled; abuse control on demo lane only — paid lane unlimited

Architecture

Single Cloudflare Worker (stdlib-only, zero npm deps):

  • src/index.js — router + info endpoints
  • src/extract.js — fetch pipeline (timeout, redirects, content-type dispatch)
  • src/md.js — HTMLRewriter → DOM tree → markdown/text + main-content scoring
  • src/x402.js — x402 v2 gate: 402/PAYMENT-REQUIRED, EIP-3009 verify+settle via Coinbase CDP facilitator (Ed25519 JWT per request), Bazaar discovery declaration
  • src/mcp.js — MCP Streamable HTTP server (JSON-RPC 2.0)

Pricing comparison

FirecrawlExtractEdge
Entry price$16/mo (~1k credits)$0 pay-per-use
Per page~$0.016$0.001
Signup/API keyrequirednone
PaymentcardUSDC on Base (x402)
Agent-native (MCP)hostedMCP + x402 + Bazaar

Status

  • Worker live on extractedge.lastunmihai1986.workers.dev (global edge)
  • 3 real settled payments on Base mainnet (tx receipts verified on-chain)
  • MCP published on Smithery (admin-qnk4/extractedge)

Frequently asked questions

What is ExtractEdge?

Any web page -> clean markdown. Firecrawl-lite, 0.001 USDC/extract (x402, Base), free demo.

How do I install ExtractEdge?

It runs as a remote server. In Claude Code: claude mcp add --transport http extractedge 'https://extractedge.lastunmihai1986.workers.dev/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does ExtractEdge need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is ExtractEdge open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains ExtractEdge?

It is published by vasilicasijarvis. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.