Scrappey MCP Server
The Scrappey MCP Server provides browser-backed web automation and data extraction, enabling AI models to interact with websites, bypass bot-protection systems, and perform complex browser actions.
Session Management
Create persistent browser sessions maintaining cookies and localStorage
Destroy, list, and check status of active sessions
HTTP Requests
Send browser-backed GET, POST, PUT, DELETE, and PATCH requests
Automatically handle JavaScript challenge pages from Cloudflare, Datadome, Kasada, PerimeterX, Akamai, and Incapsula
Use custom headers, cookies, and proxy configurations
Intercept/block network requests and unwanted domains
Extract content via CSS selectors
Browser Automation
Click, type, hover, scroll, navigate, and press keyboard keys
Wait for selectors, load states, functions, or cookies
Execute arbitrary JavaScript
Select dropdowns, switch iframes, set viewport size
Use conditional (
if) and loop (while) action flowsSimulate human-like mouse movements
Captcha & Challenge Solving
Automatically solve Cloudflare Turnstile, reCAPTCHA (v2/v3), hCaptcha, FunCaptcha/Arkose Labs, PerimeterX, MTCaptcha, and custom image captchas
Enable per-request bypass modes (e.g.,
cloudflareBypass,datadomeBypass,kasadaBypass)
Screenshots & Media
Take full-page or viewport screenshots
Record browser sessions as video
Generate PDFs of pages
Proxy Support
Use custom HTTP proxies, premium residential proxies, mobile carrier proxies, or country-specific proxies
Data Extraction & Customization
Extract inner text, links, and image URLs
Set custom user agents, headers, cookies, and browser locales
Automatically remove cookie banners and iframes
Track redirects and configure retry logic and timeouts
Click on "Install 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., "@Scrappey MCP Servercreate a session and scrape product prices from amazon.com"
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.
Scrappey MCP Server
A Model Context Protocol (MCP) server for interacting with Scrappey.com's browser-backed web automation and data-extraction capabilities. Try it out directly at smithery.ai/server/@pim97/mcp-server-scrappey.
Overview
This MCP server provides a bridge between AI models and Scrappey's web automation platform, allowing you to:
Create and manage browser sessions
Send HTTP requests through Scrappey's browser-backed infrastructure
Execute browser actions (clicking, typing, scrolling, etc.)
Render pages that rely on JavaScript challenge pages from common bot-management systems (Cloudflare, Datadome, Kasada, etc.)
Complete interactive challenge widgets when a page requires them (Turnstile, reCAPTCHA, hCaptcha, etc.)
Take screenshots and record videos
Intercept network requests
This server is intended for legitimate development use — application and integration testing, monitoring your own services, and collecting data you are authorized to access. See Responsible Use.
Related MCP server: MCP Operator
Setup
Installation
npm install
npm run buildConfiguration
Get your Scrappey API key from Scrappey.com
Set up your environment variable:
SCRAPPEY_API_KEY=your_api_key_hereClaude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"scrappey": {
"command": "node",
"args": ["path/to/dist/scrappey-mcp.js"],
"env": {
"SCRAPPEY_API_KEY": "your_api_key_here"
}
}
}
}Cursor IDE Configuration
Cursor supports MCP servers through its settings. Configure it in one of these ways:
Option 1: Via Cursor Settings UI
Open Cursor Settings (Ctrl+, or Cmd+,)
Search for "MCP" or "Model Context Protocol"
Add a new MCP server with:
Name:
scrappeyCommand:
nodeArgs:
["C:\\Users\\pim_d\\Desktop\\scrappey.com\\mcp-smith\\mcp-server-scrappey\\dist\\scrappey-mcp.js"]Environment Variables: Add
SCRAPPEY_API_KEYwith your API key
Option 2: Via Settings JSON
Open Cursor Settings (Ctrl+Shift+P or Cmd+Shift+P)
Type "Preferences: Open User Settings (JSON)"
Add the MCP server configuration:
{
"mcp.servers": {
"scrappey": {
"command": "node",
"args": ["C:\\Users\\pim_d\\Desktop\\scrappey.com\\mcp-smith\\mcp-server-scrappey\\dist\\scrappey-mcp.js"],
"env": {
"SCRAPPEY_API_KEY": "your_api_key_here"
}
}
}
}Note: Adjust the path to dist/scrappey-mcp.js based on where you installed the MCP server.
After configuration, restart Cursor to load the MCP server. You should see Scrappey tools available in the AI chat interface.
Available Tools
1. Create Session (scrappey_create_session)
Creates a new browser session that persists cookies and other state.
{
"proxy": "http://user:pass@ip:port",
"proxyCountry": "UnitedStates",
"premiumProxy": true,
"mobileProxy": false,
"browser": [{"name": "firefox", "minVersion": 120, "maxVersion": 130}],
"userAgent": "custom-user-agent"
}2. Destroy Session (scrappey_destroy_session)
Properly closes a browser session to free resources.
{
"session": "session_id_here"
}3. List Sessions (scrappey_list_sessions)
List all active sessions for the current user.
{}Response:
{
"sessions": [{"session": "abc123", "lastAccessed": 1234567890}],
"open": 1,
"limit": 100
}4. Check Session Active (scrappey_session_active)
Check if a specific session is currently active.
{
"session": "session_id_here"
}5. Send Request (scrappey_request)
Send browser-backed HTTP requests, with automatic handling of JavaScript challenge pages.
{
"cmd": "request.get",
"url": "https://example.com",
"session": "session_id_here",
"postData": {"key": "value"},
"customHeaders": {"User-Agent": "custom-agent"},
"cookies": "session=abc123",
"proxyCountry": "Germany",
"premiumProxy": true,
"cloudflareBypass": true,
"datadomeBypass": true,
"automaticallySolveCaptchas": true,
"alwaysLoad": ["recaptcha", "hcaptcha"],
"screenshot": true,
"cssSelector": ".product-title",
"innerText": true,
"includeLinks": true,
"includeImages": true,
"interceptFetchRequest": "https://api.example.com/data",
"abortOnDetection": ["analytics.com", "tracking.js"],
"whitelistedDomains": ["example.com"],
"blockCookieBanners": true
}6. Browser Actions (scrappey_browser_action)
Execute browser automation actions.
{
"session": "session_id_here",
"url": "https://example.com",
"cmd": "request.get",
"browserActions": [
{"type": "wait_for_selector", "cssSelector": "#login-form"},
{"type": "type", "cssSelector": "#username", "text": "myuser"},
{"type": "type", "cssSelector": "#password", "text": "mypassword"},
{"type": "solve_captcha", "captcha": "turnstile"},
{"type": "click", "cssSelector": "#submit", "waitForSelector": ".dashboard"},
{"type": "execute_js", "code": "document.querySelector('.user-data').innerText"}
],
"mouseMovements": true
}Supported Browser Action Types:
Action | Description |
| Click on an element |
| Type text into an input field |
| Navigate to a URL |
| Wait for specified milliseconds |
| Wait for an element to appear |
| Wait for JavaScript condition to be true |
| Wait for page load state (domcontentloaded, networkidle, load) |
| Wait for a cookie to be set |
| Execute JavaScript code |
| Scroll to element or page bottom |
| Hover over an element |
| Press keyboard keys (enter, tab, etc.) |
| Select option from dropdown |
| Switch to an iframe |
| Change browser viewport size |
| Conditional action execution |
| Loop actions while condition is true |
| Solve various captcha types |
| Remove all iframes from page |
Supported Interactive Challenge Types:
turnstile- Cloudflare Turnstilerecaptcha/recaptchav2/recaptchav3- Google reCAPTCHAhcaptcha/hcaptcha_inside/hcaptcha_enterprise_inside- hCaptchafuncaptcha- FunCaptcha/Arkose Labsperimeterx- PerimeterXmtcaptcha- MTCaptchacustom- Custom image captcha
7. Screenshot (scrappey_screenshot)
Take a screenshot of a webpage.
{
"url": "https://example.com",
"session": "optional_session_id",
"screenshotWidth": 1920,
"screenshotHeight": 1080,
"fullPage": true,
"browserActions": [
{"type": "wait", "wait": 2000}
],
"premiumProxy": true
}Challenge-Page Handling
Many sites serve JavaScript challenge pages before returning content. Scrappey renders these in a real browser so your automated requests receive the final page. The server is compatible with challenge pages from common bot-management systems:
Cloudflare - Bot Management, Turnstile, Challenge pages
Datadome
PerimeterX
Kasada
Akamai - Bot Manager
Incapsula - Imperva
Enable handling for a specific system per request:
{
"cloudflareBypass": true,
"datadomeBypass": true,
"kasadaBypass": true
}The option keys above (
cloudflareBypass, etc.) are Scrappey API field names and are kept as-is for compatibility.
Proxy Options
{
"proxy": "http://user:pass@ip:port",
"proxyCountry": "UnitedStates",
"premiumProxy": true,
"mobileProxy": true,
"noProxy": false
}Supported Countries: UnitedStates, UnitedKingdom, Germany, France, and many more.
Error Codes
The server provides detailed error information:
Code | Description |
CODE-0001 | Server capacity full, try again |
CODE-0002 | Cloudflare blocked |
CODE-0007 | Turnstile/Proxy error |
CODE-0010 | Datadome proxy blocked |
CODE-0024 | Proxy timeout |
CODE-0029 | Too many sessions open |
CODE-0032 | Turnstile captcha failed |
Typical Workflow
Create a session:
{"name": "scrappey_create_session"}Navigate and interact:
{
"name": "scrappey_browser_action",
"session": "returned_session_id",
"url": "https://example.com/login",
"cmd": "request.get",
"browserActions": [
{"type": "type", "cssSelector": "#username", "text": "myuser"},
{"type": "type", "cssSelector": "#password", "text": "mypass"},
{"type": "click", "cssSelector": "#login-btn", "waitForSelector": ".dashboard"}
]
}Extract data:
{
"name": "scrappey_request",
"cmd": "request.get",
"url": "https://example.com/data",
"session": "returned_session_id",
"cssSelector": ".product-list"
}Clean up:
{
"name": "scrappey_destroy_session",
"session": "returned_session_id"
}Best Practices
Reuse sessions for related requests to maintain state
Destroy sessions when done to free resources
Use premium proxies for more reliable connections
Enable automatic challenge handling for sites that serve challenge pages
Use appropriate wait times between actions so pages have time to load
Monitor session limits to avoid hitting limits
Responsible Use
This server is a development tool for browser-based automation and data extraction. Use it only for lawful, authorized purposes, such as:
Testing and monitoring applications and integrations you own or operate
Collecting data you are permitted to access
When accessing third-party sites, follow each site's terms of service, robots directives, and rate limits, respect personal data and copyright, and comply with all applicable laws. You are responsible for how you use this server and your Scrappey account.
Deployment
Smithery Deployment
# Build
npm run build
# Deploy via Smithery CLI
npx @anthropic/smithery-cli deployDocker
docker build -t scrappey-mcp .
docker run -e SCRAPPEY_API_KEY=your_key scrappey-mcpResources
License
MIT License
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pim97/mcp-server-scrappey'
If you have feedback or need assistance with the MCP directory API, please join our Discord server