Chrome DevTools MCP
chrome-devtools-mcp让您的编码代理(例如 Gemini、Claude、Cursor 或 Copilot) 控制和检查实时 Chrome 浏览器。它充当模型-上下文-协议 (MCP) 服务器,让您的 AI 编码助手能够访问 Chrome DevTools 用于可靠的自动化、深入调试和性能分析。
主要特点
- 获取性能分析:使用 Chrome 要记录的 DevTools 跟踪并提取可作的性能见解。
- 高级浏览器调试:分析网络请求、截屏和 检查浏览器控制台。
- 可靠的自动化。使用 puppeteer 自动执行 Chrome 并自动等待作结果。
免责 声明
chrome-devtools-mcp将浏览器实例的内容公开给 MCP 客户端 允许他们检查、调试和修改浏览器或 DevTools 中的任何数据。 避免分享您不想与之共享的敏感或个人信息 MCP 客户端。
要求
- Node.js v20.19 或更新的最新维护 LTS 版本。
- Chrome 当前稳定版本或更新版本。
- npm 的。
开始
将以下配置添加到 MCP 客户端:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
}
注意
使用可确保您的 MCP 客户端始终使用最新版本的 Chrome DevTools MCP 服务器。chrome-devtools-mcp@latest
MCP 客户端配置
放大 器
克劳德代码
克莱恩
食品
Copilot CLI
副驾驶 / VS 代码
光标
双子座 CLI
双子座代码助手
JetBrains AI 助手和 Junie
基罗
库德尔
视觉工作室
经线
您的第一个提示
在 MCP 客户端中输入以下提示以检查是否一切正常:
Check the performance of https://developers.chrome.com
您的 MCP 客户端应打开浏览器并记录性能跟踪。
注意
一旦 MCP 客户端使用需要正在运行的浏览器实例的工具,MCP 服务器将自动启动浏览器。单独连接到 Chrome DevTools MCP 服务器不会自动启动浏览器。
工具
如果您遇到任何问题,请查看我们的故障排除指南。
- 输入自动化(7 个工具)
clickdragfillfill_formhandle_dialoghoverupload_file
- 导航自动化(7 个工具)
close_pagelist_pagesnavigate_pagenavigate_page_historynew_pageselect_pagewait_for
- 仿真(3 个工具)
emulate_cpuemulate_networkresize_page
- 性能(3 个工具)
performance_analyze_insightperformance_start_traceperformance_stop_trace
- 网络(2 个工具)
get_network_requestlist_network_requests
- 调试(5 个工具)
evaluate_scriptget_console_messagelist_console_messagestake_screenshottake_snapshot
配置
Chrome DevTools MCP 服务器支持以下配置选项:
-
--浏览器网址,-u使用端口转发连接到正在运行的 Chrome 实例。有关更多详细信息,请参阅:https://developer.chrome.com/docs/devtools/remote-debugging/local-server。- 类型:字符串
-
--ws端点,-wWebSocket 端点连接到正在运行的 Chrome 实例(例如 ws://127.0.0.1:9222/devtools/browser/)。–browserUrl 的替代方法。- 类型:字符串
-
--ws标头JSON 格式的 WebSocket 连接的自定义标头(例如,'{“Authorization”:“Bearer token”}’)。仅适用于 –wsEndpoint。- 类型:字符串
-
--无头的是否在无头(无 UI)模式下运行。- 类型:布尔值
- 违约:
false
-
--可执行路径,-e自定义 Chrome 可执行文件的路径。- 类型:字符串
-
--孤立如果指定,则创建一个临时用户数据目录,该数据目录在浏览器关闭后自动清理。- 类型:布尔值
- 违约:
false
-
--渠道指定应使用的其他 Chrome 频道。默认值为稳定通道版本。- 类型:字符串
- 选项:、、、
stablecanarybetadev
-
--日志文件要将调试日志写入的文件的路径。将 env 变量设置为 以启用详细日志。对于提交错误报告很有用。DEBUG*- 类型:字符串
-
--视窗服务器启动的 Chrome 实例的初始视口大小。例如。在无头模式下,最大尺寸为 3840×2160 像素。1280x720- 类型:字符串
-
--代理服务器启动浏览器时,Chrome 的代理服务器配置传递为 –proxy-server。有关详细信息,请参阅 https://www.chromium.org/developers/design-documents/network-settings/。- 类型:字符串
-
--acceptInsecure证书如果启用,则忽略与自签名证书和过期证书相关的错误。谨慎使用。- 类型:布尔值
-
--chrome引数Chrome 的其他参数。仅当 chrome-devtools-mcp 启动 Chrome 时才适用。- 类型:数组
-
--category仿真设置为 false 以排除与仿真相关的工具。- 类型:布尔值
- 违约:
true
-
--category性能设置为 false 以排除与性能相关的工具。- 类型:布尔值
- 违约:
true
-
--category网络设置为 false 以排除与网络相关的工具。- 类型:布尔值
- 违约:
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/versionwebSocketDebuggerUrl
您还可以运行以查看所有可用的配置选项。npx chrome-devtools-mcp@latest --help
概念
用户数据目录
chrome-devtools-mcp使用以下用户启动 Chrome 的稳定频道实例 data 目录:
- Linux/macOS:
$HOME/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL - 窗户:
%HOMEPATH%/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL
用户数据目录不会在运行之间清除,并且不会在运行之间共享 的所有实例。将选项设置为使用临时用户数据目录,该目录将在 浏览器已关闭。chrome-devtools-mcpisolatedtrue
连接到正在运行的 Chrome 实例
您可以使用该选项连接到正在运行的 Chrome 实例。如果您想使用现有的 Chrome 配置文件,或者您在不允许启动新 Chrome 实例的沙盒环境中运行 MCP 服务器,这将非常有用。--browser-url
以下是有关如何连接到正在运行的 Chrome 稳定实例的分步指南:
步骤 1:配置 MCP 客户端
将该选项添加到 MCP 客户端配置中。此选项的值应为正在运行的 Chrome 实例的 URL。 是常见的默认值。--browser-urlhttp://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 实例。您选择的端口号必须与您在 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
窗户
"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) 和主机之间的远程调试失败”部分。


没有回复内容