Official Scrapfly MCP server for Cursor, Claude Desktop, and any MCP-compatible client. Enterprise-grade web scraping, AI extraction, and anti-bot–aware data access as first-class tools.
SaferSkills independently audited Scrapfly Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <a href="https://scrapfly.io"> <img src="https://avatars.githubusercontent.com/u/54183743?s=400&u=5279c1aaea18805aa5cc4fec1053ac2a2cfaac5d&v=4" alt="Scrapfly" width="200"/> </a> </p>
<p align="center"> <strong>Give your AI real-time access to any website</strong> </p>
<p align="center"> <a href="https://scrapfly.io/mcp-cloud">🌐 Landing Page</a> • <a href="https://scrapfly.io/docs/mcp/getting-started">📖 Documentation</a> • <a href="https://scrapfly.io/mcp-cloud/n8n">🎮 Live Demo</a> • <a href="https://scrapfly.io/register">🔑 Get API Key</a> </p>
The Scrapfly MCP Server connects your AI assistants to live web data through the Model Context Protocol. Transform your AI from being limited by training data to having real-time access to any website.
| Capability | Description |
|---|---|
| 🌐 Scrape Live Data | Pull current prices, listings, news, or any webpage content in real-time |
| 🛡️ Bypass Anti-Bot Systems | Automatically handle CAPTCHAs, proxies, JavaScript rendering, and rate limits |
| ⚡ Extract Structured Data | Parse complex websites into clean JSON using AI-powered extraction |
| 📸 Capture Screenshots | Take visual snapshots of pages or specific elements for analysis |
Built on battle-tested infrastructure used by thousands of developers:
📖 Learn more: Why Scrapfly MCP?
Click one of the buttons below to install the MCP server in your preferred IDE:
Works with most MCP-compatible tools:
{
"servers": {
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp"
}
}
}For tools that require a local process:
{
"mcpServers": {
"scrapfly": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.scrapfly.io/mcp"
]
}
}
}<details> <summary><strong>VS Code</strong></summary>
Follow the VS Code MCP guide or use the CLI:
code --add-mcp '{"name":"scrapfly-cloud-mcp","type":"http","url":"https://mcp.scrapfly.io/mcp"}'After installation, Scrapfly tools will be available in GitHub Copilot Chat.
📖 Full guide: VS Code Integration
</details>
<details> <summary><strong>VS Code Insiders</strong></summary>
code-insiders --add-mcp '{"name":"scrapfly-cloud-mcp","type":"http","url":"https://mcp.scrapfly.io/mcp"}'📖 Full guide: VS Code Integration
</details>
<details> <summary><strong>Visual Studio</strong></summary>
scrapfly-cloud-mcphttp/ssehttps://mcp.scrapfly.io/mcp📖 Full guide: Visual Studio MCP documentation
</details>
<details> <summary><strong>Cursor</strong></summary>
Cursor Settings → MCP → Add new MCP Server📖 Full guide: Cursor Integration
</details>
<details> <summary><strong>Claude Code</strong></summary>
Use the Claude Code CLI:
claude mcp add scrapfly-cloud-mcp --url https://mcp.scrapfly.io/mcp📖 Full guide: Claude Code Integration
</details>
<details> <summary><strong>Claude Desktop</strong></summary>
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"scrapfly": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.scrapfly.io/mcp"]
}
}
}📖 Full guide: Claude Desktop Integration
</details>
<details> <summary><strong>Cline</strong></summary>
Add to your Cline MCP settings:
{
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp"
}
}📖 Full guide: Cline Integration
</details>
<details> <summary><strong>Windsurf</strong></summary>
Follow the Windsurf MCP documentation using the standard configuration.
📖 Full guide: Windsurf Integration
</details>
<details> <summary><strong>Zed</strong></summary>
Add to your Zed settings:
{
"context_servers": {
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp"
}
}
}📖 Full guide: Zed Integration
</details>
<details> <summary><strong>OpenAI Codex</strong></summary>
Create or edit ~/.codex/config.toml:
[mcp_servers.scrapfly-cloud-mcp]
url = "https://mcp.scrapfly.io/mcp"📖 More info: Codex MCP documentation
</details>
<details> <summary><strong>Gemini CLI</strong></summary>
Follow the Gemini CLI MCP guide using the standard configuration. </details>
<details> <summary><strong>OpenCode</strong></summary>
Add to ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp",
"enabled": true
}
}
}📖 More info: OpenCode MCP documentation
</details>
The Scrapfly MCP Server provides 5 powerful tools covering 99% of web scraping use cases:
| Tool | Description | Use Case |
|---|---|---|
scraping_instruction_enhanced | Cheat-sheet of the scraping options | Optional — when the right options are unclear |
web_get_page | Quick page fetch with smart defaults | Simple scraping tasks |
web_scrape | Full control with browser automation | Complex scraping, login flows |
screenshot | Capture page screenshots | Visual analysis, monitoring |
info_account | Check usage & quota | Account management |
📖 Full reference: Tools & API Specification
web_scrape and web_get_page take a proxy_pool, which sets both the proxies and the Unblocker (anti-bot bypass):
proxy_pool | What it runs |
|---|---|
basic | datacenter proxies, Unblocker off |
unblocker | residential proxies, Unblocker on |
unblocker_ultra | residential proxies, Unblocker on, the only pool accepted by targets and anti-bot protections that have a price of their own |
auto | the API picks the pool before the request, from the target's profile: the Unblocker on datacenter proxies, or the pool the target needs; priced as the pool it runs on |
Pick the pool a site needs: basic where datacenter proxies get through, unblocker or unblocker_ultra where it needs residential proxies and the Unblocker, auto to let the API pick. A target or an anti-bot protection with a price of its own refuses basic and unblocker with ERR::PROXY::UNBLOCKER_ULTRA_REQUIRED (HTTP 422, not billed): resend with proxy_pool=unblocker_ultra, or with proxy_pool=auto, which is accepted on every target, the ones that require unblocker_ultra included, where their price is added. public_tor_pool runs on the Tor network (.onion).
#### Deprecated: unblocker and asp
The unblocker input of web_scrape and its former name asp are deprecated: use proxy_pool (unblocker_ultra for the Unblocker). The migration guide covers requests written before the proxy pools, the pool names public_datacenter_pool and public_residential_pool included. Without a proxy_pool, the server sends the API no pool and, by default, asp=true, a request the guide covers as well.
User: "What are the top posts on Hacker News right now?"
AI: Uses web_get_page to fetch https://news.ycombinator.com and returns current top storiesUser: "Get all product prices from this Amazon page"
AI: Uses web_scrape with extraction_model="product_listing" to return structured JSON📖 More examples: Real-World Examples
Scrapfly MCP supports multiple authentication methods:
| Method | Best For | Documentation |
|---|---|---|
| OAuth2 | Production, multi-user apps | OAuth2 Setup |
| API Key | Personal use, development | API Key Setup |
| Header Auth | Custom integrations | Header Auth |
🔑 Get your API key: Scrapfly Dashboard
| Setting | Value |
|---|---|
| Server Name | scrapfly-cloud-mcp |
| Type | Remote HTTP Server |
| URL | https://mcp.scrapfly.io/mcp |
| Protocol | MCP over HTTP/SSE |
You can run the Scrapfly MCP server locally or self-host it.
| Flag | Description |
|---|---|
-http <address> | Start HTTP server at the specified address (e.g., :8080). Takes precedence over PORT env var. In server-key mode this binds loopback (127.0.0.1) unless you also pass -allow-remote. |
-apikey <key> | Use this API key instead of the SCRAPFLY_API_KEY environment variable. |
-allow-remote | Server-key HTTP mode only: permit binding a non-loopback interface. That mode performs no per-caller authentication — every request uses the baked-in key — so only enable this behind your own auth proxy. |
-verify-ssl | Verify TLS certificates on outbound calls (default true). Set false only when targeting a host that serves a self-signed certificate. |
| Variable | Description |
|---|---|
PORT | HTTP port to listen on. Used if -http flag is not set. |
SCRAPFLY_API_KEY | Scrapfly API key baked into the server. When set, the server uses it for every request (server-key mode) and does not read a per-request key. |
SCRAPFLY_ALLOW_REMOTE | 1/true is the env equivalent of -allow-remote. |
SCRAPFLY_VERIFY_SSL | 0/false is the env equivalent of -verify-ssl=false. |
Per-request key: start the server without a baked-in key (-http only) and each caller supplies their own key per request — as Authorization: Bearer <key>, or ?key=<key> / ?apiKey=<key>. This path is authenticated; the server-key path above is not, which is why it stays on loopback by default.
# Start HTTP server on port 8080
./scrapfly-mcp -http :8080
# Start HTTP server using PORT env var
PORT=8080 ./scrapfly-mcp
# Start with an API key. Prefer the environment variable: a key passed as a
# flag lands in your shell history and in the process list.
# Server-key mode has no per-caller auth, so it binds 127.0.0.1 here.
SCRAPFLY_API_KEY=... ./scrapfly-mcp -http :8080
# Same, but expose it on all interfaces — only behind your own auth proxy.
SCRAPFLY_API_KEY=... ./scrapfly-mcp -http 0.0.0.0:8080 -allow-remote
# Start in stdio mode (for local MCP clients)
./scrapfly-mcp# Build
docker build -t scrapfly-mcp .
# Run (Smithery compatible - uses PORT env var)
docker run -p 8080:8080 scrapfly-mcp
# Run with custom port
docker run -e PORT=9000 -p 9000:9000 scrapfly-mcpScrapfly MCP also works with AI frameworks and automation tools:
| Framework | Documentation |
|---|---|
| LangChain | LangChain Integration |
| LlamaIndex | LlamaIndex Integration |
| CrewAI | CrewAI Integration |
| OpenAI | OpenAI Integration |
| n8n | n8n Integration |
| Make | Make Integration |
| Zapier | Zapier Integration |
📖 All integrations: Integration Index
<p align="center"> <a href="https://scrapfly.io"> <img src="https://avatars.githubusercontent.com/u/54183743?s=400&u=5279c1aaea18805aa5cc4fec1053ac2a2cfaac5d&v=4" alt="Scrapfly" width="50"/> </a> <br/> <strong>Made with ❤️ by <a href="https://scrapfly.io">Scrapfly</a></strong> <br/> <sub>The Web Scraping API for Developers</sub> </p>
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.