mcpField
S
scrapeunblocker-mcp

scrapeunblocker-mcp

本地服务
scrapeunblocker.com浏览器自动化23 天前更新

关于 scrapeunblocker-mcp

scrapeunblocker-mcp 将 ScrapeUnblocker 网页抓取 API 封装为 MCP 服务,供 Claude 等 MCP 客户端读取网页或调用站点插件。它支持浏览器交互、搜索结果和结构化 JSON 输出,需自备 API 密钥。

主要功能

  1. 01抓取完整网页 HTML
  2. 02将网页解析为结构化 JSON
  3. 03以 Markdown 提取页面正文
  4. 04通过真实浏览器执行页面操作
  5. 05调用 100 多种站点插件
  6. 06搜索 Google 并读取结果页面

适用场景

  1. 01获取网页内容用于分析
  2. 02操作页面搜索框并读取结果
  3. 03采集电商商品或评论数据
  4. 04比较搜索结果和多个网页信息

MCP 相关

该 MCP 服务向 MCP 客户端提供网页抓取、页面交互、Google 搜索及站点插件工具,并通过 ScrapeUnblocker API 执行请求。需要设置自己的 SCRAPEUNBLOCKER_KEY。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"com-scrapeunblocker-scrapeunblocker": {
"command": "npx",
"args": [
"-y",
"scrapeunblocker-mcp"
],
"env": {
"SCRAPEUNBLOCKER_KEY": "<SCRAPEUNBLOCKER_KEY>"
}
}
}
}
启动命令npx -y scrapeunblocker-mcp
需要配置的环境变量
SCRAPEUNBLOCKER_KEY密钥Your ScrapeUnblocker API key (get one at https://app.scrapeunblocker.com).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmscrapeunblocker-mcp0.8.1

工具

4

收录的工具列表 · 更新于 3 天前

参数类型必填说明
urlstring是要获取的绝对 URL(http/https)。
stepsarray否可选的有序浏览器操作列表,在页面加载后、捕获 HTML 前通过真实浏览器运行。请先使用 `list_elements` 查找选择器。每次调用运行一次(不具备幂等性)。
wait_valuestring否与 wait_method 配对的 CSS 选择器或 JS 表达式(例如,'#price' 或 'document.readyState==="complete"')。
wait_methodenum否可选的渲染等待策略:'css' 等待选择器,'js' 等待 JS 表达式为真。css | js
proxy_countrystring否可选的 ISO 3166-1 alpha-2 国家/地区代码,用于指定路由国家/地区,例如 'US'、'GB'、'DE'。
sleep_secondsnumber否页面加载后、捕获 HTML 前额外等待的秒数。
method_timeout_secondsinteger否渲染等待方法的秒数上限。

详细介绍

ScrapeUnblocker MCP 服务

一个 Model Context Protocol 服务,可让 Claude(以及任何其他 MCP 客户端)通过 ScrapeUnblocker 抓取 API 获取任意网页的 HTML,或运行 100 多个现成的网站插件并返回结构化 JSON,同时绕过反机器人保护(Cloudflare、DataDome、PerimeterX、Akamai、Shape)。

请自备 API 密钥。我们不会共享或代为代理您的密钥。

工具

工具功能
fetch_html获取 URL 完全渲染后的 HTML。
browse_page在页面上执行交互式浏览器 steps(点击、输入、选择、滚动、等待),然后返回生成的 HTML。此工具并非只读:它会与网站交互。
list_elements列出页面上的重要元素,并为每个元素提供可直接使用的选择器(发现选择器)。
fetch_parsed获取页面并返回经 AI 解析的结构化 JSON。
google_search执行 Google 搜索,并以 JSON 格式返回自然搜索结果。
fetch_markdown获取页面并将其转换为干净的 Markdown:保留主要内容和绝对链接,不含脚本、样式、导航或页脚。通常只有 HTML 内容的 2% 至 25%,因此这是模型读取页面的省资源方式。
search_and_read一次调用即可搜索 Google 并读取排名靠前的结果:Google 的 AI 概览(如有)、排名前 1 至 5 的结果页面(以 Markdown 格式),以及其他结果的标题、URL 和摘要。计费方式为一次搜索,加上每个读取页面的一次请求。
list_plugins列出带有参数的现成网站插件(100 多个:Amazon、Walmart、Zillow、Booking.com、Indeed、Google Trends、YouTube、App Store、Ahrefs 等)。免费,不会调用任何内容。
run_plugin运行一个网站插件并返回其结构化 JSON。
amazon_search、amazon_product、amazon_reviews、walmart_search、ebay_search、google_shopping、google_local、maps_place_details、google_images、youtube_search、youtube_transcript、zillow_search、indeed_jobs、trustpilot_reviews、booking_hotels使用最频繁的网站插件,各自作为工具提供,并在工具架构中包含参数——调用一次即可,无需通过 list_plugins 查找。返回与 run_plugin 相同的 JSON。
网站插件(针对已知网站返回结构化 JSON)

许多热门网站都有插件,可返回已解析的数据——例如 Target 搜索结果、Zillow 房源搜索结果、某个应用的 App Store 评论,或若干关键词的 Google Trends 数据。模型调用 list_plugins(可选使用 search: "zillow" 或 category)查找插件及其参数,然后使用 name 和 params 调用 run_plugin(上表列出的使用频率最高的插件也可直接作为独立工具调用):

{ "name": "target_search", "params": { "query": "coffee maker", "max_results": 20 } }

每个插件及其参数均记录在 插件页面中。 每次运行均按一次 API 请求计费。

浏览器步骤(交互后再采集)

有些页面只有在你与其交互后才会显示所需内容——接受 Cookie 横幅、点击标签页、在搜索框中输入并提交,或滚动以触发延迟加载。向 browse_page 传递 steps 数组,这些操作会在页面加载后按顺序在真实浏览器中执行;随后返回生成的 HTML。

可用操作:

操作字段
wait_forselector、selector_type?(css/xPath/className/tagName)、timeout_ms?
wait_for_textvalue、timeout_ms?
waitvalue(毫秒)
clickselector、selector_type?、timeout_ms?
typeselector、selector_type?、value、clear?、timeout_ms?(模拟真人输入)
selectselector、selector_type?、value、timeout_ms?
press_keyvalue(Enter、Tab、Escape、Backspace、Delete、Space、Arrow*、Home、End、PageUp、PageDown)
scrollvalue("bottom" 或像素偏移量)

这些步骤不具备幂等性——每次调用只会执行一次,并且会在网站上执行操作,因此 browse_page 是唯一一个未标记为只读的工具。如果某个步骤失败,browse_page 会返回失败步骤、失败原因,以及当时的页面 HTML,以便你修正选择器并重试。

列出页面元素(先查找选择器)

list_elements 会加载页面并返回其中值得关注的元素(链接、输入框、按钮、选择框等)的 JSON 列表;每个元素都包含可直接使用的 selector,以及 tag、text 和有用的属性(name、id、type、placeholder、aria_label、href 等):

{ "url": "https://example.com", "count": 42, "elements": [ { "tag": "input", "selector": "#search", "type": "text", "placeholder": "Search", "aria_label": "Search" } ] }

推荐的工作流程是先查找,再操作:调用 list_elements 找到所需选择器,然后将匹配的 steps 传递给 browse_page,以点击、输入、选择并采集生成的 HTML。

获取 API 密钥

前往 app.scrapeunblocker.com 注册并获取密钥。服务会从 SCRAPEUNBLOCKER_KEY 环境变量中读取密钥。

安装

Claude Code

最简单的方式是使用官方插件。它会为你安装此服务,提示你输入 API 密钥(密钥会存储在操作系统的密钥链中,而不是环境变量中),并添加 /scrape-url 命令和参考技能:

/plugin marketplace add ScrapeUnblocker/claude-code-plugin
/plugin install scrapeunblocker@scrapeunblocker

参见 ScrapeUnblocker/claude-code-plugin。

若要改为直接添加服务:

claude mcp add scrapeunblocker \
  --env SCRAPEUNBLOCKER_KEY=your_api_key_here \
  -- npx -y scrapeunblocker-mcp
Claude Desktop

将以下内容添加到 claude_desktop_config.json 中 (设置 → 开发者 → 编辑配置):

{
  "mcpServers": {
    "scrapeunblocker": {
      "command": "npx",
      "args": ["-y", "scrapeunblocker-mcp"],
      "env": {
        "SCRAPEUNBLOCKER_KEY": "your_api_key_here"
      }
    }
  }
}

重启 Claude Desktop 后,ScrapeUnblocker 工具就会出现。

其他 MCP 客户端

通过 stdio 运行服务:

SCRAPEUNBLOCKER_KEY=your_api_key_here npx -y scrapeunblocker-mcp

示例提示词

  • “获取 https://www.example-shop.com/product/123 的 HTML 并列出价格。”
  • “这个页面一直拦截我:。使用 fetch_html 获取它。”
  • “列出 上的元素,然后使用 browse_page 在搜索框中输入 ‘laptop’,按 Enter,等待结果,并把 HTML 发给我。”
  • “在 Google 上搜索 ‘best running shoes 2026’,并给我排名前 5 的链接。”
  • “将 https://en.wikipedia.org/wiki/Web_scraping 以 Markdown 格式读取,并用五条要点总结。”
  • “在网上搜索维尔纽斯当前的人口,并引用你阅读的页面。”
  • “查找 Target 上低于 $50 的咖啡机,并与 Walmart 的产品进行比较。”
  • “展示美国过去一年中 ‘coffee’ 与 ‘tea’ 的 Google Trends 趋势。”
  • “WhatsApp 最新的 App Store 评论都在说什么?”

开发

npm install
npm run build      # bundles to dist/ with tsup
npm run typecheck
npm test           # builds, then runs the tools against a local stand-in API
SCRAPEUNBLOCKER_KEY=... node dist/index.js   # run the server

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。