browserless-mcp
OfficialBrowserless MCP Server
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
工具
工具 | 描述 |
| 抓取单个网页,并将其内容返回为 markdown 或 HTML。自动处理重度依赖 JavaScript 的页面和反机器人措施。如需跨多个页面获取内容,请使用 |
| 使用 Browserless 进行网络搜索,并可选择抓取每个结果。支持网页、新闻和图片搜索,并支持地理位置定位和时间过滤。 |
| 发现并映射网站上的所有 URL,通过 sitemap 和链接提取进行扫描。返回包含可选标题和描述的 URL。适用于网站审计和内容发现。 |
| 爬取网站并抓取每个发现的页面。支持深度控制、路径过滤、sitemap 策略和可配置的抓取选项。返回每个页面的抓取内容和元数据。 |
| 对任意 URL 运行 Lighthouse 审计。返回可访问性、最佳实践、性能、PWA 和 SEO 的得分与指标。可选择按类别过滤,或提供性能预算。 |
| 在 Browserless 云端执行自定义 Puppeteer JavaScript。该函数接收一个 |
| 通过 Browserless |
| 通过 ReAct 循环驱动持久的浏览器会话:快照页面、规划、批量交互(点击、输入、滚动、执行计算等),然后重新快照(captured downloads auto-surface as handles)。使用基于快照的 ref 选择器,支持多标签页工作流、截图、验证码解决、实时 URL 和文件上传/下载。捕获的下载会自动以操作手柄形式呈现;字节永远不会进入上下文。 |
| 按需加载处理非平凡页面机制的配方(shadow DOM、cookie 同意、模态框、验证码、动态内容、快照遗漏、截图、标签页)。是 |
| 列出当前令牌保存的身份验证配置文件,并提供 cookie 和来源计数。将配置文件的名称作为 |
| 读取当前令牌背后的账户信息:套餐、单位余额、账单周期和 API 密钥名称,绝不返回 API 令牌的值。 |
| 读取请求和单位消费情况:成功、错误、超时、排队、峰值并发、验证码、代理字节和单位。可选择按特定 API 密钥进行范围限定。 |
| 检查账户的会话——正在运行的浏览器、专用 worker 上的持久会话、录制的会话回放,以及 1Password 凭据集成。还可将会话回放下载为一个完全自包含的 rrweb 播放器页面( |
| 读取 Browserless 自身记录的近期请求:尝试了什么、是否失败、为什么停止、耗时多少以及花费多少。用于诊断在 Browserless 端失败的运行的具用工具。可用时间窗口取决于套餐。 |
技能
服务器内置了一个 Skills 库——代理可按需加载,用以处理棘手的页面机制。当触发条件被满足时(例如代理遇到 cookie 同意横幅),Skills 会自动注入到 browserless_agent 的响应中;也可通过 browserless_skill 工具手动加载。
技能 | 来源 | 用途 |
| 通过 shadow root 实现深层 深化选择器或 iframe 嵌套。 | |
| 针对具体供应商的关闭方案(OneTrust、Cookiebot、Didomi、TrustArc 等)。 | |
| 关闭对话框、alertdialog 对话框,以及“overlay 关闭按钮”的启发式方法。 | |
| 使用 | |
| 为 async/AJAX/SPA | |
| 处理截断/空快照以及以图像渲染的内容。 | |
| 何时 screenshot 比 snapshot 更适合、作用域及格式选择。 | |
| 多标签页工作流,以及通过 |
显式加载某个技能:
{
"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,
},
},
},
}字段 | 说明 |
|
|
| ISO-2 国家代码( |
| 美国州名,空格用下划线 |
| 指定城市。受付费/企业计划限制——相应条件的 token 会得到 401。 |
| 底层 WebSocket 保持开放时保持 IP 不变。重连(空闲掉落、网络闪断、浏览器崩溃)时会分配新的 sticky id 和新的 IP。 |
| 将 |
| 命名预设(例如 |
| 自带的上游代理,如 |
注意: 设置
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 API 令牌 |
| 否 |
| API 端点(用于自托管的 Browserless) |
| 否 |
| 账户 API 主机——为 |
| 否 |
| 提供会话重放制品(session-replay artifacts)的源站。重放路径会针对该源站进行校验 |
| 否 |
| 传输类型: |
| 否 |
| HTTP 服务器端口(仅适用于 |
| 否 |
| 请求超时时间(毫秒) |
| 否 |
| 失败请求的最大重试次数 |
| 否 |
| 缓存 TTL(毫秒),0 表示禁用 |
| 否 | — | Amplitude 项目 API 密钥。发送 MCP 使用分析——SDK 生命周期事件以及我们自己的工具/技能事件 |
| 否 | 未设置(完整功能面) | 提供缩减的、符合目录规范的功能面。采用 fail-closed 策略:除 |
MCP 资源
资源 URI | 说明 |
| Smart Scraper API 文档 |
| 实时服务健康状态 |
MCP 提示
提示 | 说明 |
| 抓取网页并总结其内容 |
| 从网页中提取特定信息 |
开发
npm install
npm run build
npm test
npm run coverage测试
测试套件使用 Mocha、Chai 和 Sinon。测试规范(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
Maintenance
Related MCP Servers
- AlicenseAqualityDmaintenanceA server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages through structured accessibility snapshots without requiring screenshots or vision models.224,588,7131Apache 2.0
- FlicenseNot gradedqualityCmaintenanceMCP server that exposes the Pinchtab browser API for token-efficient web scraping, change detection, and automated testing workflows.15
- AlicenseAqualityBmaintenanceMCP 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.211MIT
- AlicenseNot gradedqualityAmaintenanceRemote 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
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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