mcpField
A
alterlab

alterlab

本地服务
github.com/RapierCraft浏览器自动化12 周前更新

关于 alterlab

alterlab 是面向 Claude、Cursor 和 Windsurf 等 MCP 客户端的网站抓取服务,可返回网页内容、结构化数据和截图。它按需逐级选择抓取方式,并支持反爬处理与 JavaScript 渲染。

主要功能

  1. 01抓取网页并输出多种格式
  2. 02按配置抽取结构化数据
  3. 03渲染 JavaScript 页面
  4. 04自动升级抓取方式
  5. 05生成截图、PDF 与 OCR 文本
  6. 06管理登录会话并抓取受限页面

适用场景

  1. 01提取商品、文章或职位信息
  2. 02采集由 JavaScript 渲染的页面
  3. 03为页面生成截图或 PDF
  4. 04抓取需要登录的网页内容

MCP 相关

该 MCP 服务向客户端提供抓取、结构化抽取、截图、成本估算、异步任务和会话管理工具。客户端通过配置 API key 连接服务。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"io-alterlab": {
"command": "npx",
"args": [
"-y",
"alterlab-mcp-server"
]
}
}
}
启动命令npx -y alterlab-mcp-server

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

安装包
npmalterlab-mcp-server1.9.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

AlterLab 标志

AlterLab MCP Server

让 Claude、Cursor 和 Windsurf 能够抓取任意网站、提取结构化数据并截取屏幕截图,同时自动绕过反机器人机制。

npm 版本 npm 下载量 许可证 Smithery

免费开始 →   注册即享 1 美元免费额度 — 最多可抓取 5,000 次。


一行安装

Claude Code
claude mcp add alterlab -- npx -y alterlab-mcp-server@latest

然后设置 API 密钥:export ALTERLAB_API_KEY=sk_live_...,或将其添加到 .claude.json(请参阅下方的完整设置)。

Cursor
# Add to .cursor/mcp.json — see full config below
Smithery
npx -y @smithery/cli install alterlab-mcp-server --client claude

为什么选择 AlterLab,而不是 WebFetch 或 Browser MCP?

Claude 内置的 WebFetch 工具和开源浏览器 MCP 服务在大多数真实网站上都会失效。它们无法绕过 Cloudflare、渲染 JavaScript 单页应用或提取结构化数据。

AlterLab 以一个 MCP 服务取代失效的抓取工具,真正有效:

功能WebFetch / fetch()Browser MCPAlterLab MCP
绕过反机器人机制(Cloudflare、DataDome、Akamai)否部分支持是 — 自动绕过
JavaScript 渲染(React、Angular、Vue 单页应用)否是(较慢)是 — 无头 Chromium
提取结构化数据(JSON、Schema.org)否否是 — 内置配置
智能层级升级(优先使用成本最低的方法)不适用不适用是 — 节省 60-80%
轮换住宅代理(195+ 个国家/地区)否否是
截取屏幕截图和生成 PDF否仅屏幕截图是 — 两者都支持
从图像中提取 OCR 文本否否是
每次请求的费用免费(但会失败)免费(但速度较慢)低至 $0.0002

AlterLab 如何进行网页抓取?

AlterLab 使用多层抓取架构,会自动选择能够获取每个 URL 的成本最低的方法:

  1. Curl($0.0002/次请求)— 用于静态页面、RSS 源和公共 API 的直接 HTTP 请求
  2. HTTP($0.0003/次请求)— 通过轮换 TLS 指纹访问防护适中的网站
  3. Stealth($0.002/次请求)— 通过模拟浏览器访问受 Cloudflare/DataDome 保护的网站
  4. Light JS($0.0025/次请求)— 从服务端渲染的 HTML 中轻量提取 JS
  5. Browser($0.004/次请求)— 使用完整的无头 Chromium 处理 JavaScript 密集型单页应用

自动模式从第 1 层开始,仅在遇到拦截时升级。大多数网站都能通过第 1-2 层获取,因此根据目标网站不同,1 美元可完成 1,000 到 5,000 次抓取。


安装

在 Claude Desktop / Claude Code 中安装

将以下内容添加到 Claude 配置文件中(Claude Code 使用 ~/.claude.json,Claude Desktop 请在设置中配置):

