BrowserTools MCP
把你要调试的真实 Chrome 会话中的控制台、网络、截图和 Lighthouse 数据流式提供给任意兼容 MCP 的 AI 编码客户端。
- Star 数
- ★ 7.3k
- 最近更新
- 4 天前
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 81/100 · 表现良好
30 秒速览
- 可在哪里用
- 通用 · 跨平台Claude Code
- 开始前需要
- 典型场景
- 前端开发者复现登录态下的线上问题时,让 Cursor 里的 AI 直接读取当前页面的控制台报错,而不必复制粘贴日志。
- 主要局限
- 安装是两步:既配 MCP 服务器,又要手动加载 Chrome 扩展并每次先打开 DevTools。
- 源码审查
- 81/100 · 表现良好
这个 Agent 能做什么,适合哪些场景?
BrowserTools MCP 由两部分组成:一个通过 npx 启动的 MCP 服务器(@agentdeskai/browser-tools-mcp),以及一个需要手动加载到 Chrome 的扩展。它不启动新的自动化浏览器,而是通过 DevTools 扩展附着在你已登录的真实 Chrome 会话上,采集控制台日志、XHR/fetch 网络请求、元素选择、页面信息、截图和本地存储,并以 16 个工具、3 个内置提示和若干 MCP resource 的形式暴露给 Cursor、Claude Code、Windsurf、Cline、Zed、Gemini CLI 等客户端。2.0 版本把原来的三个进程合并为一个,只绑定 127.0.0.1,要求每次运行生成的 token 鉴权,并在数据离开浏览器前清洗 Authorization、Cookie、JWT 和云厂商密钥等凭据。它另外提供 Lighthouse 可访问性、性能、SEO 和最佳实践审计,审计由独立浏览器进程执行且默认不触达内网与云元数据地址。运行时要求 Node.js 22.19 或更高版本,项目以 MIT 协议开源。
扩展在你打开 DevTools 的标签页上开始采集,并把遥测数据发给本地连接器;MCP 服务器随后向客户端暴露工具:getConsoleLogs、getConsoleErrors、getNetworkLogs、getNetworkErrors、getSelectedElement、getPageInfo、getConnectionStatus、listBrowserTabs、takeScreenshot、refreshBrowser、getBrowserStorage、wipeLogs,以及 runAccessibilityAudit、runPerformanceAudit、runSEOAudit、runBestPracticesAudit。每个有 DevTools 的标签页独立计数和保留数据,工具默认作用于最近打开 DevTools 的“当前标签页”,也可传 tabId 或 allTabs 指定范围,每个结果都会附上 tabId、url 和 otherTabs。整段历史数据通过 browser-tools://console/{tabId|all}、browser-tools://network/{tabId|all}、browser-tools://har/{tabId|all}、browser-tools://screenshot/{name}、browser-tools://audit/{reportId} 等 MCP resource 提供,工具用 resource_link 引用,避免撑爆上下文。读日志的工具支持 limit、offset 和关键词过滤,结果按最新优先返回并同时给出 total 与 returned。审计会启动一个独立 Chromium 浏览器,把完整的 Lighthouse 报告保存到截图目录下的 audits/ 中(保留最近 20 份)。
- 前端开发者复现登录态下的线上问题时,让 Cursor 里的 AI 直接读取当前页面的控制台报错,而不必复制粘贴日志。
- 调试需要鉴权或 Cookie 的后台页面时,使用已登录的 Chrome 会话而非新建 Playwright/Chrome DevTools MCP 的干净配置。
- 排查接口 4xx/5xx 和慢请求时,用 getNetworkLogs 或 getNetworkErrors 按 URL、请求体和状态过滤,必要时拉取 HAR 资源做完整分析。
- 在提交前跑一轮 runAccessibilityAudit 或 runPerformanceAudit,拿到 Core Web Vitals 与无障碍问题清单。
- Next.js 项目做 SEO 检查时,调用内置的 nextjsSeoAudit 提示配合 runSEOAudit 走系统化流程。
- 多个标签页同时开着时,用 listBrowserTabs 定位并指定 tabId,避免截图或日志取错页面。
如何安装或部署这个 Agent?
需要 Node.js 22.19 或更高版本,先确认版本:
node --version在你的 MCP 客户端配置里加入服务器(以通用 mcpServers 格式为例):
{
"mcpServers": {
"browser-tools": {
"command": "npx",
"args": ["-y", "@agentdeskai/browser-tools-mcp@latest"]
}
}
}Windows 上若客户端找不到 npx,改成:
{
"mcpServers": {
"browser-tools": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@agentdeskai/browser-tools-mcp@latest"]
}
}
}然后克隆仓库,在 chrome://extensions 打开开发者模式,选择“加载已解压的扩展程序”,指向仓库中的 chrome-extension 目录。不需要再启动第二个服务器。安装后可用 doctor 自检:
npx @agentdeskai/browser-tools-mcp --doctor如何使用这个 Agent?
在要检查的页面上按 F12 打开 Chrome DevTools,采集随即开始(BrowserTools 面板只用于设置和状态查看),然后让 AI 客户端调用工具,例如“检查控制台错误”或“对这个页面跑一次无障碍审计”。需要观察采集是否真的发生时,用 verbose 启动连接器:
npx @agentdeskai/browser-tools-server --verbose常用参数包括端口、截图目录、工具白名单与审计来源放行:
npx @agentdeskai/browser-tools-mcp --port 3025 --screenshot-dir ./shots --only getConsoleErrors,getNetworkLogs --audit-allow-origin http://localhost:3000多个客户端要共享同一浏览器会话时,先单独启动连接器,其他客户端会自动附着:
npx @agentdeskai/browser-tools-server开发本项目时:
npm install
npm run build
npm test
npx playwright install chromium
npm run test:e2e这个 Agent 有哪些优点和局限?
- 附着真实 Chrome 会话,绕开 Chrome 136 起对默认配置远程调试的限制,无需重建登录态。
- 2.0 把三个进程合并为一个,只绑定 127.0.0.1,带每次运行的 token 鉴权,并清洗 Authorization、Cookie、JWT、云密钥等凭据。
- 除日志和网络外还提供 Lighthouse 的性能、无障碍、SEO、最佳实践四类审计,这是纯自动化浏览器方案通常缺少的。
- 大量历史数据走 MCP resource 而非直接内联,工具支持 limit/offset 和关键词过滤,并回传 total/returned 控制上下文体积。
- 每个标签页独立采集与保留,结果附带 tabId、url 和 otherTabs,降低取错页面的风险。
- 提供 --doctor 自检、--only/--exclude 工具白名单和 MIT 开源许可。
- 安装是两步:既配 MCP 服务器,又要手动加载 Chrome 扩展并每次先打开 DevTools。
- 网络采集从 DevTools 打开那一刻才开始,页面加载早期的请求需要刷新页面才能捕获。
- 默认控制台采集会触发 Chrome 的“正在调试此浏览器”横幅,需切换到 Wrap page console 模式规避。
- Firefox 未经任何验证,截图依赖 DevTools 协议在 Firefox 上不可用;Arc 仅尽力支持且未做无头验证。
- 审计会另起浏览器进程,最长约一分钟,且对内网/本地来源有放行规则,需要额外理解。
- 从 1.x 升级必须迁移:1.2.x 存在关键漏洞,旧版还会绑定 0.0.0.0 并扫描私有网段。
这个 Agent 与同类方案有什么区别?
README 明确对比了 Chrome DevTools MCP 与 Playwright MCP 这类基于 CDP 的自动化服务器:它们驱动全新的自动化浏览器,适合写测试,但由于 Chrome 136 起禁止对默认配置远程调试,调试已登录的真实应用时需要重建鉴权状态;BrowserTools MCP 通过 DevTools 扩展附着现有会话,并额外提供 Lighthouse 级别的性能、无障碍和 SEO 数据。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| BrowserTools MCP 当前 | 81 · 表现良好 | — | ★ 7.3k | 4 天前 | TypeScript | Claude Code |
| JS Reverse MCP | 82 · 表现良好 | MCP 服务器免费 | ★ 3k | 1 个月前 | TypeScript | Codex · Claude Code |
| Interceptor | 57 · 缺口较多 | 命令行工具免费 | ★ 557 | 6 天前 | TypeScript | Codex · Claude Code · Claude.ai |
| OpenTabs | 49 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 989 | 2 个月前 | TypeScript | Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 与 SECURITY.md 明确记录 2.x 的权限收敛:仅绑定 127.0.0.1、拒绝非回环地址、HTTP 需 per-run token、WebSocket 仅接受扩展 Origin、移除 AppleScript 路径、截图名白名单化,并称有 connector-security 回归测试,属较充分的 least_privilege 证据(3)。但破坏性/外部动作(refreshBrowser、wipeLogs、审计启动独立浏览器)依赖 MCP 客户端审批,仓库未提供自身确认机制,故 user_confirmation 仅 2。数据流透明(红字、双次脱敏、headers 默认关闭、storage 值默认隐藏)证据充分(3)。敏感数据处理有 best-effort 红字与测试佐证(3)。依赖安全仅见 CI 的 npm audit --audit-level=moderate,未见锁文件或具体依赖清单,故 2。外部效应方面审计浏览器有 SSRF/元数据地址防护,但 --audit-allow-private-network 与 --no-redact 属高风险开关,仅文档警示,故 2。回滚仅 1.x→2.x 迁移说明,无运行时撤销/恢复机制,故 1。来源归属有 MIT 版权与 GHSA 编号,但发布者身份未验证,故 2。
README 与测试、CI 相互印证(多 tab 归属、截图预算、脱敏、审计 egress),自洽性较好(3)。依赖可用性仅声明 Node>=22.19 与 npx 安装,未提供锁文件,故 2。失败信息有 --doctor、--verbose、明确错误(unknown tab、AuditError 指名被拒主机),故 3。
面向 Cursor/Claude Code/Windsurf 等多 MCP 客户端,场景清晰(3)。能力边界在 Tools 表与 Known limits 中界定明确(3)。触发精度依赖 DevTools 打开即采集、当前 tab 语义,存在隐式触发与多 tab 歧义,故 2。环境适配覆盖多 OS CI 与多 Chromium 浏览器,但 Firefox 明确未验证、fake-IP 代理下审计失败,故 2。
README 结构清晰、分层(3)。安装步骤含 Windows 变体与 --doctor(3)。命名稳定性方面 2.0 为重写、1.x 有破坏性变更,故 2。示例有工具调用片段但无 FAQ,故 2。Known limits 详尽(3)。MIT 许可证完整(3)。版本化有 2.0 重写与迁移说明,但无 CHANGELOG 文件,故 2。维护责任有 SECURITY 报告渠道与 72 小时响应,但发布者未验证,故 2。
输出为结构化 schema、resource_link、分页与 total/returned,可用性高(3)。相对 CDP 自动化服务器的差异化价值(附着已登录会话、Lighthouse)明确(3)。成本方面审计需启动独立浏览器、最长一分钟,截图有字节预算,收益需权衡,故 2。
README 声明多可追溯到 SECURITY.md 与测试文件(GHSA、回归测试路径),但部分为断言无直接文件佐证,故 2。跨源印证存在(README/SECURITY/测试/CI),但未独立执行,故 2。事实与推断分离尚可,但 README 含营销性对比表述,故 2。
- 发布者身份未经验证,安装前应自行核实 npm 包与仓库归属。
- 1.x 存在 CVSS 9.8 严重漏洞(GHSA-xvrv-w8pg-f25f),务必使用 2.x 并避免旧版本。
- --no-redact 与 --audit-allow-private-network 会显著削弱安全边界,仅在明确知情时使用。
- 脱敏为基于模式的最佳努力,非保证;自定义令牌形态可能泄漏。
- Firefox 未验证,截图在 Firefox 不可用;fake-IP 代理下审计会失败。
- 本评估为静态源码审阅,未执行任何测试,置信度低。