ScrapingBee MCP Server
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., "@ScrapingBee MCP ServerScrape title and price from https://example.com/product"
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.
ScrapingBee MCP Server
A Model Context Protocol (MCP) server that provides web scraping capabilities using the ScrapingBee API. This server allows you to test and use ScrapingBee's extract rules feature to extract structured data from web pages.
Features
Test web scraping extract rules using CSS/XPath selectors
Support for JavaScript rendering
Premium and stealth proxy options
Custom wait conditions and browser events
Session management for consistent IP addresses
Full ScrapingBee API parameter support
Related MCP server: MCP Web Tools Server
Installation
Clone this repository:
git clone https://github.com/yourusername/scraping-bee-mcp.git
cd scraping-bee-mcpInstall dependencies:
npm installCreate a
.envfile with your ScrapingBee API key:
SCRAPINGBEE_API_KEY=your_api_key_hereUsage
With supermachine.ai
Simply provide the GitHub repository URL to supermachine.ai and it will automatically configure the MCP server.
With Claude Desktop
Add the following to your Claude Desktop MCP settings configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"scraping-bee": {
"command": "node",
"args": ["/path/to/scraping-bee-mcp/index.js"],
"env": {
"SCRAPINGBEE_API_KEY": "your_api_key_here"
}
}
}
}With ChatGPT (via supermachine.ai)
Go to supermachine.ai
Add this GitHub repository URL
The MCP server will be automatically configured
Available Tools
test_extract_rules
Test web scraping extract rules using the ScrapingBee API.
Parameters:
url(required): The target page URL to scrapeextract_rules(required): JSON-encoded string describing what to extract (CSS/XPath selectors, lists, attributes, tables, etc.)js_scenario(optional): JSON-encoded string of scripted actions (click/type/scroll/infinite-scroll/etc.) to run before extractionrender_js(optional): Enable a headless browser to execute JavaScript before extractionwait(optional): Fixed delay in milliseconds before returning the response (0-35000)wait_for(optional): CSS/XPath selector to wait for before returningwait_browser(optional): Browser event to wait for (domcontentloaded, load, networkidle0, networkidle2)premium_proxy(optional): Use residential proxy for scraper-resistant sitesstealth_proxy(optional): Use stealth proxy for the hardest-to-scrape sites (most expensive option)country_code(optional): Proxy geolocation (e.g., us, de, br)session_id(optional): Keep the same IP across multiple requests (sticky sessions)custom_google(optional): Enable Google-specific handling (always true for Google domains)
Example:
{
"url": "https://example.com",
"extract_rules": "{\"title\": \"h1\", \"price\": \".price\"}",
"render_js": true
}Extract Rules Format
Extract rules are defined as a JSON object where keys are the names of the data you want to extract and values are the selectors or extraction configurations.
Simple Extraction
{
"title": "h1",
"price": ".product-price",
"description": "#description"
}Advanced Extraction
{
"product_name": {
"selector": "h1.product-title",
"type": "text"
},
"all_images": {
"selector": "img.product-image",
"type": "list",
"output": "@src"
},
"table_data": {
"selector": "table.specs",
"type": "table"
}
}Development
Run the server locally (stdio mode):
npm startRun the HTTP/SSE server locally:
npm run start:httpRemote Hosting
The MCP server can be hosted remotely using the HTTP/SSE transport. The hosted version requires users to provide their own ScrapingBee API key with each request.
Railway (Recommended)
Install Railway CLI:
npm install -g @railway/cliLogin:
railway loginCreate project:
railway initDeploy:
railway upYour MCP server will be available at the Railway-provided URL
Render
Connect your GitHub repository to Render
Create a new Web Service
Select the repository
Render will automatically detect the
render.yamlconfigurationDeploy
Fly.io
Install Fly CLI:
curl -L https://fly.io/install.sh | shLogin:
fly auth loginLaunch:
fly launchDeploy:
fly deploy
Docker
Build and run locally:
docker build -t scraping-bee-mcp .
docker run -p 3000:3000 scraping-bee-mcpConnecting to Hosted Server
Once deployed, connect to your MCP server using the SSE endpoint:
SSE Endpoint:
https://your-server-url/sseMessage Endpoint:
https://your-server-url/messageHealth Check:
https://your-server-url/health
Note: The hosted version requires the api_key parameter in each tool call, allowing users to use their own ScrapingBee API keys.
Requirements
Node.js 18 or higher
ScrapingBee API key (get one at scrapingbee.com)
License
MIT
Support
For issues or questions:
ScrapingBee API documentation: https://www.scrapingbee.com/documentation/
MCP documentation: https://modelcontextprotocol.io/
This server cannot be installed
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/igormidev/scrapping_bee_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server