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.
Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.
Converts any URL to clean, LLM-ready Markdown using real Chrome browsers
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.8 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.182 npm2MIT
- 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.6 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