Browserless MCP Server 是 Browserless.io 的官方 MCP(Model Context Protocol)服务器,旨在将 Browserless 智能爬虫 API 暴露给 LLM 客户端,如 Claude Desktop、Cursor、VS Code 和 Windsurf。通过该服务器,AI 代理可以执行无头浏览器自动化和网页抓取任务。
主要能力
- 智能爬虫 API 集成:提供对 Browserless 智能爬虫 API 的访问,支持网页抓取和浏览器自动化。
- 内置技能库:服务器附带内置技能库,代理可按需加载处理复杂页面机制的配方。技能会在触发条件满足时(例如代理遇到 Cookie 横幅)自动注入到 browserless_agent 响应中,也可通过 browserless_skill 工具手动加载。
- 代理支持:可在 browserless_agent 上传递顶层 proxy 对象,将会话路由到数据中心或住宅 IP。数据中心代理每 MB 更便宜;住宅代理更不易被封锁。注意:地理、粘性、区域设置选项需要内置代理层级或 externalProxyServer;proxyPreset 需要 proxy: "residential"。MCP 会拒绝不支持的组合,而不是让 API 静默忽略。代理对象在会话创建时读取一次,如需更改需调用 close 并启动新会话。
- 操作系统人设:代理会话可通过顶层创建选项选择一致的操作系统人设。在首次调用时设置人设选项,之后重用返回的 sessionId。人设在该浏览器会话生命周期内固定,需关闭后才能选择不同人设。
使用方式
- 获取 API 令牌:从 browserless.io 获取 API 令牌(提供免费套餐)。
- 连接托管服务器:将 MCP 客户端指向托管服务器 https://mcp.browserless.io/mcp。通过请求头(首选)或 ?token= 查询参数进行身份验证。
- 使用请求头(推荐支持请求头的客户端):在配置中添加相应请求头。
- 使用 URL 查询参数(适用于仅接受 URL 的客户端,如 Claude.ai 自定义连接器):在 URL 中添加 token 参数。
- 连接特定 Browserless 区域端点:添加 x-browserless-api-url 请求头或 browserlessUrl 查询参数。当请求头和查询参数同时存在时,请求头优先。
- API URL 覆盖仅限于 browserless.io 及其子域、配置的 BROWSERLESS_API_URL 源(相同协议、主机名和端口)以及 MCP_ALLOWED_API_URL_HOSTS 中列出的主机。允许路径,但不允许凭据、查询字符串和片段。
- 客户端配置:
- Claude Desktop:添加到 claude_desktop_config.json。
- Cursor:添加到 Cursor MCP 设置。
- VS Code:添加到 settings.json。
- Windsurf:添加到 Windsurf MCP 配置。
- 本地运行:也可本地运行服务器,适用于气隙部署或指向自托管 Browserless 实例。克隆仓库并构建 Docker 镜像,然后将 MCP 客户端指向 http://localhost:8080/mcp,使用相同的请求头/查询参数认证。
适用场景
- 需要浏览器自动化的 AI 代理任务,如网页抓取、表单填写、页面交互。
- 处理复杂页面机制(如 Cookie 横幅、动态内容加载)的抓取任务。
- 需要代理路由以规避封锁或访问特定地理位置的场景。
- 需要模拟特定操作系统环境的自动化任务。
限制
- 需要有效的 Browserless API 令牌。
- 代理对象在会话创建时读取一次,更改需重新创建会话。
- 操作系统人设在会话生命周期内固定,更改需关闭会话。
- API URL 覆盖有严格限制,不支持任意主机。
- 部分代理选项需要特定配置(如 proxyPreset 需要 residential 代理)。
- 托管 OpenTelemetry 和技能检索诊断等高级功能需要额外配置环境变量。
- 测试套件使用 Mocha、Chai 和 Sinon,运行 npm test 无需外部服务或 BROWSERLESS_TOKEN。
其他信息
- 官方仓库:https://github.com/browserless/browserless-mcp
- 安装说明(供 AI 代理阅读):见仓库中的 install.md。
- 安全策略:见仓库中的安全策略文件。
- 获取 API 令牌:https://browserless.io