Skip to main content
Glama

Browserless MCP Server

MCP Badge

MCP(Model Context Protocol)服务器,用于 Browserless.io —— 将 Browserless 智能抓取 API 暴露给 Claude Desktop、Cursor、VS Code 和 Windsurf 等 LLM 客户端。

快速开始

browserless.io 获取 API 令牌(提供免费套餐),然后将你的 MCP 客户端指向托管服务器:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

无需本地安装 —— 各客户端的配置片段参见 Configuration

Related MCP server: Pinchtab MCP Wrapper

工具

工具

描述

browserless_smartscraper

抓取单个网页,并将其内容返回为 markdown 或 HTML。自动处理重度依赖 JavaScript 的页面和反机器人措施。如需跨多个页面获取内容,请使用 browserless_crawl;如需列出网站的 URL,请使用 browserless_map

browserless_search

使用 Browserless 进行网络搜索,并可选择抓取每个结果。支持网页、新闻和图片搜索,并支持地理位置定位和时间过滤。

browserless_map

发现并映射网站上的所有 URL,通过 sitemap 和链接提取进行扫描。返回包含可选标题和描述的 URL。适用于网站审计和内容发现。

browserless_crawl

爬取网站并抓取每个发现的页面。支持深度控制、路径过滤、sitemap 策略和可配置的抓取选项。返回每个页面的抓取内容和元数据。

browserless_performance

对任意 URL 运行 Lighthouse 审计。返回可访问性、最佳实践、性能、PWA 和 SEO 的得分与指标。可选择按类别过滤,或提供性能预算。

browserless_function

在 Browserless 云端执行自定义 Puppeteer JavaScript。该函数接收一个 page 对象和可选的 context;返回 { data, type } 以控制 payload 和 Content-Type。

browserless_export

通过 Browserless /export API 导出网页。获取 URL 并返回其原生内容(HTML、PDF、图片等),并自动检测内容类型。

browserless_agent

通过 ReAct 循环驱动持久的浏览器会话:快照页面、规划、批量交互(点击、输入、滚动、执行计算等),然后重新快照(captured downloads auto-surface as handles)。使用基于快照的 ref 选择器,支持多标签页工作流、截图、验证码解决、实时 URL 和文件上传/下载。捕获的下载会自动以操作手柄形式呈现;字节永远不会进入上下文。

browserless_skill

按需加载处理非平凡页面机制的配方(shadow DOM、cookie 同意、模态框、验证码、动态内容、快照遗漏、截图、标签页)。是 browserless_agent 的配套工具。

browserless_profiles

列出当前令牌保存的身份验证配置文件,并提供 cookie 和来源计数。将配置文件的名称作为 profile 传给另一个工具,即可复用其已登录状态。

browserless_account

读取当前令牌背后的账户信息:套餐、单位余额、账单周期和 API 密钥名称,绝不返回 API 令牌的值。

browserless_usage

读取请求和单位消费情况:成功、错误、超时、排队、峰值并发、验证码、代理字节和单位。可选择按特定 API 密钥进行范围限定。

browserless_sessions

检查账户的会话——正在运行的浏览器、专用 worker 上的持久会话、录制的会话回放,以及 1Password 凭据集成。还可将会话回放下载为一个完全自包含的 rrweb 播放器页面(action: "replay"),无需网络即可渲染:当服务器本地运行时在浏览器中打开;否则在体积足够小时,会作为内联 HTML 资源附加。

browserless_logs

读取 Browserless 自身记录的近期请求:尝试了什么、是否失败、为什么停止、耗时多少以及花费多少。用于诊断在 Browserless 端失败的运行的具用工具。可用时间窗口取决于套餐。

技能

服务器内置了一个 Skills 库——代理可按需加载,用以处理棘手的页面机制。当触发条件被满足时(例如代理遇到 cookie 同意横幅),Skills 会自动注入到 browserless_agent 的响应中;也可通过 browserless_skill 工具手动加载。

技能

来源

用途

shadow-dom

src/skills/shadow-dom.md

通过 shadow root 实现深层 深化选择器或 iframe 嵌套。

cookie-consent

src/skills/cookie-consent.md