{
  "mcpServers": {
    "alterlab": {
      "command": "npx",
      "args": ["-y", "alterlab-mcp-server@latest"],
      "env": {
        "ALTERLAB_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}
在 Cursor 中安装

将以下内容添加到项目根目录下的 .cursor/mcp.json:

{
  "mcpServers": {
    "alterlab": {
      "command": "npx",
      "args": ["-y", "alterlab-mcp-server@latest"],
      "env": {
        "ALTERLAB_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}
在 Windsurf 中安装

将以下内容添加到 Windsurf MCP 设置中(~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "alterlab": {
      "command": "npx",
      "args": ["-y", "alterlab-mcp-server@latest"],
      "env": {
        "ALTERLAB_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}
通过 Smithery 安装
npx -y @smithery/cli install alterlab-mcp-server --client claude
获取 API 密钥
  1. 免费注册 — 注册后可获得价值 $1 的免费余额
  2. 前往 Dashboard → API Keys 并复制密钥
  3. 将密钥粘贴到 MCP 配置中的 ALTERLAB_API_KEY 字段

工具

alterlab_scrape — 抓取任意网页

抓取 URL,并以 Markdown、文本、HTML 或 JSON 格式返回内容。自动通过逐级升级处理反机器人保护。默认返回 Markdown,针对大模型上下文窗口进行了优化。

"Scrape https://www.amazon.com/dp/B0BSHF7WHW and summarize the product"
参数类型默认值描述
urlstring必填要抓取的 URL
modeauto | html | js | pdf | ocrauto抓取模式
method / body / content_type / headersenum / string / enum / objectGET支持 POST(费用为 1.5 倍)和自定义目标标头
formats(text|json|json_v2|html|markdown|rag|content|raw)[]["markdown"]输出格式
extraction_schema / extraction_promptobject / string—大模型提取(+$0.001)
extraction_profile / extraction_templateenum—auto、product、article、job_posting、faq、recipe、event、ecommerce_homepage、directory_listing(template 是已弃用的别名)
extraction_provider / extraction_modelenum / string—BYOK 大模型选择
evidence、promote_schema_org、filter_contentboolean—提取行为
cache、cache_ttl、force_refreshboolean / number / boolean—响应缓存(cache_ttl 为 60-86400)
render_jsboolean | "auto"API 默认值无头浏览器(强制使用 Browser 层级,$0.004)
use_proxy、proxy_countryboolean, string—高级代理(+$0.0002)和地理定位
use_own_proxy、use_system_proxy、proxy_integration_idboolean, boolean, string—自带代理选择
skip_tls_verificationboolean—省略(推荐)= 验证,遇到无效证书时回退;true 跳过验证,false 要求证书有效
wait_for、wait_until、wait_conditionstring—选择器 / 加载事件等待
actionsobject[](最多 20 项)—浏览器操作:wait、wait_for、click、fill、press、scroll、infinite_scroll、screenshot、evaluate
screenshot、generate_pdf、ocrboolean—附加功能(+$0.0002 / +$0.0004 / +$0.001)
scroll_to_load、scroll_count、enable_scrollboolean / 1-10 / boolean—懒加载处理
include_iframes、flatten_shadow_dom、block_images、remove_cookie_bannersboolean—渲染选项
section_filterobject—筛选 json_v2 分区
session_id、cookies、session_headersUUID, object, object—已通过身份验证的抓取
sticky_session、sticky_session_ttlstring, 300-7200—在多次调用间复用 Cookie 和出口 IP(付费计划)
location{country, language}—地理定位
cost_controlsobject—force_tier、max_tier、max_credits、prefer_cost、prefer_speed、fail_fast、time_budget(也可在顶层使用 prefer_cost、prefer_speed、fail_fast)
embeddingsobject—enabled、model、chunk_size、chunk_overlap(+$0.001/页)
sync_policyauto | wait_until_deadlineauto长时间抓取时的等待行为
timeout、max_response_bytes、include_raw_htmlnumber, number, boolean90、5 MB、false限制和原始输出
estimate_firstbooleanfalse先免费估算费用

未公开:source(仪表板跟踪标签)、sync(此工具始终为同步)、webhook_url(请使用 alterlab_batch/alterlab_crawl Webhook)。如果抓取耗时超过约 85 秒的同步窗口,工具会返回 job_id;请使用 alterlab_get_job 获取结果。

alterlab_extract — 提取结构化数据

使用预置配置或自定义 JSON Schema,从 HTML、文本或 Markdown 内容中提取结构化字段。返回整洁的 JSON,方便用于数据库、电子表格或后续处理。

"Extract the product name, price, and rating from this Amazon page"
参数类型默认值描述
contentstring (max 500,000)必填你已有的 HTML、文本或 Markdown 内容(此工具不会获取 URL)
content_typehtml | text | markdownhtmlcontent 的类型
extraction_profile / extraction_templateenum—配置:auto、product、article、job_posting、faq、recipe、event、ecommerce_homepage、directory_listing
extraction_schemaobject—用于结构化输出的自定义 JSON Schema
extraction_promptstring—自然语言提取指令
extraction_provider / extraction_modelenum / string—BYOK 大模型选择
formatsenum[]["json"]输出格式
source_url、evidencestring, boolean—上下文 URL 和来源信息
cache、cache_ttlauto | skip | only、numberauto提取结果缓存

如需一步完成抓取和提取,请将 extraction_schema 与 alterlab_scrape 配合使用。

提取配置:

  • 产品 — 名称、价格、货币、评分、评论、可用性、图片、描述
  • 文章 — 标题、作者、发布日期、正文、主图
  • 职位发布 — 标题、公司、地点、薪资、描述、要求
  • 常见问题 — 问答对
  • 食谱 — 食材、步骤、准备时间、份数
  • 活动 — 名称、日期、地点、描述、组织者
alterlab_screenshot — 截取任意页面

截取任意 URL 的整页屏幕截图。直接在对话中返回 PNG 图片,无需复制 URL,也无需下载文件。

"Take a screenshot of our landing page at https://alterlab.io"
参数类型默认值描述
urlstring必填要截图的 URL
wait_forstring—截图前等待的 CSS 选择器
wait_untilenumnetworkidlenetworkidle、domcontentloaded 或 load
timeoutnumber90超时时间,单位为秒(1-300)
use_proxy、proxy_countryboolean, string—高级代理和地理定位
session_id、cookiesUUID, object—截取需要登录才能访问的页面
location{country, language}—地理定位
alterlab_estimate_cost — 抓取前估算费用

在执行抓取前,查看预计费用。返回预测等级、每次请求的费用和置信度。

"How much would it cost to scrape linkedin.com?"
参数类型默认值描述
urlstring必填要估算的 URL
modeenumauto抓取模式
methodGET | POSTGETPOST 的费用为 1.5 倍
render_jsboolean | "auto"false计入 JS 渲染费用
use_proxy、use_own_proxybooleanfalse计入代理费用 / BYOP 折扣
screenshot、generate_pdf、ocrboolean—计入附加功能费用
alterlab_get_job — 获取异步任务

获取返回了 job_id 的抓取任务的状态和结果(即超出同步等待时限的抓取任务)。参数:job_id(string,必填)。

alterlab_check_balance — 查看账户余额

查看账户余额、累计充值金额和累计支出金额。无需参数。

"Check my AlterLab balance"
alterlab_list_sessions — 列出已存储的会话

列出所有用于身份验证抓取的已存储会话。会话包含特定域名的 Cookie,可用于抓取登录墙后的内容。

"List my stored sessions"
alterlab_create_session — 创建会话

使用已登录浏览器中的 Cookie 创建新的已存储会话。会话会安全存储,可在多个抓取请求中重复使用。

"Create an Amazon session with these cookies: session-id=abc123, session-token=xyz789"
参数类型默认值描述
namestring必填易于识别的名称(例如,“我的 Amazon 账户”)
domainstring必填域名(例如,“amazon.com”)
consentboolean必填必须为 true:明确同意存储 Cookie(否则 API 会拒绝创建)
cookiesRecord<string,string> | cookie objects[]—Cookie,可以是键值对,也可以是 {name, value, domain, path, ...} 对象
headersRecord<string,string>—自定义请求头(例如,User-Agent)
expires_at, notesstring—到期时间(ISO 8601)和备注
auto_refresh_enabled, notify_before_expiry, notify_on_failurebooleantrue健康检查和通知
organization_id, sharedUUID, boolean—组织共享
alterlab_validate_session — 验证会话

检查已存储的会话是否仍处于活动状态,以及其 Cookie 是否有效。

"Is my Amazon session still valid?"
参数类型默认值描述
session_idstring (UUID)必填要验证的会话 ID
alterlab_delete_session — 删除会话

永久删除已存储的会话及其 Cookie。

"Delete session abc-123-def"
参数类型默认值描述
session_idstring (UUID)必填要删除的会话 ID

身份验证抓取

AlterLab MCP 支持抓取需要身份验证的页面。这使 AI Agent 能够访问用户专属内容,例如订单历史记录、账户面板和会员专享价格。

工作原理
  1. 使用 alterlab_create_session,通过已登录浏览器中的 Cookie 创建会话
  2. 将 session_id 传递给 alterlab_scrape,以抓取经过身份验证的页面
  3. 使用列出、验证和删除工具管理会话
示例:查看 Amazon Prime 价格
User: "What's my Prime member price for this product?"

Claude: [calls alterlab_list_sessions → finds Amazon session]
Claude: [calls alterlab_scrape with session_id for authenticated pricing]
Claude: "The Prime member price is $24.99 (public price: $34.99)"
内联 Cookie 与已存储会话
  • 已存储会话(session_id):适合反复访问同一域名。创建一次,即可在多个请求中重复使用。
  • 内联 Cookie(cookies):适合不需要保存会话的一次性身份验证请求。

使用 AlterLab MCP 可以做什么?

研究与分析

让 Claude 实时抓取和分析网站:

  • “抓取这次 Google 搜索的前 5 条结果并总结”
  • “提取这个 Amazon 类目页面中的所有商品价格”
  • “比较这 3 个竞争对手的定价页面”
使用真实数据生成代码

让 Cursor 或 Windsurf 在开发过程中获取实时数据:

  • “抓取这个 API 文档页面,并据此生成 TypeScript 类型”
  • “提取这个网站的配色方案并创建 Tailwind 配置”
  • “截取这个设计的屏幕截图,并用 React 重现”
内容与 SEO

使用 Claude 大规模分析内容:

  • “抓取这篇博客文章并提出 SEO 改进建议”
  • “提取这个帮助中心中的所有常见问题条目并创建结构化数据集”
  • “将我们的落地页与竞争对手的页面进行比较,找出差距”
监控与提醒

构建能够监控网络的 Agent 工作流:

  • “查看这个商品是否已补货”
  • “每天抓取这个页面,并在价格低于 $50 时提醒我”
  • “监控这个招聘网站是否有新的高级工程职位”

定价 — 按需付费的网页抓取

无订阅,无月度最低消费。充值后,随时按需使用。

基础抓取费用
层级方法每次请求费用适用场景
Curl直接 HTTP$0.0002静态页面、RSS 源、公共 API
HTTPTLS 指纹识别$0.0003有基本机器人检测的网站
Stealth浏览器模拟$0.002受 Cloudflare、DataDome、PerimeterX 保护的网站
Light JSJSON 提取$0.0025需要结构化数据的服务端渲染页面
Browser无头 Chromium$0.004完整 JavaScript SPA(React、Angular、Vue)
可选附加项
附加项额外费用说明
JavaScript 渲染强制使用 Browser 层级无单独附加项:render_js 按 Browser 层级计费($0.004)
PDF 生成+$0.0004生成渲染后页面的 PDF
大模型提取 / 嵌入+$0.001extraction_schema / extraction_prompt、embeddings
POST 请求x1.5method: "POST" 的费用为对应层级价格的 1.5 倍
自有代理(BYOP)-20%use_own_proxy 可享受层级价格折扣
搜索$0.001 / $0.004duckduckgo / google 和 bing 引擎
截图+$0.0002整页 PNG 截图
高级代理+$0.0002可定位地理位置的住宅代理(195 个以上国家/地区)
OCR 文本提取+$0.001提取页面图片中的文本

$1 = 5,000 次轻量抓取。 新账户注册后可获得 $1 免费余额。


环境变量

变量必需默认值说明
ALTERLAB_API_KEY是—你的 API 密钥(免费获取)
ALTERLAB_API_URL否https://api.alterlab.ioAPI 基础 URL(用于自托管或开发)

常见问题

如何为 Claude、Cursor 或 Windsurf 添加网页抓取功能?

安装 AlterLab MCP 服务。对于 Claude Code,运行 claude mcp add alterlab -- npx -y alterlab-mcp-server@latest,并设置你的 ALTERLAB_API_KEY。对于 Claude Desktop、Cursor 或 Windsurf,将 JSON 配置块添加到 MCP 设置文件中。配置完成后,你的 AI 助手便可在对话中直接抓取任意 URL、提取结构化数据并截取屏幕截图。

Claude 能抓取受 Cloudflare 或反机器人保护的网站吗?

可以。AlterLab 会自动处理 Cloudflare、DataDome、PerimeterX、Akamai 和其他反机器人系统。它采用多层级方案,从费用最低的方法开始,仅在遇到拦截时才升级。你无需进行任何配置——反机器人绕过完全自动化。

什么是 MCP 服务?它如何与 Claude 配合使用?

MCP(Model Context Protocol)是 Anthropic 制定的开放标准,用于将 AI 助手连接到外部工具和数据源。MCP 服务是一个小型程序,可提供网页抓取等工具,供 Claude、Cursor 或 Windsurf 在对话中调用。AlterLab MCP 服务为你的 AI 助手提供 23 种工具:抓取、提取、截图、爬取、搜索、映射、批量抓取、会话管理、Beta 功能等。

AlterLab 与 Firecrawl、ScrapingBee 或 Apify MCP 服务有何不同?

AlterLab 的单次请求费用低至 $0.0002,比大多数抓取 API 便宜 5 到 20 倍,因为只有网站确实需要时才会使用昂贵的浏览器渲染。智能层级升级意味着你只需为每个网站所需的处理方式付费,而非最高档费用。AlterLab 还内置了结构化数据提取功能,并提供预置配置文件(商品、文章、招聘信息等)。

我可以通过 Claude 抓取 Amazon、Walmart 等电商网站吗?

可以。AlterLab 可处理所有主流电商网站的反机器人保护。使用 alterlab_extract 工具并设置 extraction_profile: "product",即可获取结构化 JSON:商品名称、价格、货币、评分、评价数量、库存情况和图片,可直接用于分析、比较或数据管道。

Cursor 能抓取文档并据此生成代码吗?

可以。在 Cursor 中安装 AlterLab MCP 后,你可以让它抓取 API 文档、库文档或任何参考页面,并根据实时内容生成 TypeScript 类型、API 客户端或组件代码。这比依赖可能已经过时的大模型训练数据更可靠。

AlterLab MCP 能处理使用大量 JavaScript 的网站(React、Angular、Vue)吗?

可以。使用 render_js: true 或设置 mode: "js",即可启用完整的无头 Chromium 渲染。AlterLab 会渲染完整页面,包括所有 JavaScript,等待动态内容加载,然后从完全渲染后的 DOM 中提取内容。这适用于 React、Angular、Vue、Next.js 以及任何其他 JavaScript 框架。

哪种输出格式最适合 AI 和大模型的上下文窗口?

使用 markdown(默认格式)。它能保留文档结构 — 标题、表格、列表、链接 — 同时比原始 HTML 小 60-80%。Claude、GPT-4 和其他大模型处理 markdown 的效果明显优于 HTML。AlterLab 的 markdown 输出专为大模型上下文窗口优化。

有速率限制吗?

免费套餐账户有速率限制。充值任意金额即可解除速率限制。MCP 服务会针对临时速率限制错误(429)自动进行指数退避重试。

我可以使用此 MCP 服务进行大规模抓取吗?

可以。并行抓取时,使用 alterlab_batch 在单个请求中抓取最多 100 个 URL — 比顺序调用快得多。要抓取整个域名,请使用 alterlab_crawl。你还可以构建按顺序抓取多个 URL 的 Agent 工作流,或使用 n8n 集成实现工作流自动化。


错误处理

MCP 服务会返回实用的错误消息,并建议后续操作:

错误结果建议操作
401 未授权API 密钥无效检查 ALTERLAB_API_KEY 是否设置正确
402 额度不足余额过低运行 alterlab_check_balance,然后充值
403 禁止访问网站阻止了请求尝试 render_js: true + use_proxy: true
429 速率受限请求过多自动退避重试
504 网关超时抓取耗时过长增加 timeout,简化请求

Agent 工作流 — 能够抓取网页的 AI Agent

AlterLab MCP 可将任何 AI Agent 转变为能够访问网页的 Agent。你的 Agent 无需依赖过时的训练数据,而是可以在运行期间从任何网站获取实时信息。

AI Agent 的使用场景
  • 研究 Agent — 抓取多个来源、交叉核对事实,并生成带引用的报告
  • 数据管道 Agent — 按计划提取结构化的产品、价格或职位数据
  • 竞争情报 — 监控竞争对手页面、跟踪价格变化、检测新功能
  • 内容生成 — 抓取真实数据,让大模型输出基于事实而非幻觉
  • 潜在客户信息补充 — 抓取公司网站,用实时数据补充 CRM 记录
  • 合规监控 — 检查监管页面、服务条款和政策更新
兼容的 AI 框架和客户端

适用于任何支持 MCP(Model Context Protocol)的工具:

  • Claude Desktop / Claude Code — Anthropic 的 AI 助手
  • Cursor — AI 驱动的代码编辑器
  • Windsurf — Codeium 的 AI IDE
  • Cline — VS Code AI 助手
  • GitHub Copilot — 通过 MCP 配置使用
  • 自定义 Agent — 任何使用 MCP SDK(Python、TypeScript、Go)的框架
  • n8n — 通过 n8n-nodes-alterlab 实现工作流自动化

贡献

git clone https://github.com/RapierCraft/alterlab-mcp-server.git
cd alterlab-mcp-server
npm install
npm run build

Support

License

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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