Web Content Scraper MCP Worker
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Web Content Scraper MCP WorkerScrape this page and give me markdown: https://example.com/blog"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Web Content Scraper MCP Worker
A high-performance Cloudflare Worker project that presents an agent-ready Model Context Protocol (MCP) Tool and REST API endpoint for dynamic web content extraction. Built with TypeScript, Cloudflare Workflows, Cloudflare Browser Rendering (@cloudflare/puppeteer), and the MCP SDK (@modelcontextprotocol/sdk), monetized with the x402 payment protocol ($0.005 USDC per call on Base).
🌟 Key Features
Dynamic Page Scraping & Headless Chrome:
Uses Cloudflare Browser Rendering (
@cloudflare/puppeteer) to execute dynamic JavaScript, handle client-side rendering (SPAs/React/Vue/Next.js), and bypass anti-bot layout hurdles.
Boilerplate & Ad Stripping:
In-browser DOM parsing automatically strips scripts, stylesheets, navigation bars, headers, footers, sidebars, cookie banners, popups, and advertisement blocks.
Structured Content Output:
Markdown Format (
default): Converts page hierarchy into clean structured Markdown (# Headings, paragraphs, lists, blockquotes, code blocks, links, and images).JSON Format: Extracts metadata (
title,author,siteName,description), text content, headings array, link objects, and image objects.
Cloudflare Workflows Integration:
Includes
ScraperWorkflowfor step-by-step asynchronous processing, step retries, and error isolation.
x402 Protocol Monetization:
Protected endpoints require $0.005 USDC payment per execution on the Base network via the x402 microtransaction standard.
Related MCP server: skim-mcp
🚀 MCP Tool Specification
Tool Name: scrape_web_content
Description:
"Scrapes a dynamic web page, bypasses client-side rendering, removes clutter/ads, and extracts core content as clean Markdown or structured JSON. Use this tool when you need to read web articles, documentation, or extract main body text from any URL."
Parameters:
url(string, required): The HTTP/HTTPS web page URL to scrape.format(string, optional):"markdown"or"json"(default:"markdown").
Response Schema:
{
"title": "Article Title",
"sourceUrl": "https://example.com/article",
"extractedContent": "# Article Title\n\nCore content formatted in clean markdown...",
"wordCount": 482
}📡 REST API Endpoints
1. Health Diagnostics
GET /healthResponse:
{
"status": "ok",
"service": "web-scraper-mcp-worker",
"timestamp": "2026-08-05T16:00:00.000Z",
"browserConfigured": true,
"workflowConfigured": true,
"monetization": {
"protocol": "x402",
"price_usdc": "0.005",
"network": "base",
"payee_address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
}
}2. Scraping Endpoint (x402 Protected)
POST /api/scrape
Content-Type: application/json
{
"url": "https://example.com/blog/dynamic-article",
"format": "markdown"
}3. Workflow Trigger Endpoint
POST /api/workflow/scrape
Content-Type: application/json
{
"url": "https://example.com/docs/api",
"format": "json"
}4. MCP JSON-RPC Protocol Endpoint (x402 Protected)
POST /mcp
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "scrape_web_content",
"arguments": {
"url": "https://news.ycombinator.com",
"format": "markdown"
}
}
}💳 x402 Monetization Flow
Unauthenticated requests to protected endpoints return an HTTP 402 Payment Required status code with x402 headers:
HTTP/1.1 402 Payment Required
WWW-Authenticate: X-402 payee="0x742d35Cc6634C0532925a3b844Bc454e4438f44e" asset="0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" amount="5000" network="eip155:8453"
Content-Type: application/json
{
"x402Version": 1,
"error": "Payment Required",
"payment": {
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "5000",
"human_amount": "$0.005 USDC",
"payee": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"resource": "/api/scrape",
"description": "Dynamic Web Scraper & Content Extractor ($0.005 USDC per execution)"
}
}Include payment authorization proof in the X-PAYMENT header to execute requests.
🛠Local Development & Deployment
Prerequisites
Node.js 18+
Cloudflare Workers Paid account (for Browser Rendering in production)
Commands
# Install dependencies
npm install
# Type Check
npm run type-check
# Local Development Server
npm run dev
# Deploy to Cloudflare Workers
npm run deploy📄 License
MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Stealth scraping API for AI agents. Clean Markdown from any URL. x402 crypto payments.
Pay-per-request webpage-to-Markdown extraction for AI agents. $0.005 USDC via x402 on Solana.
Read any public web page as clean Markdown for LLMs, with its metadata. Paid per call, x402.
Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceScrapes webpages and converts them to markdown using AI-powered interaction to automatically handle cookie banners, CAPTCHAs, paywalls, and other blocking elements before extracting clean content.22 npm48Apache 2.0
- AlicenseAqualityCmaintenancePay-per-use clean web reader for AI agents. URL in, markdown plus metadata out, in milliseconds. Settled per-call in USDC over x402 — no signup, no API keys.186 npm3MIT
- AlicenseNot gradedqualityDmaintenanceEnables extracting clean Markdown from any webpage by paying $0.005 USDC per call via the x402 protocol, with automatic wallet-based payment settlement.10 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables extracting clean, structured markdown from any URL—stripping nav, ads, and scripts—for RAG pipelines and AI research agents, with pay-per-call micropayments via x402.MIT