项目摘要
把ChromeDevTools以MCP服务器形式接入AI编码助手,用于浏览器自动化、调试和性能分析。
chrome-devtools-mcp让Gemini、Claude、Cursor、Copilot等编码代理直接控制并检查实时Chrome浏览器,调用DevTools完成页面操作、网络与控制台调试、截图和性能追踪。它适合需要让AI辅助完成前端调试、网页排错与性能分析的开发者,也提供可脱离MCP使用的CLI。
项目详细信息
适用于代理的 Chrome 开发者工具
Chrome DevTools for Agents (chrome-devtools-mcp) 让您的编码代理(例如 Gemini、Claude、Cursor 或 Copilot)
控制和检查实时 Chrome 浏览器。 它充当模型-上下文-协议
(MCP) 服务器,让您的 AI 编码助手能够充分利用
Chrome DevTools 可实现可靠的自动化、深入调试和性能分析。
还提供 CLI 以便在没有 MCP 的情况下使用。
Tool reference | Changelog | Contributing | Troubleshooting | Design Principles
主要特点
- 获取性能洞察:使用 Chrome DevTools 进行记录 跟踪并提取可操作的性能见解。
- 高级浏览器调试:分析网络请求、截屏和 检查浏览器控制台消息(带有源映射的堆栈跟踪)。
- 可靠的自动化。 用途 puppeteer 自动执行以下操作 Chrome 并自动等待操作结果。
免责声明
chrome-devtools-mcp 将浏览器实例的内容公开给 MCP 客户端
允许他们检查、调试和修改浏览器或开发工具中的任何数据。
避免分享您不想分享的敏感或个人信息
MCP 客户。
chrome-devtools-mcp 仅正式支持 Google Chrome 和 Chrome for Testing。
其他基于 Chromium 的浏览器可能会工作,但这不能保证,并且您可能会遇到意外的行为。 请自行决定使用。
我们致力于为最新版本的 Extended Stable Chrome 提供修复和支持。
性能工具可能会将跟踪 URL 发送到 Google CrUX API 以获取真实用户
经验数据。 这有助于提供整体性能图
与实验室数据一起呈现现场数据。 该数据由 Chrome
User Experience Report (CrUX) 收集。 禁用
这个,使用 --no-performance-crux 标志运行。
使用统计
Google 收集使用情况统计信息(例如工具调用成功率、延迟和环境信息)以提高 Chrome DevTools MCP 的可靠性和性能。
数据收集默认启用。 您可以在启动服务器时通过传递 --no-usage-statistics 标志来选择退出:
"args": ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]
Google 根据 Google Privacy Policy 处理这些数据。
Google 收集的 Chrome DevTools MCP 使用情况统计信息独立于 Chrome 浏览器的使用情况统计信息。 选择退出 Chrome 指标并不会自动选择您退出此工具,反之亦然。
如果设置了 CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS 或 CI env 变量,则会禁用收集。
更新检查
默认情况下,服务器会定期检查 npm 注册表是否有更新,并在有新版本可用时记录通知。
您可以通过设置 CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS 环境变量来禁用这些更新检查。
要求
- Node.js v20.19 或更新的 latest maintenance LTS 版本。
- Chrome 当前稳定版本或更高版本。
- npm
开始使用
将以下配置添加到您的 MCP 客户端:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
}
[!注意] 使用
chrome-devtools-mcp@latest可确保您的 MCP 客户端始终使用最新版本的 Chrome DevTools MCP 服务器。
如果您只想执行基本的浏览器任务,请使用 --slim 模式:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless"]
}
}
}
MCP 客户端配置
放大器
遵循 https://ampcode.com/manual#mcp 并使用上面提供的配置。 您还可以使用 CLI 安装 Chrome DevTools MCP 服务器: ```bash amp mcp add chrome-devtools -- npx chrome-devtools-mcp@latest ```反重力
要使用 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,请务必进行相应调整。
Chrome DevTools MCP 不会使用此方法自动启动浏览器实例,因为 Chrome DevTools MCP 服务器连接到 Antigravity 的内置浏览器。 如果浏览器尚未运行,您必须首先单击右上角的 Chrome 图标来启动它。
克劳德代码
通过 CLI 安装(仅限 MCP)
使用 Claude Code CLI 添加 Chrome DevTools MCP 服务器 (guide):
claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest
作为插件安装(MCP + 技能)
[!注意] 如果您之前已经为 Claude Code 安装了 Chrome DevTools MCP,请确保首先从您的安装和配置文件中将其删除。
要使用技能安装 Chrome DevTools MCP,请在 Claude Code 中添加市场注册表:
/plugin marketplace add ChromeDevTools/chrome-devtools-mcp
然后,安装插件:
/plugin install chrome-devtools-mcp
重新启动 Claude Code 以加载 MCP 服务器和技能(使用 /skills 检查)。
[!提示] 如果插件安装失败并出现
Failed to clone repository错误(例如,企业防火墙后面的 HTTPS 连接问题),请参阅 troubleshooting guide 了解解决方法,或使用上面的 CLI 安装方法。
克莱恩
遵循 https://docs.cline.bot/mcp/configuring-mcp-servers 并使用上面提供的配置。法典
按照配置 MCP 指南 使用上面的标准配置。 您还可以使用 Codex CLI 安装 Chrome DevTools MCP 服务器: ```bash codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest ``` **在 Windows 11 上**配置 Chrome 安装位置并通过更新 .codex/config.toml 并添加以下 env 和 startup_timeout_ms 参数来增加启动超时:
[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
命令代码
使用命令代码 CLI 添加 Chrome DevTools MCP 服务器(MCP 指南):
cmd mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest
副驾驶 CLI
启动 Copilot CLI:
copilot
通过运行以下命令启动添加新 MCP 服务器的对话框:
/mcp add
配置以下字段并按 CTRL+S 保存配置:
- 服务器名称:
chrome-devtools - 服务器类型:
[1] Local - 命令:
npx -y chrome-devtools-mcp@latest
副驾驶/VS代码
作为插件安装(推荐)
最简单的启动和运行方法是将 chrome-devtools-mcp 安装为代理插件。
这将 MCP 服务器 和所有 技能 捆绑在一起,因此您的代理可以获得这两种工具
以及有效使用它们所需的专家指导。
- 打开 命令面板(macOS 上为
Cmd+Shift+P或 Windows/Linux 上为Ctrl+Shift+P。 - 搜索并运行 聊天:从源安装插件 命令。
- 粘贴到我们的存储库 URL:
https://github.com/ChromeDevTools/chrome-devtools-mcp
就是这样! 您的代理现在已增强了 Chrome DevTools 功能。
作为 MCP 服务器安装(仅限 MCP)
点击按钮安装:
或手动安装:
使用上面的标准配置遵循 VS Code MCP configuration guide,或使用 CLI:
对于 macOS 和 Linux:
code --add-mcp '{"name":"io.github.ChromeDevTools/chrome-devtools-mcp","command":"npx","args":["-y","chrome-devtools-mcp"],"env":{}}'
对于 Windows(PowerShell):
code --add-mcp '{"""name""":"""io.github.ChromeDevTools/chrome-devtools-mcp""","""command""":"""npx""","""args""":["""-y""","""chrome-devtools-mcp"""]}'
工厂 CLI
使用 Factory CLI 添加 Chrome DevTools MCP 服务器 (guide): ```bash droid mcp add chrome-devtools "npx -y chrome-devtools-mcp@latest" ```Gemini CLI
使用 Gemini CLI 安装 Chrome DevTools MCP 服务器。项目范围:
# Either MCP only:
gemini mcp add chrome-devtools npx chrome-devtools-mcp@latest
# Or as a Gemini extension (MCP+Skills):
gemini extensions install --auto-update https://github.com/ChromeDevTools/chrome-devtools-mcp
全球:
gemini mcp add -s user chrome-devtools npx chrome-devtools-mcp@latest
或者,遵循 MCP 指南 并使用上面的标准配置。
Gemini 代码辅助
按照配置 MCP 指南 使用上面的标准配置。JetBrains AI Assistant 和 Junie
转到 Settings | Tools | AI Assistant | Model Context Protocol (MCP) -> Add。 使用上面提供的配置。
可以使用相同的方式在 Settings | Tools | Junie | MCP Settings -> Add 中为 JetBrains Junie 配置 chrome-devtools-mcp。 使用上面提供的配置。
基罗
在 Kiro 设置中,转到 Configure MCP > Open Workspace or User MCP Config > 使用上面提供的配置片段。
或者,从 IDE 活动栏 > Kiro > MCP Servers > Click Open MCP Config。 使用上面提供的配置片段。
卡塔隆工作室
Chrome DevTools MCP 服务器可以通过 MCP 代理与 Katalon StudioAssist 一起使用。
步骤 1: 按照 MCP 代理设置指南 安装 MCP 代理。
步骤 2: 使用代理启动 Chrome DevTools MCP 服务器:
mcp-proxy --transport streamablehttp --port 8080 -- npx -y chrome-devtools-mcp@latest
注意: 如果 8080 已在使用中,您可能需要选择另一个端口。
步骤 3: 在 Katalon Studio 中,使用以下设置将服务器添加到 StudioAssist:
- 连接 URL:
http://127.0.0.1:8080/mcp - 传输类型:
HTTP
连接后,Chrome DevTools MCP 工具将在 StudioAssist 中可用。
米斯特拉尔氛围
在~/.vibe/config.toml中添加:
[[mcp_servers]]
name = "chrome-devtools"
transport = "stdio"
command = "npx"
args = ["chrome-devtools-mcp@latest"]
开放代码
将以下配置添加到您的 opencode.json 文件中。 如果您没有,请在 ~/.config/opencode/opencode.json (guide) 中创建:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"chrome-devtools": {
"type": "local",
"command": ["npx", "-y", "chrome-devtools-mcp@latest"]
}
}
}
Qoder CLI
使用 Qoder CLI 安装 Chrome DevTools MCP 服务器(指南):
项目范围:
qodercli mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
全球:
qodercli mcp add -s user chrome-devtools -- npx chrome-devtools-mcp@latest
扭曲
转到 Settings | AI | Manage MCP Servers -> + Add 到 add an MCP Server。 使用上面提供的配置。
风帆冲浪
按照配置 MCP 指南 使用上面的标准配置。你的第一个提示
在 MCP 客户端中输入以下提示以检查一切是否正常:
Check the performance of https://developers.chrome.com
您的 MCP 客户端应打开浏览器并记录性能跟踪。
[!注意] 一旦 MCP 客户端使用需要运行浏览器实例的工具,MCP 服务器将自动启动浏览器。 单独连接到 Chrome DevTools MCP 服务器不会自动启动浏览器。
工具
如果您遇到任何问题,请查看我们的 troubleshooting guide。
- 输入自动化(9 种工具)
clickdragfillfill_formhandle_dialoghoverpress_keytype_textupload_file- 导航自动化(6 个工具)
close_pagelist_pagesnavigate_pagenew_pageselect_pagewait_for- 仿真(2 个工具)
emulateresize_page- 性能(4 个工具)
performance_analyze_insightperformance_start_traceperformance_stop_tracetake_memory_snapshot- 网络(2 个工具)
get_network_requestlist_network_requests- 调试(6 个工具)
evaluate_scriptget_console_messagelighthouse_auditlist_console_messagestake_screenshottake_snapshot
配置
Chrome DevTools MCP 服务器支持以下配置选项:
-
--autoConnect/--auto-connect如果指定,则自动连接到从通道参数标识的用户数据目录本地运行的浏览器(Chrome 144+)(默认通道是稳定的)。 需要通过 chrome://inspect/#remote-debugging 在 Chrome 实例中启动远程调试服务器。 -
**类型:**布尔值
-
默认:
false -
--browserUrl/--browser-url,-u连接到正在运行的、可调试的 Chrome 实例(例如http://127.0.0.1:9222)。 有关更多详细信息,请参阅:https://github.com/ChromeDevTools/chrome-devtools-mcp#connecting-to-a-running-chrome-instance. -
类型: 字符串
-
--wsEndpoint/--ws-endpoint,-w用于连接到正在运行的 Chrome 实例的 WebSocket 端点(例如 ws://127.0.0.1:9222/devtools/browser/)。 --browserUrl 的替代方案。 -
类型: 字符串
-
--wsHeaders/--ws-headersJSON 格式的 WebSocket 连接的自定义标头(例如“{"Authorization":"Bearer token"}')。 仅适用于 --wsEndpoint。 -
类型: 字符串
-
--headless是否以无头(无 UI)模式运行。 -
**类型:**布尔值
-
默认:
false -
--executablePath/--executable-path,-e自定义 Chrome 可执行文件的路径。 -
类型: 字符串
-
--isolated如果指定,将创建一个临时用户数据目录,该目录会在浏览器关闭后自动清除。 默认为 false。 -
**类型:**布尔值
-
--userDataDir/--user-data-dirChrome 用户数据目录的路径。 默认为 $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE -
类型: 字符串
-
--channel指定应使用的不同 Chrome 通道。 默认为稳定通道版本。 -
类型: 字符串
-
选项:
canary、dev、beta、stable -
--logFile/--log-file用于写入调试日志的文件的路径。 将环境变量DEBUG设置为*以启用详细日志。 对于提交错误报告很有用。 -
类型: 字符串
-
--viewport服务器启动的 Chrome 实例的初始视口大小。 例如,1280x720。 在无头模式下,最大尺寸为 3840x2160px。 -
类型: 字符串
-
--proxyServer/--proxy-serverChrome 的代理服务器配置在启动浏览器时作为 --proxy-server 传递。 有关详细信息,请参阅 https://www.chromium.org/developers/design-documents/network-settings/。 -
类型: 字符串-
--acceptInsecureCerts/--accept-insecure-certs如果启用,则忽略与自签名和过期证书相关的错误。 谨慎使用。 -
**类型:**布尔值
-
--experimentalVision/--experimental-vision是否启用基于坐标的工具,例如 click_at(x,y)。 通常需要一个能够通过查看屏幕截图来生成准确坐标的计算机使用模型。 -
**类型:**布尔值
-
--experimentalScreencast/--experimental-screencast公开实验性截屏工具(需要 ffmpeg)。 安装 ffmpeg https://www.ffmpeg.org/download.html 并确保它在 MCP 服务器路径中可用。 -
**类型:**布尔值
-
--experimentalWebmcp/--experimental-webmcp设置为 true 以启用调试 WebMCP 工具。 需要 Chrome 149+ 并具有以下标志:--enable-features=WebMCPTesting,DevToolsWebMCPSupport -
**类型:**布尔值
-
--chromeArg/--chrome-argChrome 的其他参数。 仅当 Chrome 由 chrome-devtools-mcp 启动时适用。 -
**类型:**数组
-
--ignoreDefaultChromeArg/--ignore-default-chrome-arg显式禁用 Chrome 的默认参数。 仅当 Chrome 由 chrome-devtools-mcp 启动时适用。 -
**类型:**数组
-
--categoryEmulation/--category-emulation设置为 false 以排除与仿真相关的工具。 -
**类型:**布尔值
-
默认:
true -
--categoryPerformance/--category-performance设置为 false 以排除与性能相关的工具。 -
**类型:**布尔值
-
默认:
true -
--categoryNetwork/--category-network设置为 false 以排除与网络相关的工具。 -
**类型:**布尔值
-
默认:
true -
--performanceCrux/--performance-crux设置为 false 可禁用从性能跟踪向 CrUX API 发送 URL 以获取现场性能数据。 -
**类型:**布尔值
-
默认:
true -
--usageStatistics/--usage-statistics设置为 false 以选择退出使用情况统计信息收集。 Google 收集使用数据以改进该工具,并根据 Google 隐私政策 (https://policies.google.com/privacy) 处理。 这与 Chrome 浏览器指标无关。 如果设置了CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS或CIenv 变量,则禁用。 -
**类型:**布尔值
-
默认:
true -
--slim公开了一组“精简”的 3 个工具,仅涵盖导航、脚本执行和屏幕截图。 对于基本的浏览器任务很有用。 -
**类型:**布尔值
-
--redactNetworkHeaders/--redact-network-headers如果为 true,则在返回客户端之前编辑一些被视为敏感的网络标头。 -
**类型:**布尔值
-
默认:
false
通过 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 的稳定通道实例
数据目录:
- 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 实例
默认情况下,Chrome DevTools MCP 服务器将启动一个具有专用配置文件的新 Chrome 实例。 这可能并不适合所有情况:
- 如果您希望在手动站点测试和代理驱动测试之间交替时保持相同的应用程序状态。
- 当 MCP 需要登录网站时。 当通过 WebDriver(Chrome DevTools MCP 服务器的默认启动机制)控制浏览器时,某些帐户可能会阻止登录。
- 如果您在沙盒环境中运行 LLM,但您希望连接到在沙盒外部运行的 Chrome 实例。
在这些情况下,请先启动 Chrome 并让 Chrome DevTools MCP 服务器连接到它。 有两种方法可以做到这一点:
- 自动连接(在 Chrome 144 中提供):最适合在手动和代理驱动测试之间共享状态。
- 通过远程调试端口手动连接:在沙盒环境中运行时效果最佳。
自动连接到正在运行的 Chrome 实例
第 1 步: 在 Chrome 中设置远程调试
在 Chrome (>= M144) 中,执行以下操作来设置远程调试:
- 导航至
chrome://inspect/#remote-debugging以启用远程调试。 - 按照对话框 UI 允许或禁止传入的调试连接。
步骤 2: 配置 Chrome DevTools MCP 服务器以自动连接到正在运行的 Chrome 实例
要将 chrome-devtools-mcp 服务器连接到正在运行的 Chrome 实例,请使用
MCP 服务器的 --autoConnect 命令行参数。
以下代码片段是 gemini-cli 的示例配置:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["chrome-devtools-mcp@latest", "--autoConnect"]
}
}
}
第 3 步: 测试您的设置
确保您的浏览器正在运行。 打开 gemini-cli 并运行以下提示:
Check the performance of https://developers.chrome.com
[!注意]
autoConnect选项要求用户启动 Chrome。 如果用户有多个活动配置文件,MCP 服务器将连接到默认配置文件(由 Chrome 确定)。 MCP 服务器可以访问所选配置文件的所有打开的窗口。
Chrome DevTools MCP 服务器将尝试连接到您正在运行的 Chrome 实例。 它显示一个请求用户许可的对话框。
单击 允许 会导致 Chrome DevTools MCP 服务器打开 developers.chrome.com 并进行表演 踪迹。
使用端口转发手动连接
您可以使用 --browser-url 选项连接到正在运行的 Chrome 实例。 如果您在不允许启动新 Chrome 实例的沙盒环境中运行 MCP 服务器,这非常有用。
以下是有关如何连接到正在运行的 Chrome 实例的分步指南:
步骤 1:配置 MCP 客户端
将 --browser-url 选项添加到您的 MCP 客户端配置中。 此选项的值应该是正在运行的 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 requires you to use a non-default user data directory。 您可以使用 --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
视窗
"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 实例并接收性能报告。
如果遇到虚拟机到主机的端口转发问题,请参阅 docs/troubleshooting.md 中的“虚拟机 (VM) 和主机之间的远程调试失败”部分。
有关远程调试的更多详细信息,请参阅 Chrome DevTools documentation。
在 Android 上调试 Chrome
已知限制
请参阅Troubleshooting。