Chrome DevTools MCP 调试指南——让 AI 打开 F12 调试你的网页

Chrome DevTools MCP 调试指南——让 AI 打开 F12 调试你的网页

整理日期: 2026-06-03

简介

Chrome DevTools MCP 是 Google Chrome DevTools 团队官方出品 的 MCP 服务器。它让 AI 编程助手能够直接操控 Chrome 浏览器的开发者工具——就像人类开发者按下 F12 打开 DevTools 面板一样。

它的核心价值不是”操作浏览器”(那是 Playwright MCP 的领域),而是调试和诊断——读取 Console 日志、分析网络请求、录制 Performance Trace、检查代码覆盖率、审计可访问性。这些能力是所有”纯自动化”方案(如 Playwright、Puppeteer)完全做不到的。

官方资源:

  • GitHub: ChromeDevTools/chrome-devtools-mcp
  • 首次发布: 2025 年 9 月
  • 工具数量: 29 个(截至 2026 年 6 月)
  • 底层引擎: Puppeteer + Chrome DevTools Protocol (CDP)

前置要求

依赖 版本要求 说明
Node.js >= 18 通过 npx 运行 MCP 服务器
Google Chrome 较新版本 需要支持 CDP(Chrome DevTools Protocol)
AI CLI Claude Code / Gemini / Cursor 等 支持 MCP 协议

一、安装与配置

1.1 在 Claude Code 中安装

1
2
# 推荐方式
claude mcp add chrome-devtools -s local -- npx chrome-devtools-mcp@latest

1.2 在 Hermes Agent 中配置

编辑 ~/.hermes/config.yaml

1
2
3
4
5
mcp_servers:
chrome-devtools:
command: "npx"
args: ["chrome-devtools-mcp@latest"]
timeout: 120

1.3 运行模式

Chrome DevTools MCP 支持两种运行模式:

模式一:自动启动浏览器(推荐新手)

MCP 服务器会自动启动一个新的 Chrome 实例并连接。无需额外操作。

1
claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latest

模式二:连接已有 Chrome(推荐调试已部署应用)

1
2
3
4
5
6
# 1. 先启动 Chrome 并开启远程调试端口
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug

# 2. 配置 MCP 连接到已有实例
claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latest \
--chrome-cdp-endpoint http://127.0.0.1:9222/json/version

💡 模式二的优势:可以连接已登录状态的真实浏览器,直接在已部署的页面上进行调试和性能分析。

1.4 验证安装

1
2
claude mcp list
# 应包含: chrome-devtools → npx chrome-devtools-mcp@latest [local]

二、29 个工具的完整清单

Chrome DevTools MCP 提供 29 个工具,分为 7 大类。以下是完整清单:

2.1 🔍 页面导航与基础操作(4 个)

工具名 功能 说明
browser_navigate 导航到指定 URL 基础页面跳转
browser_click 点击元素 通过 CSS 选择器
browser_set_input_value 设置输入框值 填入文本
browser_screenshot 页面截图 支持全页截图

⚠️ 与 Playwright 的区别:Chrome DevTools 的页面操作能力有限,自动化交互不如 Playwright 流畅。

2.2 📋 Console 日志(2 个)⭐ 核心能力

工具名 功能 说明
console_read_log 读取 Console 日志 获取所有 console.log/warn/error 输出
console_list_breakpoints 列出断点列表 查看已设置的断点

典型场景:调试 JS 报错

1
claude "打开 https://example.com,读取 Console 日志,看看有没有报错"

AI 内部执行:

1
2
3
1. browser_navigate(url: "https://example.com")
2. console_read_log() → 返回所有 Console 输出
3. 分析错误信息并报告

2.3 🌐 网络请求分析(4 个)⭐ 核心能力

工具名 功能 说明
network_start_recording 开始记录网络请求 开启网络监听
network_stop_recording 停止记录 关闭网络监听
network_get_requests 获取已记录的请求列表 请求的 URL、状态码、耗时等
network_get_response_body 获取指定请求的响应体 查看接口返回的原始数据

典型场景:排查接口返回错误

1
claude "打开 https://example.com/login,开始录制网络请求,然后试试用错误的密码登录,看看登录接口返回了什么"

AI 执行过程:

1
2
3
4
5
6
7
1. network_start_recording()
2. browser_navigate(url: "https://example.com/login")
3. browser_set_input_value(...) 填写表单
4. browser_click(...) 点击登录
5. 等待响应
6. network_get_requests() → 过滤出登录接口
7. network_get_response_body(request_id) → 查看返回数据

2.4 ⚡ 性能分析(3 个)⭐ 唯一能力(Playwright 无法提供)

工具名 功能 说明
performance_start_trace 开始录制性能 Trace 记录页面加载和交互的详细性能数据
performance_stop_trace 停止录制 停止录制并生成 Trace 报告
performance_get_trace 获取 Trace 数据 返回 JSON 格式的性能数据

