使用说明
报废MCP服务器
一个模型上下文协议(MCP)服务器,用于与Scrapey.com的浏览器支持的web自动化和数据提取功能进行交互。直接在以下网址试用 smithery.ai/server/@pim97/mcp服务器剪贴簿.
概述
此MCP服务器在AI模型和Scrapey的web自动化平台之间提供了一座桥梁,使您能够:
- 创建和管理浏览器会话
- 通过Scrapey的浏览器支持的基础架构发送HTTP请求
- 执行浏览器操作(单击、键入、滚动等)
- 渲染依赖于常见机器人管理系统(Cloudflare、Datadome、Kasada等)的JavaScript挑战页面的页面
- 当页面需要时,完成交互式挑战小部件(旋转栅门、reCAPTCHA、hCaptcha等)
- 截取屏幕截图并录制视频
- 拦截网络请求
此服务器用于合法的开发用途——应用程序和集成测试、监控您自己的服务以及收集您有权访问的数据。看 责任的使用.
设置
安装
npm install
npm run build
配置
- 从获取您的Scrapey API密钥 Scrapey.com
- 设置环境变量:
SCRAPPEY_API_KEY=your_api_key_here
Claude桌面配置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"scrappey": {
"command": "node",
"args": ["path/to/dist/scrappey-mcp.js"],
"env": {
"SCRAPPEY_API_KEY": "your_api_key_here"
}
}
}
}
光标IDE配置
Cursor通过其设置支持MCP服务器。通过以下方式之一进行配置:
选项1:通过光标设置UI
- 打开光标设置(Ctrl+或Cmd+)
- 搜索“MCP”或“模型上下文协议”
- 添加一个新的MCP服务器:
- 名称:
scrappey - 命令:
node - 参数:
["C:\\Users\\pim_d\\Desktop\\scrappey.com\\mcp-smith\\mcp-server-scrappey\\dist\\scrappey-mcp.js"] - 环境变量:添加
SCRAPPEY_API_KEY使用API密钥
- 名称:
选项2:通过设置JSON
- 打开光标设置(Ctrl+Shift+P或Cmd+Shift+P)
- 键入“首选项:打开用户设置(JSON)”
- 添加MCP服务器配置:
{
"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"
}
}
}
}
备注:将路径调整为 dist/scrappey-mcp.js 根据您安装MCP服务器的位置。
配置后,重新启动Cursor以加载MCP服务器。您应该在AI聊天界面中看到可用的Scrapey工具。
可用工具
1.创建会话(scrappey_create_session)
创建一个新的浏览器会话,以持久化Cookie和其他状态。
{
"proxy": "http://user:pass@ip:port",
"proxyCountry": "UnitedStates",
"premiumProxy": true,
"mobileProxy": false,
"browser": [{"name": "firefox", "minVersion": 120, "maxVersion": 130}],
"userAgent": "custom-user-agent"
}
2.销毁会话(scrappey_destroy_session)
正确关闭浏览器会话以释放资源。
{
"session": "session_id_here"
}
3.列出会话(scrappey_list_sessions)
列出当前用户的所有活动会话。
{}
答复:
{
"sessions": [{"session": "abc123", "lastAccessed": 1234567890}],
"open": 1,
"limit": 100
}
4.检查会话是否处于活动状态(scrappey_session_active)
检查特定会话当前是否处于活动状态。
{
"session": "session_id_here"
}
5.发送请求(scrappey_request)
发送浏览器支持的HTTP请求,并自动处理JavaScript挑战页面。
{
"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.浏览器操作(scrappey_browser_action)
执行浏览器自动化操作。
{
"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
}
支持的浏览器操作类型:
| 动作 | 描述 |
|---|---|
click |
点击一个元素 |
type |
在输入框中键入文本 |
goto |
导航到URL |
wait |
等待指定的毫秒 |
wait_for_selector |
等待元素出现 |
wait_for_function |
等待JavaScript条件为真 |
wait_for_load_state |
等待页面加载状态(domcontentloaded、networkidle、load) |
wait_for_cookie |
等待设置cookie |
execute_js |
执行JavaScript代码 |
scroll |
滚动到元素或页面底部 |
hover |
将鼠标悬停在元素上 |
keyboard |
按键盘键(enter、tab等) |
dropdown |
从下拉列表中选择选项 |
switch_iframe |
切换到iframe |
set_viewport |
更改浏览器视口大小 |
if |
有条件的行动执行 |
while |
条件为真时循环操作 |
solve_captcha |
解决各种验证码类型 |
remove_iframes |
从页面中删除所有iframe |
支持的交互式挑战类型:
turnstile-Cloudflare旋转栅门recaptcha/recaptchav2/recaptchav3-谷歌reCAPTCHAhcaptcha/hcaptcha_inside/hcaptcha_enterprise_inside-hcaptchafuncaptcha-funcaptcha/arkose实验室perimeterx-周长Xmtcaptcha-mtcaptchacustom-自定义图像验证码
7.屏幕截图(scrappey_screenshot)
对网页进行截图。
{
"url": "https://example.com",
"session": "optional_session_id",
"screenshotWidth": 1920,
"screenshotHeight": 1080,
"fullPage": true,
"browserActions": [
{"type": "wait", "wait": 2000}
],
"premiumProxy": true
}
挑战页面处理
许多网站在返回内容之前都会提供JavaScript挑战页面。Scrapey在真实的浏览器中呈现这些内容,以便您的自动请求收到最终页面。该服务器与常见机器人管理系统的挑战页面兼容:
- 云耀 -机器人管理、旋转栅门、挑战页面
- Datadome
- 周长X
- 卡萨达
- 阿卡迈 -机器人管理器
- Incapsula -Imperva
为每个请求启用特定系统的处理:
{
"cloudflareBypass": true,
"datadomeBypass": true,
"kasadaBypass": true
}
上面的选项键(
cloudflareBypass等)是Scrapey API字段名称,并且为了兼容性而保留为i。
代理选项
{
"proxy": "http://user:pass@ip:port",
"proxyCountry": "UnitedStates",
"premiumProxy": true,
"mobileProxy": true,
"noProxy": false
}
支持的国家: 美国、英国、德国、法国等等。
错误代码
服务器提供详细的错误信息:
| 代码 | 描述 |
|---|---|
| CODE-0001 | 服务器容量已满,请重试 |
| CODE-0002 | Cloudflare已被阻止 |
| 代码-0007 | 旋转栅门/代理错误 |
| CODE-0010 | Datadome代理被阻止 |
| CODE-0024 | 代理超时 |
| CODE-0029 | 打开的会话太多 |
| CODE-0032 | 旋转栅门验证码失败 |
典型工作流程
- 创建会话:
{"name": "scrappey_create_session"}
- 导航和交互:
{
"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"}
]
}
- 提取数据:
{
"name": "scrappey_request",
"cmd": "request.get",
"url": "https://example.com/data",
"session": "returned_session_id",
"cssSelector": ".product-list"
}
- 清理:
{
"name": "scrappey_destroy_session",
"session": "returned_session_id"
}
最佳实践
- 重复使用会话 用于维护状态的相关请求
- 销毁会话 当释放资源时
- 使用高级代理 实现更可靠的连接
- 启用自动挑战处理 适用于提供挑战页面的网站
- 使用适当的等待时间 在操作之间切换,以便页面有时间加载
- 监控会话限制 避免达到极限
责任的使用
此服务器是用于基于浏览器的自动化和数据提取的开发工具。仅将其用于合法、授权的目的,例如:
- 测试和监控您拥有或运营的应用程序和集成
- 收集您有权访问的数据
访问第三方网站时,请遵守每个网站的服务条款、机器人指令和费率限制,尊重个人数据和版权,并遵守所有适用法律。您对如何使用此服务器和您的Scrapey帐户负责。
部署
Smithery部署
# Build
npm run build
# Deploy via Smithery CLI
npx @anthropic/smithery-cli deploy
码头工人
docker build -t scrappey-mcp .
docker run -e SCRAPPEY_API_KEY=your_key scrappey-mcp
资源
许可证
MIT许可证