关于 Scrapingdog
Scrapingdog 是面向需要实时网络与搜索数据的 AI 助手的托管 MCP 服务。它提供由 Scrapingdog API 支持的 35 种工具,使用 API 密钥认证,客户端无需安装。
主要功能
- 0135 种实时网络数据工具
- 02Google 搜索、地图、新闻和购物
- 03Amazon、LinkedIn、YouTube、X、Walmart 和 eBay
- 04网页截图与通用抓取
- 05无状态请求与单次请求密钥
适用场景
- 01获取最新 Google 搜索结果
- 02收集商品与市场数据
- 03查询社交平台信息
- 04截取网页或抓取页面内容
MCP 相关
提供托管 MCP 端点 https://mcp.scrapingdog.com/mcp。MCP 客户端可通过 bearer API 密钥调用由 Scrapingdog API 支持的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y scrapingdog-mcpSCRAPINGDOG_API_KEY密钥Your Scrapingdog API key (from https://www.scrapingdog.com/ dashboard).SCRAPINGDOG_API_BASEOverride the Scrapingdog API base URL.SCRAPINGDOG_TIMEOUT_MSPer-request timeout in milliseconds.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
35收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 要抓取页面的绝对 URL。 |
| wait | number | 否 | 页面加载后、捕获页面前等待的毫秒数(仅在 dynamic=true 时生效)。 |
| country | string | 否 | 用于代理地理位置的双字母 ISO 国家/地区代码(需要 premium)。(API 默认值:us) |
| dynamic | boolean | 否 | 设为 true 可使用无头浏览器渲染 JavaScript。会消耗更多额度。(API 默认值:false) |
| premium | boolean | 否 | 设为 true 可针对难以抓取的网站使用高级(住宅)代理。(API 默认值:false) |
| ai_query | string | 否 | 通过 AI 从页面提取特定数据的自然语言指令。 |
| markdown | boolean | 否 | 将页面内容转换为简洁的 Markdown 后返回,而非原始 HTML。(API 默认值:false) |
| session_number | number | 否 | 传入稳定整数,以便在多个请求间复用同一代理 IP。 |
| ai_extract_rules | string | 否 | 用于结构化 AI 提取的字段->指令规则 JSON 字符串。 |
详细介绍
Scrapingdog MCP Server
面向 Scrapingdog API 的 Model Context Protocol 服务,托管于 https://mcp.scrapingdog.com/mcp。
它为 AI 助手提供 35 个用于获取实时网络数据的工具——Google SERP、Maps、News、Shopping、Lens、Amazon、LinkedIn、YouTube、X、Walmart、eBay、截图和通用抓取工具——每个工具都由相应的 Scrapingdog 端点提供支持。
无需安装任何内容。将客户端指向此 URL,并发送你自己的 API 密钥。
连接
从 Scrapingdog 控制面板获取 API 密钥,然后:
Claude Code
claude mcp add --transport http scrapingdog https://mcp.scrapingdog.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Cursor / Windsurf / 任何使用 mcp.json 的客户端
{
"mcpServers": {
"scrapingdog": {
"url": "https://mcp.scrapingdog.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
claude.ai — 设置 → 连接器 → 添加自定义连接器,URL
https://mcp.scrapingdog.com/mcp,身份验证选择“API 密钥”,然后粘贴你的密钥。
手动检查
curl -s https://mcp.scrapingdog.com/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
调用费用计入你发送的密钥,积分成本与 REST API 相同。工具的说明中会标明其费用。
工作原理
MCP client ──Authorization: Bearer <key>──> mcp.scrapingdog.com ──api_key=<key>──> api.scrapingdog.com
此服务是无状态的:每个请求都会使用该请求中的密钥构建自己的 MCP 服务和传输,并在响应时将其销毁。一个进程可以为许多客户提供服务,无需会话映射,因此密钥不会在其所属请求结束后继续保留,也不会泄露到其他调用方的会话中。npm run smoke 会对此进行断言,此外还会检查其他内容。
密钥会通过 Scrapingdog 自己的 /account 端点进行验证(该端点可解析用户密钥和团队成员密钥,且不消耗积分),验证结果会短暂缓存。如果无法访问该验证端点,请求仍会继续处理,因为 API 本身仍会在每次工具调用时验证密钥——验证器发生故障不能导致整个 MCP 服务不可用。此服务的任何地方都不需要数据库凭据。
目录结构
| 路径 | 说明 |
|---|---|
src/endpoints.ts | 声明全部 35 个端点。添加 API 时,只需在此处追加一个对象,无需编写处理程序代码。 |
src/server.ts | 构建 MCP 服务,并根据注册表为每个工具生成架构 |
src/client.ts | 用于访问 api.scrapingdog.com 的 HTTP 客户端 |
src/auth.ts | API 密钥验证与缓存 |
src/http.ts | 托管入口(Streamable HTTP) |
src/index.ts | 仅用于本地开发的 stdio 入口 |
deploy/nginx/ | mcp.scrapingdog.com 虚拟主机 |
ecosystem.config.cjs | pm2 应用定义 |
scripts/smoke.mjs | 使用模拟 API 进行部署前检查 |
本地开发
npm ci
npm run build
npm run smoke # stubs the API: no key needed, no credits spent
npm run dev # the HTTP server on http://127.0.0.1:8731/mcp
SCRAPINGDOG_API_KEY=... npm run dev:stdio # stdio, for poking at one tool
交互式检查:
npx @modelcontextprotocol/inspector
# transport: Streamable HTTP, url: http://127.0.0.1:8731/mcp,
# header: Authorization: Bearer <your key>
设置位于 .env.example 中。
部署
此服务运行在独立的服务器上,与 API 服务器分开,因此这里出现问题不会影响 api.scrapingdog.com。
首次在全新的 Ubuntu 服务器上部署:
git clone https://github.com/Darshan972/Scrapingdog-mcp.git ~/Scrapingdog-mcp
cd ~/Scrapingdog-mcp && bash deploy/setup-server.sh
此操作会安装 Node(使用 .nvmrc 中的版本)、pm2、nginx 和虚拟主机,构建并启动应用、开放防火墙并签发 TLS 证书——如果 DNS 尚未指向此处,则会跳过证书签发并清楚说明原因。可以安全地重复运行。
之后,每次推送到 main 时,都会先进行类型检查、构建并运行烟雾测试套件,然后才通过 pm2 reload 部署(.github/workflows/deploy.yml)。需要设置三个仓库机密:MCP_SERVER_HOST、MCP_SERVER_USER、MCP_SSH_PRIVATE_KEY。
部署健康检查要求 /healthz 返回 200,且未经过身份验证的 POST /mcp 返回 401,这样如果部署意外开放了网关,就会失败,而不会显示为成功。
应用绑定到 127.0.0.1,因此只有 nginx 可以访问。不要在公共主机上更改此设置:密钥检查在此进程中进行,因此暴露端口就会成为通向 API 的开放代理。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。