典型场景:分析页面加载慢的原因

1
claude "分析 https://example.com 的加载性能,找出加载瓶颈"

AI 执行过程:

1
2
3
4
5
6
1. performance_start_trace()
2. browser_navigate(url: "https://example.com")
3. 等待页面完全加载
4. performance_stop_trace()
5. performance_get_trace()
6. 分析 Trace 数据:查找 Long Tasks、慢资源、布局偏移等

💡 Performance Trace 是 Chrome DevTools MCP 独有的杀手级能力。其他所有浏览器 MCP 方案都无法提供类似的功能。

2.5 📊 代码覆盖率(2 个)⭐ 唯一能力

工具名 功能 说明
coverage_start 开始记录代码覆盖度 追踪页面使用了哪些 CSS/JS
coverage_stop 停止记录并获取报告 返回未被使用的代码比例

典型场景:找出未使用的 CSS/JS

1
claude "启动代码覆盖度监控,打开 https://example.com,然后告诉我哪些 CSS 和 JavaScript 从未被使用"

2.6 🎨 元素与样式检查(8 个)⭐ 核心能力

工具名 功能 说明
dom_inspect_element 检查元素 获取元素的 DOM 树结构
dom_get_element_style 获取元素计算样式 最终生效的 CSS 属性和值
dom_get_element_box_model 获取盒模型 content、padding、border、margin 各区域大小
dom_get_element_accessibility_info 获取无障碍信息 ARIA 属性、角色、名称等
dom_get_layout_shift_info 获取布局偏移信息 CLS(Cumulative Layout Shift)相关
dom_get_sourcemap_info 获取 Source Map 编译代码到源代码的映射
dom_get_js_properties 获取 JS 属性 DOM 元素上绑定的 JavaScript 属性
dom_list_event_listeners 列出事件监听器 元素上注册的所有事件

典型场景:排查布局问题

1
claude "检查 https://example.com 首页的导航栏,为什么它在移动端布局错位了?获取它的计算样式和盒模型"

2.7 ♿ 可访问性审计(6 个)⭐ 唯一能力

工具名 功能 说明
a11y_start_audit 开始可访问性审计 运行 Lighthouse 可访问性检查
a11y_get_audit_results 获取审计结果 列出所有违反可访问性规则的项目
a11y_get_contrast_issues 获取颜色对比度问题 文本和背景色对比度不足的问题
a11y_get_keyboard_navigation_issues 获取键盘导航问题 Tab 顺序、焦点管理等
a11y_get_aria_issues 获取 ARIA 属性问题 错误使用或遗漏的 ARIA 属性
a11y_get_label_issues 获取标签问题 表单元素缺少标签的问题

典型场景:网站无障碍合规检查

1
claude "对 https://example.com 进行一次完整的可访问性审计,列出所有需要修复的问题"

三、实战案例:完整调试工作流

场景:解决”页面加载慢 + 接口报错 + 布局错位”

假设你遇到了一个页面同时存在性能问题、接口错误和布局问题。Chrome DevTools MCP 是唯一能一站式调试三种问题的方案。

1
2
3
4
5
claude "帮我调试 https://example.com/dashboard 页面:
1. 分析加载性能,找出最慢的资源
2. 录制网络请求,检查有没有失败的接口
3. 检查 Console 有无 JS 错误
4. 截图告诉我结果"

AI 的完整执行链路:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
阶段一:性能分析
├── performance_start_trace()
├── browser_navigate("https://example.com/dashboard")
├── 等待页面加载完成
├── performance_stop_trace()
└── 分析结果 → 报告最慢资源

阶段二:网络检查
├── network_start_recording()
├── browser_reload() # 重新加载
├── 等待请求完成
├── network_get_requests() → 过滤 4xx/5xx
└── 分析失败请求

阶段三:Console 检查
├── console_read_log()
└── 提取 error/warn 级别的日志

阶段四:截图存档
├── browser_screenshot()
└── 返回截图

四、在 Hermes 中同时配置两个浏览器 MCP

Playwright MCP + Chrome DevTools MCP 各有所长,互不冲突。最佳方案是两个都装。

1
2
3
4
5
6
7
8
9
10
11
# ~/.hermes/config.yaml
mcp_servers:
# Playwright MCP — 浏览器交互操作
playwright:
command: "npx"
args: ["@playwright/mcp@latest"]

# Chrome DevTools MCP — 调试诊断分析
chrome-devtools:
command: "npx"
args: ["chrome-devtools-mcp@latest"]

使用场景选择:

需求 谁上场
“帮我抓取这个页面数据” Playwright
“页面报错了帮我查一下” Chrome DevTools
“登录这个网站做个操作” Playwright
“分析为什么这个页面加载慢” Chrome DevTools
“截图看看 UI 效果” 都可以
“检查接口返回什么” Chrome DevTools
“自动化表单填写” Playwright
“检查可访问性问题” Chrome DevTools
“多标签页操作” Playwright
“前端性能优化分析” Chrome DevTools

