关于 Chrome DevTools MCP
Chrome DevTools MCP 是供编码 Agent 控制和检查实时 Chrome 浏览器的 MCP 服务,结合浏览器自动化、DevTools 调试与性能分析。
主要功能
- 01使用 Puppeteer 自动执行 Chrome 操作
- 02检查网络请求和控制台
- 03截取屏幕与页面快照
- 04记录跟踪并分析性能
- 05连接正在运行的 Chrome 实例
适用场景
- 01为编码 Agent 自动执行浏览器任务
- 02排查页面错误和网络活动
- 03通过跟踪测量网站性能
MCP 相关
向 MCP 客户端提供 Chrome 浏览器控制、检查、调试、网络和性能工具。客户端可启动浏览器,也可连接正在运行的 Chrome 实例。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Chrome DevTools MCP
chrome-devtools-mcp 让你的编码 Agent(例如 Gemini、Claude、Cursor 或 Copilot)
能够控制和检查正在运行的 Chrome 浏览器。它作为 Model-Context-Protocol
(MCP)服务,为你的 AI 编码助手提供 Chrome DevTools 的全部强大功能,用于可靠的自动化、深入调试和性能分析。
工具参考 | 更新日志 | 贡献指南 | 故障排除
主要功能
- 获取性能洞察:使用 Chrome DevTools 记录 跟踪信息并提取可操作的性能洞察。
- 高级浏览器调试:分析网络请求、截取屏幕截图并 检查浏览器控制台。
- 可靠的自动化。使用 puppeteer 自动执行 Chrome 中的操作, 并自动等待操作结果。
免责声明
chrome-devtools-mcp 会向 MCP 客户端公开浏览器实例中的内容,
使其能够检查、调试和修改浏览器或 DevTools 中的任何数据。
请避免分享你不希望 MCP 客户端获知的敏感信息或个人信息。
要求
开始使用
将以下配置添加到你的 MCP 客户端:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
}
说明
使用chrome-devtools-mcp@latest可确保你的 MCP 客户端始终使用最新版本的 Chrome DevTools MCP 服务。
MCP 客户端配置
Amp
按照 https://ampcode.com/manual#mcp 中的说明操作,并使用上方提供的配置。你也可以使用 CLI 安装 Chrome DevTools MCP 服务:amp mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
Antigravity
要使用 Chrome DevTools MCP 服务,请按照 Antigravity 文档中的说明安装自定义 MCP 服务。将以下配置添加到 MCP 服务配置中:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--browser-url=http://127.0.0.1:9222",
"-y"
]
}
}
}
这样,Chrome DevTools MCP 服务就会自动连接到 Antigravity 正在使用的浏览器。如果你使用的端口不是 9222,请务必相应调整。
Claude Code
使用 Claude Code CLI 添加 Chrome DevTools MCP 服务(指南):claude mcp add chrome-devtools npx chrome-devtools-mcp@latest
Cline
按照 https://docs.cline.bot/mcp/configuring-mcp-servers 中的说明操作,并使用上方提供的配置。Codex
按照配置 MCP 指南操作, 使用上方的标准配置。你也可以使用 Codex CLI 安装 Chrome DevTools MCP 服务:codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
在 Windows 11 上
通过更新 .codex/config.toml 并添加以下 env 和 startup_timeout_ms 参数,配置 Chrome 的安装位置并延长启动超时时间:
[mcp_servers.chrome-devtools]
command = "cmd"
args = [
"/c",
"npx",
"-y",
"chrome-devtools-mcp@latest",
]
env = { SystemRoot="C:\\Windows", PROGRAMFILES="C:\\Program Files" }
startup_timeout_ms = 20_000
Copilot CLI
启动 Copilot CLI:
copilot
运行以下命令,开始添加新 MCP 服务的对话:
/mcp add
配置以下字段,并按 CTRL+S 保存配置:
- 服务名称:
chrome-devtools - 服务类型:
[1] Local - 命令:
npx -y chrome-devtools-mcp@latest
Copilot / VS Code
按照 MCP 安装指南操作,并使用上文的标准配置。你也可以使用 VS Code CLI 安装 Chrome DevTools MCP 服务:code --add-mcp '{"name":"chrome-devtools","command":"npx","args":["chrome-devtools-mcp@latest"]}'
Factory CLI
使用 Factory CLI 添加 Chrome DevTools MCP 服务(指南):droid mcp add chrome-devtools "npx -y chrome-devtools-mcp@latest"
Gemini CLI
使用 Gemini CLI 安装 Chrome DevTools MCP 服务。项目范围:
gemini mcp add chrome-devtools npx chrome-devtools-mcp@latest
全局:
gemini mcp add -s user chrome-devtools npx chrome-devtools-mcp@latest
或者,按照 MCP 指南操作,并使用上文的标准配置。
Gemini Code Assist
按照配置 MCP 指南操作,并使用上文的标准配置。JetBrains AI Assistant & Junie
前往 Settings | Tools | AI Assistant | Model Context Protocol (MCP) -> Add。使用上文提供的配置。
同样,也可以在 JetBrains Junie 中配置 chrome-devtools-mcp:前往 Settings | Tools | Junie | MCP Settings -> Add。使用上文提供的配置。
Kiro
在 Kiro Settings 中,前往 Configure MCP > Open Workspace or User MCP Config > 使用上文提供的配置片段。
或者,在 IDE 的 Activity Bar 中前往 Kiro > MCP Servers > Click Open MCP Config。使用上文提供的配置片段。
Warp
前往 Settings | AI | Manage MCP Servers -> + Add,以添加 MCP 服务。使用上文提供的配置。
Windsurf
按照配置 MCP 指南操作,并使用上文的标准配置。你的第一个提示词
在 MCP 客户端中输入以下提示词,检查一切是否正常:
Check the performance of https://developers.chrome.com
MCP 客户端应打开浏览器并记录性能跟踪。
说明
MCP 客户端使用需要浏览器实例运行的工具时,MCP 服务会自动启动浏览器。单独连接到 Chrome DevTools MCP 服务不会自动启动浏览器。
工具
如果遇到问题,请查看我们的故障排除指南。
- 输入自动化(8 个工具)
- 导航自动化(6 个工具)
- 模拟(2 个工具)
- 性能(3 个工具)
- 网络(2 个工具)
- 调试(5 个工具)
配置
Chrome DevTools MCP 服务支持以下配置选项:
-
--browserUrl,-u使用端口转发连接到正在运行的 Chrome 实例。详情请参阅:https://developer.chrome.com/docs/devtools/remote-debugging/local-server。- 类型: string
-
--wsEndpoint,-w用于连接到正在运行的 Chrome 实例的 WebSocket 端点(例如,ws://127.0.0.1:9222/devtools/browser/)。可替代 --browserUrl。- 类型: string
-
--wsHeadersWebSocket 连接的自定义标头,采用 JSON 格式(例如,'{"Authorization":"Bearer token"}')。仅在使用 --wsEndpoint 时有效。- 类型: string
-
--headless是否以无头(无 UI)模式运行。- 类型: boolean
- 默认值:
false
-
--executablePath,-e自定义 Chrome 可执行文件的路径。- 类型: string
-
--isolated如果指定此选项,则会创建一个临时 user-data-dir,并在浏览器关闭后自动清理。- 类型: boolean
- 默认值:
false
-
--channel指定要使用的其他 Chrome 通道。默认使用 stable 通道版本。- 类型: string
- 可选值:
stable,canary,beta,dev
-
--logFile用于写入调试日志的文件路径。将环境变量DEBUG设为*可启用详细日志。适用于提交错误报告。- 类型: string
-
--viewport服务启动的 Chrome 实例的初始视口大小。例如,1280x720。无头模式下,最大尺寸为 3840x2160px。- 类型: string
-
--proxyServerChrome 的代理服务配置,启动浏览器时会将其作为 --proxy-server 传入。详情请参阅 https://www.chromium.org/developers/design-documents/network-settings/。- 类型: string
-
--acceptInsecureCerts如果启用,则忽略与自签名和过期证书相关的错误。请谨慎使用。- 类型: boolean
-
--chromeArgChrome 的其他参数。仅当 chrome-devtools-mcp 启动 Chrome 时有效。- 类型: array
-
--categoryEmulation设为 false 可排除与模拟相关的工具。- 类型: boolean
- 默认值:
true
-
--categoryPerformance设为 false 可排除与性能相关的工具。- 类型: boolean
- 默认值:
true
-
--categoryNetwork设为 false 可排除与网络相关的工具。- 类型: boolean
- 默认值:
true
通过 JSON 配置中的 args 属性传入这些选项。例如:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--channel=canary",
"--headless=true",
"--isolated=true"
]
}
}
}
使用自定义标头通过 WebSocket 连接
你可以直接连接到 Chrome WebSocket 端点,并附带自定义标头(例如,用于身份验证):
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--wsEndpoint=ws://127.0.0.1:9222/devtools/browser/<id>",
"--wsHeaders={\"Authorization\":\"Bearer YOUR_TOKEN\"}"
]
}
}
}
要从正在运行的 Chrome 实例获取 WebSocket 端点,请访问 http://127.0.0.1:9222/json/version,并查找 webSocketDebuggerUrl 字段。
你也可以运行 npx chrome-devtools-mcp@latest --help 查看所有可用的配置选项。
概念
用户数据目录
chrome-devtools-mcp 会使用以下用户数据目录启动一个 Chrome stable 通道实例:
- Linux / macOS:
$HOME/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL - Windows:
%HOMEPATH%/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL
每次运行之间不会清除用户数据目录,且所有 chrome-devtools-mcp 实例共用该目录。将 isolated 选项设为 true,即可改用临时用户数据目录;该目录会在浏览器关闭后自动清理。
连接到正在运行的 Chrome 实例
你可以使用 --browser-url 选项连接到正在运行的 Chrome 实例。如果你想使用现有的 Chrome 配置文件,或者在不允许启动新 Chrome 实例的沙盒环境中运行 MCP 服务,这会很有用。
以下是连接到正在运行的 Chrome Stable 实例的分步指南:
步骤 1:配置 MCP 客户端
在 MCP 客户端配置中添加 --browser-url 选项。该选项的值应为正在运行的 Chrome 实例的 URL。http://127.0.0.1:9222 是常见的默认值。
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--browser-url=http://127.0.0.1:9222"
]
}
}
}
步骤 2:启动 Chrome 浏览器
警告
启用远程调试端口会在正在运行的浏览器实例上开放一个调试端口。你机器上的任何应用都可以连接到此端口并控制浏览器。请确保调试端口开放期间没有浏览任何敏感网站。
启动 Chrome 浏览器并启用远程调试端口。启用调试端口启动新的 Chrome 实例前,请确保关闭所有正在运行的 Chrome 实例。选择的端口号必须与 MCP 客户端配置中 --browser-url 选项指定的端口号相同。
出于安全考虑,Chrome 要求启用远程调试端口时使用非默认的用户数据目录。你可以使用 --user-data-dir 标志指定自定义目录。这样可以确保你的常规浏览配置文件和数据不会暴露给调试会话。
macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
Linux
/usr/bin/google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="%TEMP%\chrome-profile-stable"
步骤 3:测试设置
配置 MCP 客户端并启动 Chrome 浏览器后,你可以在 MCP 客户端中运行一个简单的提示词来测试设置:
Check the performance of https://developers.chrome.com
MCP 客户端应连接到正在运行的 Chrome 实例并接收性能报告。
如果遇到 VM 到主机的端口转发问题,请参阅 docs/troubleshooting.md 中的“虚拟机(VM)与主机之间的远程调试失败”部分。
有关远程调试的更多详情,请参阅 Chrome DevTools 文档。
已知限制
操作系统沙盒
某些 MCP 客户端允许使用 macOS Seatbelt 或 Linux 容器对 MCP 服务进行沙盒隔离。启用沙盒后,chrome-devtools-mcp 无法启动需要权限来创建自身沙盒的 Chrome。解决方法是:在 MCP 客户端中为 chrome-devtools-mcp 禁用沙盒隔离,或者使用 --browser-url 连接到你在 MCP 客户端沙盒之外手动启动的 Chrome 实例。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。