Web scraping MCP server for Claude, Cursor, Windsurf & AI agents — scrape any site, extract structured data, take screenshots. Anti-bot bypass, proxy rotation, authenticated scraping.
AlterLab MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Give Claude, Cursor, and Windsurf the ability to scrape any website, extract structured data, and take screenshots — with automatic anti-bot bypass.
Get Started Free → $1 free balance on signup — up to 5,000 scrapes.
---
One-Line Install
Claude Code
Then set your API key: export ALTERLAB_API_KEY=sk_live_... or add it to .claude.json (see full setup below).
Cursor
Smithery
---
Why AlterLab Instead of WebFetch or Browser MCP?
Claude's built-in WebFetch tool and open-source browser MCP servers fail on most real-world websites. They cannot bypass Cloudflare, render JavaScript SPAs, or extract structured data.
AlterLab replaces broken fetch tools with **one MCP server** that actually works:
| Capability | WebFetch / fetch() | Browser MCP | AlterLab MCP |
|---|---|---|---|
| Anti-bot bypass (Cloudflare, DataDome, Akamai) | No | Partial | Yes — automatic |
| JavaScript rendering (React, Angular, Vue SPAs) | No | Yes (slow) | Yes — headless Chromium |
| Structured data extraction (JSON, Schema.org) | No | No | Yes — built-in profiles |
| Smart tier escalation (cheapest method first) | N/A | N/A | Yes — saves 60-80% |
| Residential proxy rotation (195+ countries) | No | No | Yes |
| Screenshot and PDF capture | No | Screenshot only | Yes — both |
| OCR text extraction from images | No | No | Yes |
| Cost per request | Free (but fails) | Free (but slow) | From $0.0002 |
How Does AlterLab Web Scraping Work?
AlterLab uses a multi-tier scraping architecture. It automatically selects the cheapest method capable of fetching each URL:
1. **Curl** ($0.0002/req) — Direct HTTP for static pages, RSS feeds, public APIs
2. **HTTP** ($0.0003/req) — TLS fingerprint rotation for moderately protected sites
3. **Stealth** ($0.002/req) — Browser impersonation for Cloudflare/DataDome-protected sites
4. **Light JS** ($0.0025/req) — Lightweight JS extraction from server-rendered HTML
5. **Browser** ($0.004/req) — Full headless Chromium for JavaScript-heavy SPAs
Auto mode starts at Tier 1 and escalates only when blocked. Most websites resolve at Tiers 1-2, so **$1 gets you 1,000 to 5,000 scrapes** depending on the sites you target.
---
Installation
Install in Claude Desktop / Claude Code
Add to your Claude config file (~/.claude.json for Claude Code, or Settings for Claude Desktop):
Install in Cursor
Add to .cursor/mcp.json in your project root:
Install in Windsurf
Add to Windsurf MCP settings (~/.codeium/windsurf/mcp_config.json):
Install via Smithery
Get Your API Key
1. Sign up free — $1 free balance on signup
2. Go to **Dashboard → API Keys** and copy your key
3. Paste it into the ALTERLAB_API_KEY field in your MCP config
---
Tools
alterlab_scrape — Scrape Any Webpage
Scrape a URL and return its content as markdown, text, HTML, or JSON. Automatically handles anti-bot protection with tier escalation. Returns markdown by default — optimized for LLM context windows.
| Parameter | Type | Default | Description |
|---|---|---|---|
| url | string | required | URL to scrape |
| mode | auto \| html \| js \| pdf \| ocr | auto | Scraping mode |
| method / body / content_type / headers | enum / string / enum / object | GET | POST support (1.5x cost) and custom target headers |
| formats | (text\|json\|json_v2\|html\|markdown\|rag\|content\|raw)[] | ["markdown"] | Output formats |
| extraction_schema / extraction_prompt | object / string | — | LLM extraction (+$0.001) |
| extraction_profile / extraction_template | enum | — | auto, product, article, job_posting, faq, recipe, event, ecommerce_homepage, directory_listing (template is a deprecated alias) |
| extraction_provider / extraction_model | enum / string | — | BYOK LLM selection |
| evidence, promote_schema_org, filter_content | boolean | — | Extraction behaviour |
| cache, cache_ttl, force_refresh | boolean / number / boolean | — | Response caching (cache_ttl 60-86400) |
| render_js | boolean \| "auto" | API default | Headless browser (forces Browser tier, $0.004) |
| use_proxy, proxy_country | boolean, string | — | Premium proxy (+$0.0002) and geo-targeting |
| use_own_proxy, use_system_proxy, proxy_integration_id | boolean, boolean, string | — | Bring-your-own-proxy selection |
| skip_tls_verification | boolean | — | Omit (recommended) = verify, fall back on invalid certs; true skip, false require valid cert |