五、Chrome DevTools MCP vs Playwright MCP 完整对比

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
能力                          Chrome DevTools MCP    Playwright MCP
────────────────────────────────────────────────────────────────
🚗 页面导航、点击、填表 ✅ (有限) ✅✅✅ (核心)
📸 截图 ✅ ✅✅✅
📄 页面内容提取 ✅ ✅✅✅
🖱 多标签页管理 ❌ ✅✅✅
🔄 多浏览器引擎 仅 Chrome Chromium+Firefox+WebKit
📱 移动端模拟 ✅ ✅✅✅
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔍 Console 日志读取 ✅✅✅ (核心) ✅ (基础)
🌐 网络请求分析 ✅✅✅ (核心) ✅ (基础)
⚡ 性能 Trace 录制+分析 ✅✅✅ (唯一) ❌
📊 代码覆盖率 (Coverage) ✅✅✅ (唯一) ❌
🎨 元素检查 (Inspect) ✅✅✅ (唯一) ❌
♿ Accessibility 审计 ✅✅✅ (唯一) ❌
🔬 Source Map 解析 ✅✅✅ (唯一) ❌
📉 Layout Shift 分析 ✅✅✅ (唯一) ❌

一句话总结:

Playwright MCP = AI 的手,帮你操作浏览器
Chrome DevTools MCP = AI 的眼睛,帮你看懂浏览器里发生了什么


六、常见问题

Q1:Chrome DevTools MCP 启动后报 “No Chrome found”

原因:系统中没有安装 Chrome 或系统找不到 Chrome 可执行文件。

解决

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 安装 Chrome for Testing(推荐)
npx @puppeteer/browsers install chrome

# 或指定 Chrome 路径
claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latest \
--chrome-executable /usr/bin/google-chrome

# 在 Hermes 中
mcp_servers:
chrome-devtools:
command: "npx"
args:
- "chrome-devtools-mcp@latest"
- "--chrome-executable"
- "/usr/bin/google-chrome"

Q2:连接已有 Chrome 时提示 “Connection refused”

原因:Chrome 没有开启远程调试端口,或端口被防火墙阻挡。

解决

1
2
3
4
5
# 确保启动 Chrome 时添加了 --remote-debugging-port 参数
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug

# 验证端口是否开放
curl http://127.0.0.1:9222/json/version

Q3:Performance Trace 数据过大

Trace 数据可能非常大(10MB+)。建议缩短录制时间或只录制关键操作。

1
claude "录制 3 秒的性能 Trace,只关注页面初始加载阶段"

Q4:Console 日志读取不全

原因:Console 日志可能在页面加载过程中被清除。

解决:确保在网络请求记录开始后再执行操作,或者在页面加载完后立即读取 Console。

Q5:不支持 Firefox 或 Safari

Chrome DevTools MCP 仅支持 Chrome。这是设计限制,因为它底层依赖 Chrome DevTools Protocol(CDP),这是 Chrome 独有的协议。

如果需要在 Firefox/Safari 上调试,可以考虑使用各自浏览器的开发者工具,或使用 Playwright MCP(支持多浏览器)。


七、最佳实践

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
## 调试工作流建议

### 日常开发调试
1. 连接已有 Chrome(保持登录态)
2. 用 Console 检查 JS 错误
3. 用 Network 查接口问题
4. 用 Performance 分析加载性能
5. 截图存档

### 上线前检查清单
□ Console 无 error 级别报错
□ 所有接口返回 2xx
□ 页面加载时间 < 3秒
□ 无布局偏移(CLS < 0.1)
□ 可访问性审计通过
□ 代码覆盖度 > 80%
□ 移动端响应式正常

### 性能优化流程
1. Performance Trace → 找出瓶颈
2. 分析 Long Tasks → 找出卡顿原因
3. 检查网络瀑布图 → 优化资源加载
4. 查看代码覆盖度 → 移除未用代码
5. 再次 Performance Trace → 验证优化效果

八、总结

Chrome DevTools MCP 是 Web 开发者调试工具箱中的重要补充。它让 AI 能够做到人类开发者最常做的事情——打开 F12 开始调试。

核心能力 应用场景 独有性
Console 日志 错误排查、日志分析 与 Playwright 重叠
网络请求分析 接口调试、性能分析 深度优于 Playwright
Performance Trace 性能瓶颈定位 唯一
代码覆盖度 优化打包体积 唯一
元素检查 布局问题诊断 唯一
可访问性审计 无障碍合规 唯一

一句话总结: 需要操作浏览器用 Playwright MCP,需要调试浏览器用 Chrome DevTools MCP。真正的王者方案是两个都装。


本文基于最新会话讨论内容整理,部分信息参考 Google Chrome DevTools MCP 官方文档。