# Scrapfly MCP Server
Give your AI real-time access to any website
🌐 Landing Page •
📖 Documentation •
🎮 Live Demo •
🔑 Get API Key
---
## What is Scrapfly MCP?
The **Scrapfly MCP Server** connects your AI assistants to live web data through the [Model Context Protocol](https://modelcontextprotocol.io). Transform your AI from being limited by training data to having real-time access to **any website**.
### ✨ What Your AI Can Do
| 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](https://scrapfly.io/docs/scrape-api/extraction) |
| 📸 **Capture Screenshots** | Take visual snapshots of pages or specific elements for analysis |
### 🏆 Why Scrapfly?
Built on **battle-tested infrastructure** used by thousands of developers:
- **99.9% Uptime** — Enterprise-grade reliability
- **100+ Countries** — [Global proxy network](https://scrapfly.io/docs/scrape-api/proxy) with datacenter & residential IPs, in three proxy pools (Basic, Unblocker, Unblocker Ultra) or Auto, where the API picks the pool
- **Anti-Bot Bypass** — [Advanced Unblocker technology](https://scrapfly.io/docs/scrape-api/anti-scraping-protection) defeats modern protections
- **OAuth2 Security** — [Enterprise authentication](https://scrapfly.io/docs/mcp/authentication) for production deployments
> 📖 **Learn more**: [Why Scrapfly MCP?](https://scrapfly.io/docs/mcp/getting-started#why-scrapfly-mcp)
---
## 🚀 Quick Install
Click one of the buttons below to install the MCP server in your preferred IDE:
[](https://vscode.dev/redirect/mcp/install?name=scrapfly-cloud-mcp&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.scrapfly.io%2Fmcp%22%7D)
[](https://insiders.vscode.dev/redirect/mcp/install?name=scrapfly-cloud-mcp&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.scrapfly.io%2Fmcp%22%7D&quality=insiders)
[](https://vs-open.link/mcp-install?%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.scrapfly.io%2Fmcp%22%7D)
[](https://cursor.com/en/install-mcp?name=scrapfly-cloud-mcp&config=eyJuYW1lIjoic2NyYXBmbHktY2xvdWQtbWNwIiwidHlwZSI6Imh0dHAiLCJ1cmwiOiJodHRwczovL21jcC5zY3JhcGZseS5pby9tY3AifQ==)
---
## 📦 Manual Installation
### Standard Configuration
Works with most MCP-compatible tools:
```json
{
"servers": {
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp"
}
}
}
```
### Cloud Configuration (NPX)
For tools that require a local process:
```json
{
"mcpServers": {
"scrapfly": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.scrapfly.io/mcp"
]
}
}
}
```
---
## 🔧 IDE-Specific Setup
VS Code
### One-Click Install
[](https://vscode.dev/redirect/mcp/install?name=scrapfly-cloud-mcp&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.scrapfly.io%2Fmcp%22%7D)
### Manual Install
Follow the [VS Code MCP guide](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server) or use the CLI:
```bash
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](https://scrapfly.io/docs/mcp/integrations/vscode)
VS Code Insiders
### One-Click Install
[](https://insiders.vscode.dev/redirect/mcp/install?name=scrapfly-cloud-mcp&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.scrapfly.io%2Fmcp%22%7D&quality=insiders)
### Manual Install
```bash
code-insiders --add-mcp '{"name":"scrapfly-cloud-mcp","type":"http","url":"https://mcp.scrapfly.io/mcp"}'
```
> 📖 **Full guide**: [VS Code Integration](https://scrapfly.io/docs/mcp/integrations/vscode)
Visual Studio
### One-Click Install
[](https://vs-open.link/mcp-install?%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.scrapfly.io%2Fmcp%22%7D)
### Manual Install
1. Open Visual Studio
2. Navigate to **GitHub Copilot Chat** window
3. Click the tools icon (🛠️) in the chat toolbar
4. Click **+ Add Server** to open the configuration dialog
5. Configure:
- **Server ID**: `scrapfly-cloud-mcp`
- **Type**: `http/sse`
- **URL**: `https://mcp.scrapfly.io/mcp`
6. Click **Save**
> 📖 **Full guide**: [Visual Studio MCP documentation](https://learn.microsoft.com/visualstudio/ide/mcp-servers)
Cursor
### One-Click Install
[](https://cursor.com/en/install-mcp?name=scrapfly-cloud-mcp&config=eyJuYW1lIjoic2NyYXBmbHktY2xvdWQtbWNwIiwidHlwZSI6Imh0dHAiLCJ1cmwiOiJodHRwczovL21jcC5zY3JhcGZseS5pby9tY3AifQ==)
### Manual Install
1. Go to `Cursor Settings` → `MCP` → `Add new MCP Server`
2. Use the standard configuration above
3. Click **Edit** to verify or add arguments
> 📖 **Full guide**: [Cursor Integration](https://scrapfly.io/docs/mcp/integrations/cursor)
Claude Code
Use the Claude Code CLI:
```bash
claude mcp add scrapfly-cloud-mcp --url https://mcp.scrapfly.io/mcp
```
> 📖 **Full guide**: [Claude Code Integration](https://scrapfly.io/docs/mcp/integrations/claude-code)
Claude Desktop
Add to your Claude Desktop configuration file:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"scrapfly": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.scrapfly.io/mcp"]
}
}
}
```
> 📖 **Full guide**: [Claude Desktop Integration](https://scrapfly.io/docs/mcp/integrations/claude-desktop)
Cline
Add to your Cline MCP settings:
```json
{
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp"
}
}
```
> 📖 **Full guide**: [Cline Integration](https://scrapfly.io/docs/mcp/integrations/cline)
Windsurf
Follow the [Windsurf MCP documentation](https://docs.windsurf.com/windsurf/cascade/mcp) using the standard configuration.
> 📖 **Full guide**: [Windsurf Integration](https://scrapfly.io/docs/mcp/integrations/windsurf)
Zed
Add to your Zed settings:
```json
{
"context_servers": {
"scrapfly-cloud-mcp": {
"type": "http",
"url": "https://mcp.scrapfly.io/mcp"
}
}
}
```
> 📖 **Full guide**: [Zed Integration](https://scrapfly.io/docs/mcp/integrations/zed)
OpenAI Codex
Create or edit `~/.codex/config.toml`:
```toml
[mcp_servers.scrapfly-cloud-mcp]
url = "https://mcp.scrapfly.io/mcp"
```
> 📖 **More info**: [Codex MCP documentation](https://github.com/openai/codex/blob/main/codex-rs/config.md#mcp_servers)
Gemini CLI
Follow the [Gemini CLI MCP guide](https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md) using the standard configuration.
OpenCode
Add to `~/.config/opencode/opencode.json`:
```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](https://opencode.ai/docs/mcp-servers/)
---
## 🛠️ Available Tools
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](https://scrapfly.io/docs/mcp/tools)
### Proxy pools
`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](https://scrapfly.io/new-pricing#legacy-spellings) 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.
### Example: Scrape a Page
```
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 stories
```
### Example: Extract Structured Data
```
User: "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](https://scrapfly.io/docs/mcp/examples)
---
## 🔐 Authentication
Scrapfly MCP supports multiple authentication methods:
| Method | Best For | Documentation |
|--------|----------|---------------|
| **OAuth2** | Production, multi-user apps | [OAuth2 Setup](https://scrapfly.io/docs/mcp/authentication#oauth2) |
| **API Key** | Personal use, development | [API Key Setup](https://scrapfly.io/docs/mcp/authentication#api-key) |
| **Header Auth** | Custom integrations | [Header Auth](https://scrapfly.io/docs/mcp/authentication#header) |
> 🔑 **Get your API key**: [Scrapfly Dashboard](https://scrapfly.io/dashboard)
---
## 📊 Configuration Reference
| Setting | Value |
|---------|-------|
| **Server Name** | `scrapfly-cloud-mcp` |
| **Type** | Remote HTTP Server |
| **URL** | `https://mcp.scrapfly.io/mcp` |
| **Protocol** | MCP over HTTP/SSE |
---
## 🖥️ Self-Hosted / Local Deployment
You can run the Scrapfly MCP server locally or self-host it.
### CLI Arguments
| Flag | Description |
|------|-------------|
| `-http ` | 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 ` | 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. |
### Environment Variables
| 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 `,
or `?key=` / `?apiKey=`. This path is authenticated; the server-key
path above is not, which is why it stays on loopback by default.
### Examples
```bash
# 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
```
### Docker
```bash
# 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-mcp
```
---
## 🤝 Framework Integrations
Scrapfly MCP also works with AI frameworks and automation tools:
| Framework | Documentation |
|-----------|---------------|
| **LangChain** | [LangChain Integration](https://scrapfly.io/docs/mcp/integrations/langchain) |
| **LlamaIndex** | [LlamaIndex Integration](https://scrapfly.io/docs/mcp/integrations/llamaindex) |
| **CrewAI** | [CrewAI Integration](https://scrapfly.io/docs/mcp/integrations/crewai) |
| **OpenAI** | [OpenAI Integration](https://scrapfly.io/docs/mcp/integrations/openai) |
| **n8n** | [n8n Integration](https://scrapfly.io/docs/mcp/integrations/n8n) |
| **Make** | [Make Integration](https://scrapfly.io/docs/mcp/integrations/make) |
| **Zapier** | [Zapier Integration](https://scrapfly.io/docs/mcp/integrations/zapier) |
> 📖 **All integrations**: [Integration Index](https://scrapfly.io/docs/mcp/integrations)
---
## 📚 Resources
- 🌐 [MCP Cloud Landing Page](https://scrapfly.io/mcp-cloud) — Product overview & features
- 🎮 [Live n8n Demo](https://scrapfly.io/mcp-cloud/n8n) — Try it in your browser
- 📖 [Full Documentation](https://scrapfly.io/docs/mcp/getting-started)
- 🛠️ [Tools Reference](https://scrapfly.io/docs/mcp/tools)
- 💡 [Examples & Use Cases](https://scrapfly.io/docs/mcp/examples)
- ❓ [FAQ](https://scrapfly.io/docs/mcp/faq)
- 🔐 [Authentication Guide](https://scrapfly.io/docs/mcp/authentication)
---
## 💬 Need Help?
- 📖 [Scrapfly Documentation](https://scrapfly.io/docs)
- 📧 [Contact Support](https://scrapfly.io/docs/support)
- 🌐 [Model Context Protocol](https://modelcontextprotocol.io)
---
Made with ❤️ by Scrapfly
The Web Scraping API for Developers