针对具体供应商的关闭方案(OneTrust、Cookiebot、Didomi、TrustArc 等)。

modals

src/skills/modals.md

关闭对话框、alertdialog 对话框,以及“overlay 关闭按钮”的启发式方法。

captchas

src/skills/captchas.md

使用 solve 命令、响应语义和升级路径(仅限 Cloud)。

dynamic-content

src/skills/dynamic-content.md

为 async/AJAX/SPA内容选择合适的wait*` 方法。

snapshot-misses

src/skills/snapshot-misses.md

处理截断/空快照以及以图像渲染的内容。

screenshots

src/skills/screenshots.md

何时 screenshot 比 snapshot 更适合、作用域及格式选择。

tabs

src/skills/tabs.md

多标签页工作流,以及通过 targetId 实现不切换即可 peek。

显式加载某个技能:

{
  "method": "tools/call",
  "params": {
    "name": "browserless_skill",
    "arguments": { "id": "cookie-consent" },
  },
}

住宅代理(browserless_agent

将顶层 proxy 对象传给 browserless_agent,即可将会话路由到住宅 IP。当目标站点会阻断数据中心流量时,请用此方式。

{
  "method": "tools/call",
  "params": {
    "name": "browserless_agent",
    "arguments": {
      "method": "goto",
      "params": { "url": "https://example.com" },
      "proxy": {
        "proxy": "residential",
        "proxyCountry": "us",
        "proxySticky": true,
      },
    },
  },
}

字段

说明

proxy

"residential" ——目前唯一支持的值。

proxyCountry

ISO-2 国家代码("us""de"),自动规范为小写。非字母值将被拒绝。

proxyState

美国州名,空格用下划线 "new_york"。受付费套餐限制——不符合条件的 token将得到 401。

proxyCity

指定城市。受付费/企业计划限制——相应条件的 token 会得到 401。

proxySticky

底层 WebSocket 保持开放时保持 IP 不变。重连(空闲掉落、网络闪断、浏览器崩溃)时会分配新的 sticky id 和新的 IP。

proxyLocaleMatch

navigator 的 locale 与代理 IP 所在国家/地区匹配。

proxyPreset

命名预设(例如 "px_amazon01")。可用预设因计划而异 —— 请联系 Browserless 支持获取您的列表。

externalProxyServer

自带的上游代理,如 http://user:pass@host:port。必须为 http://https://

注意: 设置 proxyCountry / proxyState / proxyCity / proxySticky / proxyLocaleMatch / proxyPreset,要求同时设置 proxy: "residential"externalProxyServer。MCP 会在验证时拒绝这个不完整组合;否则,API 会静默忽略它们。

proxy 对象在会话创建时只读取一次。要更改它,请调用 close 并启动一个新会话——代理客户端以代理指纹作为会话的键,因此传入不同的配置将连接到一个全新的 WebSocket。

配置

服务器托管在 https://mcp.browserless.io/mcp。通过请求头(推荐)或 ?token= 查询参数进行身份验证。

通过 AI 代理安装?请参阅 install.md 获取可供代理读取的安装说明。

使用请求头(推荐给支持请求头的客户端):

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp",
      "headers": {
        "Authorization": "Bearer your-token-here"
      }
    }
  }
}

使用 URL 查询参数(适用于只接受 URL 的客户端,如 Claude.ai 自定义连接器):

https://mcp.browserless.io/mcp?token=your-token-here

要连接到特定的 Browserless 区域端点,请添加 x-browserless-api-url 请求头或 browserlessUrl 查询参数:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp",
      "headers": {
        "Authorization": "Bearer your-token-here",
        "x-browserless-api-url": "https://production-lon.browserless.io"
      }
    }
  }
}
https://mcp.browserless.io/mcp?token=your-token-here&browserlessUrl=https://production-lon.browserless.io

当请求头和查询参数同时存在时,请求头优先。

Claude Desktop

添加到你的 claude_desktop_config.json

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

Cursor

添加到你的 Cursor MCP 设置:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

VS Code

添加到你的 VS Code 设置(settings.json):

{
  "mcp": {
    "servers": {
      "browserless": {
        "url": "https://mcp.browserless.io/mcp",
        "headers": {
          "Authorization": "Bearer your-token-here"
        }
      }
    }
  }
}

Windsurf

添加到你的 Windsurf MCP 配置:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

自托管

该服务器也可以在本地运行——适用于气隙(air-gapped)部署或指向自托管的 Browserless 实例。克隆此仓库并构建 Docker 镜像:

docker build -f docker/Dockerfile -t browserless-mcp .

docker run \
  -e BROWSERLESS_TOKEN=your-token \
  -e BROWSERLESS_API_URL=https://your-browserless-instance.example.com \
  -p 8080:8080 \
  browserless-mcp

然后,使用与上述相同的请求头/查询参数身份验证方式,将你的 MCP 客户端指向 http://localhost:8080/mcp

自托管环境变量

变量

必填

默认值

说明

BROWSERLESS_TOKEN

你的 Browserless API 令牌

BROWSERLESS_API_URL

https://production-sfo.browserless.io

API 端点(用于自托管的 Browserless)

BROWSERLESS_API_SERVER

https://api.browserless.io

账户 API 主机——为 browserless_account_usage_sessions_logs 提供后端支持。与 BROWSERLESS_API_URL 是不同主机,后者是浏览器运行时

BROWSERLESS_REPLAY_CDN_URL

https://d3uycvholi7jx8.cloudfront.net/

提供会话重放制品(session-replay artifacts)的源站。重放路径会针对该源站进行校验

TRANSPORT

stdio

传输类型:stdiohttpStream

PORT

8080

HTTP 服务器端口(仅适用于 httpStream 传输)

BROWSERLESS_TIMEOUT

30000

请求超时时间(毫秒)

BROWSERLESS_MAX_RETRIES

3

失败请求的最大重试次数

BROWSERLESS_CACHE_TTL

60000

缓存 TTL(毫秒),0 表示禁用

AMPLITUDE_API_KEY

Amplitude 项目 API 密钥。发送 MCP 使用分析——SDK 生命周期事件以及我们自己的工具/技能事件

MCP_COMPLIANCE_MODE

未设置(完整功能面)

提供缩减的、符合目录规范的功能面。采用 fail-closed 策略:除 false/0/no/off 之外的任何设定值都会启用它

MCP 资源

资源 URI

说明

browserless://api-docs

Smart Scraper API 文档

browserless://status

实时服务健康状态

MCP 提示

提示

说明

scrape-url

抓取网页并总结其内容

extract-content

从网页中提取特定信息

开发

npm install
npm run build
npm test
npm run coverage

测试

测试套件使用 MochaChaiSinon。测试规范(specs)与代码一起放在 test/ 中(test/lib/test/tools/test/prompts/test/resources/test/integration/),并针对 build/ 中的编译输出运行。

  • npm test —— 编译 TypeScript,并运行 build/test/ 下的所有 *.spec.js。不需要外部服务或 BROWSERLESS_TOKEN;API 客户端为桩实现(stubbed)。

  • npm run coverage —— 在 c8 下运行测试套件,阈值在 package.json 中配置(行覆盖率 ≥ 80%,分支覆盖率 ≥ 70%,函数覆盖率 ≥ 80%)。

每次拉取请求都会通过 Test workflow 在 Node 24 上自动运行测试。PR 必须保持测试套件全绿才能合并。

API 令牌

browserless.io 获取你的 API 令牌。该令牌用于对 Browserless API 的所有请求进行身份验证。

许可证

SSPL-1.0

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for browser automation with anti-detection. Scout pages, find elements, interact with websites, and monitor network traffic from any AI client that supports the Model Context Protocol.
    21
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Remote MCP server for web scraping with anti-bot evasion. Provides stealth HTTP fetching, headless browser with Cloudflare bypass, CSS selectors, YouTube transcripts, and Markdown conversion.
    MIT

View all related MCP servers

Related MCP Connectors

  • Zenrows MCP server — Fetch, Extract, Batch, and Browser Sessions for AI coding assistants

  • Official Octoparse MCP server for template discovery, cloud tasks, and structured data export.

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/browserless/browserless-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server