Chrome DevTools MCP
让编码智能体直接操控 Chrome,完成网页自动化、调试与性能分析。
- Star 数
- ★ 54k
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- TypeScript
- FA 评分
- 79/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 前端开发者让编码智能体复现页面交互,并结合控制台消息和带源码映射的堆栈定位运行时错误。
- 不适合
- 需要完全离线、数据不出本机的团队:性能分析会把 trace URL 发往 Google CrUX API
- 只使用非 Chrome 的 Chromium 浏览器的团队:官方仅支持 Google Chrome 与 Chrome for Testing
- 在浏览器中登录个人账号或处理敏感页面的用户:MCP 客户端可读取并修改浏览器数据
这个 Agent 能做什么,适合哪些场景?
Chrome DevTools MCP 是一个面向编码智能体的 MCP 服务器,同时提供不依赖 MCP 的 CLI。它通过 Puppeteer 驱动 Chrome,并借助 Chrome DevTools 采集性能轨迹、检查网络请求、控制台消息、页面状态和内存快照。智能体可以导航页面、填写表单、执行脚本、截屏、模拟设备环境,并生成可供后续诊断的调试与性能结果。服务既能启动带专用配置目录的新 Chrome 实例,也能通过自动连接、调试端口或 WebSocket 接入现有浏览器。它适合需要真实浏览器证据的开发和测试流程,但会把浏览器内容暴露给 MCP 客户端,并依赖受官方支持的 Chrome 或 Chrome for Testing。
MCP 客户端启动 chrome-devtools-mcp 后,服务器在工具首次需要浏览器时启动 Chrome,或通过 --autoConnect、--browser-url、--wsEndpoint 连接现有实例。智能体可用 navigate_page、click、fill_form、press_key 和 upload_file 操作页面,用 evaluate_script 执行页面脚本,并通过 take_snapshot、take_screenshot、控制台和网络请求工具读取运行状态。性能流程由 performance_start_trace、performance_stop_trace 和 performance_analyze_insight 组成;内存调试工具可拍摄、比较并分析堆快照。它还可按配置启用 Lighthouse、扩展、PWA、WebMCP、第三方开发工具和录屏能力;其中部分属于实验功能或需要额外依赖。输出返回给 MCP 客户端,CLI 则提供不经过 MCP 的使用路径。
- 前端开发者让编码智能体复现页面交互,并结合控制台消息和带源码映射的堆栈定位运行时错误。
- 性能工程师对指定网站录制 Chrome 性能轨迹,再提取可执行的性能洞察,并可结合 CrUX 现场数据。
- 测试工程师在真实 Chrome 中执行导航、点击、表单填写、文件上传和截图,验证关键用户流程。
- Web 开发者检查请求列表和单个网络请求,以排查接口失败、资源加载异常或页面行为问题。
- 内存问题调查者启用实验性内存调试,拍摄和比较堆快照,查看支配关系、保留路径及重复字符串。
- 沙箱内运行智能体的团队通过远程调试端口或 WebSocket,让 MCP 服务连接宿主机上的 Chrome。
如何安装或部署这个 Agent?
先安装 Node.js LTS、npm,以及当前稳定版或更新版本的 Google Chrome;Chrome for Testing 也受官方支持。将以下配置加入 MCP 客户端:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
}Codex 也可以直接注册该服务器:
codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latestClaude Code 可使用用户级配置:
claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest如果只需要导航、脚本执行和截图,可启用精简无头模式:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless"]
}
}
}基础安装不要求 API 凭据;使用受认证的网站时,浏览器会处理相应登录状态。通过带认证的 WebSocket 连接时,可用 --wsHeaders 提供自定义请求头。
如何使用这个 Agent?
启动已配置的 MCP 客户端,然后发送首个测试提示:
Check the performance of https://developers.chrome.com客户端调用需要浏览器的工具后,服务器才会自动启动 Chrome,并录制性能轨迹。若要连接已经运行的 Chrome,可先这样配置:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--browser-url=http://127.0.0.1:9222"
]
}
}
}随后以非默认用户数据目录开启远程调试;Linux 示例:
/usr/bin/google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable多个智能体共享同一服务器实例时,可增加 --experimentalPageIdRouting,让页面级工具按 pageId 路由。多个独立会话若要避免共用默认配置目录,可同时使用 --isolated。
这个 Agent 有哪些优点和局限?
- 工具覆盖自动化、网络、控制台、性能、Lighthouse 和内存分析,比只提供点击与截图的浏览器控制接口更适合深度调试。
- 既可自动启动专用 Chrome,也可通过自动连接、调试端口或 WebSocket 接入已有实例,适应本地与沙箱部署。
- 基于 MCP,可接入 Codex、Claude Code、Cursor、VS Code、Gemini CLI 等多种已列明客户端,并另有独立 CLI。
--slim、工具类别开关、截图压缩和尺寸限制可减少暴露的工具数量及对话上下文占用。
- 官方只支持 Google Chrome 和 Chrome for Testing;其他 Chromium 浏览器可能运行,但不保证兼容。
- MCP 客户端能够检查、调试和修改浏览器中的数据,因此打开个人账号或敏感页面会扩大数据暴露风险。
- 使用统计和更新检查默认开启;性能分析还可能把轨迹中的 URL 发给 Google CrUX API,需分别显式关闭。
- 内存调试、页 ID 路由、视觉点击、录屏、WebMCP 等多项能力属于可选或实验功能,其中录屏还要求 ffmpeg。
- 远程调试端口会允许本机应用控制浏览器,且 Chrome 要求使用非默认用户数据目录。
这个 Agent 与同类方案有什么区别?
完整模式提供自动化、调试、网络、性能、内存及其他可选工具;--slim 模式只暴露导航、脚本执行和截图三项工具,更适合基础浏览任务和较小上下文。默认模式会启动使用专用配置目录的 Chrome,而 --autoConnect 适合在 Chrome 144 及以上版本共享手动浏览状态,--browser-url 或 --wsEndpoint 则更适合从沙箱连接外部浏览器。MCP 服务适合集成编码智能体,随附 CLI 可用于不采用 MCP 的工作流。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Chrome DevTools MCP 当前 | 79 · 存在缺口 | MCP 服务器免费 | ★ 54k | 今天 | TypeScript | Codex · Claude Code |
| bdg 浏览器调试 CLI | 68 · 存在缺口 | 命令行工具免费 | ★ 177 | 今天 | TypeScript | Codex · Claude Code |
| OpenTabs | 49 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 988 | 2 个月前 | TypeScript | Claude Code |
| Steel Browser | 29 · 缺口较多 | 自托管服务免费版 + 付费版 | ★ 7.8k | 5 天前 | TypeScript | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示项目支持 MCP roots、路径校验、符号链接写入防护以及可选 URL 允许/阻止规则,并用测试覆盖多项边界;但临时目录始终可访问,网络规则并非完整沙箱,且浏览器控制能力本身很广,因此最小权限未获满分。服务器把工具调用及参数验证责任明确交给客户端,未展示内建的逐操作用户确认,故确认项为 0。README 充分披露浏览器内容暴露、默认启用的使用统计、CrUX 查询、更新检查及退出方式,数据流透明度可获满分。敏感数据有明确警告和关闭遥测的机制,但遥测默认开启、浏览器数据可被客户端读取,且 WebSocket 头可携带凭据,未展示专门的秘密遮蔽或最小化措施。依赖版本、npm 脚本限制、锁定提交的 Actions 和发布前验证体现了供应链防护,但普通依赖仍有范围版本,且所给材料没有漏洞扫描或已知漏洞处置证据。写文件、安装扩展、导航和页面修改等外部效果被清楚记录,却没有统一确认门;隔离配置和部分关闭/卸载能力只提供有限恢复,不能回滚一般页面或文件副作用。仓库、作者和许可证归属明确,但发布者未被企业注册表验证,且材料不足以独立确认发布身份。
README、配置、包元数据及测试对页面标识、重连、快照、结构化输出、超时调整和资源访问表现出较强的一致性,因此自洽性获满分。Node、Chrome 和 npm 要求明确,关键运行依赖有固定版本,但推荐的 @latest 安装会随时间漂移,Chrome 仅正式支持有限版本范围,且未提供离线或降级方案。测试显示若干明确错误和重连/回退通知,README 也链接故障排除文档;然而提供的材料没有系统展示所有工具的错误分类、修复建议和诊断上下文,所以失败消息未获满分。
文档覆盖编码代理、无 MCP 的 CLI、基础任务 slim 模式、调试、性能、网络、内存、扩展及大量客户端场景,受众和场景说明充分。支持的浏览器、文件根、临时目录、网络护栏局限、提示注入风险以及调用方责任均有明确边界说明。工具使用由显式 MCP 调用和结构化参数触发,精度较好,但服务器不验证代理意图或要求确认,调用安全依赖客户端。Node/Chrome 要求、Windows 特例、多个 IDE/CLI、无头模式、浏览器连接方式、用户数据目录和隔离模式均有具体适配说明,因此环境适配充分。
README 通过工具参考、CLI、变更日志、贡献、故障排除和设计原则组织信息,并提供自动生成的工具与选项索引,信息架构完整。多种客户端的安装步骤、平台差异、先决条件和首个验证提示非常具体。包名和 MCP 名称明确,配置同时保留驼峰及短横线别名;但大量示例使用 @latest,且不同示例有的省略 @latest,削弱了版本稳定性。首个提示和大量配置示例充足,但所给材料中没有完整 FAQ 内容。已知浏览器支持范围、遥测、数据暴露、提示注入、roots 与网络沙箱局限均披露充分。Apache-2.0 元数据与完整 LICENSE 一致。包版本、CHANGELOG 链接、常规提交检查和预发布验证形成清楚的版本更新路径。SECURITY、问题跟踪地址和 Google LLC 作者字段提供维护入口,但发布者身份未被指定注册表验证,材料也未给出具体维护者或支持时限,因此维护责任未满分。
产品向代理提供文本、图像和可选结构化结果,测试覆盖稳定元素标识、页面状态、网络详情、文件路径及快照输出,静态证据充分支持输出可用性。它把 DevTools、Puppeteer、性能洞察、网络、内存、扩展和 PWA 操作集中为 MCP/CLI 工具,相对普通网页自动化具有明确增量价值。成本方面提供 slim、headless、遥测退出和 CrUX 关闭选项,但完整模式工具面较大,会启动或连接 Chrome,并可能产生性能、隐私、令牌和维护成本;材料没有量化基准,故未获满分。
主要能力、风险和配置声明可追溯到具体 README、SECURITY、package 元数据、工作流与测试行为,声明可追踪性充分。版本、许可证、工具行为、路径限制、结构化输出和发布检查在多个来源间相互印证,交叉佐证较强。文档通常明确区分正式支持、可能可用、非完整沙箱及客户端责任;但“可靠自动化”“完整能力”等宣传性表述没有在所给材料中附带基准或全面证据,因此事实与推断分离未获满分。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 使用统计默认开启,并与 Chrome 自身的遥测设置相互独立;如不希望传送调用成功率、延迟或环境信息,应显式使用 --no-usage-statistics 或相应环境变量。
- MCP 客户端可读取、调试并修改浏览器中的数据;不要在连接的配置文件或页面中保留不愿交给代理客户端的个人信息、会话或凭据。
- MCP roots 和 URL 允许/阻止规则都不是完整的系统沙箱,临时目录仍可访问;高风险使用应叠加操作系统或虚拟机级文件与网络隔离。
- 网页内容会原样返回,可能携带提示注入;客户端需要把页面文本视为不可信输入,并在写文件、安装扩展、下载或产生外部副作用前实施确认。
- 推荐配置使用 chrome-devtools-mcp@latest,无法保证修订固定或更新后行为不变;受控环境宜锁定经审核的精确版本。
- 本结论仅基于所给静态文件,未执行代码、测试、依赖漏洞扫描或网络行为验证,且发布者身份在指定企业注册表中未知。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
chrome-devtools-mcp-v1.11.0 chrome-devtools-mcp: v1.11.0
发布说明摘录
[1.11.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v1.10.1...chrome-devtools-mcp-v1.11.0) (2026-10-15) 🎉 Features * add --file-navigations flag to reject file: URL navigations ([#2853](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2853)) ([54cae57](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/54cae57bcfae752f80cab2f02fd802c3bcb740ec)) …在 GitHub 查看 ↗ -
chrome-devtools-mcp-v1.10.1 chrome-devtools-mcp: v1.10.1
发布说明摘录
[1.10.1](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v1.10.0...chrome-devtools-mcp-v1.10.1) (2026-09-23) 🛠️ Fixes * build: resolve node export conditions in rollup bundle ([#2814](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2814)) ([d7c9b55](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/d7c9b55490d0be66f1d8c77711aaf6854af8ceb7))在 GitHub 查看 ↗ -
chrome-devtools-mcp-v1.10.0 chrome-devtools-mcp: v1.10.0
发布说明摘录
[1.10.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v1.9.0...chrome-devtools-mcp-v1.10.0) (2026-09-23) 🎉 Features * add css formatter class ([#2707](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2707)) ([f0b5fa4](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/f0b5fa4bde0afa30c53996ec0f987af6b6ab28ac)) * add get_css_style tool ([#2612](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2612)) ([4454ae0](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/4454ae0a8a3d6072ea52d8931a9562907e8dbaae)) …在 GitHub 查看 ↗
常见问题
是否需要付费 API 或访问令牌?
--wsHeaders 提供认证头。它能读取浏览器中的敏感信息吗?
如何关闭遥测和 CrUX 请求?
--no-usage-statistics 和 --no-performance-crux。设置 CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS 或 CI 也会禁用使用统计。可以复用日常 Chrome 配置吗?
--autoConnect 连接已启用远程调试的浏览器,但它会访问所选配置的全部打开窗口。调试端口方式则要求使用非默认用户数据目录,不能直接暴露常规配置。并发智能体会不会操作错标签页?
--experimentalPageIdRouting,让页面级调用携带 pageId。独立会话还可使用 --isolated 创建各自的临时 Chrome 配置目录。