如何用 chrome-devtools-mcp 的 --channel 参数指定 Chrome 版本渠道(canary/dev/beta)并确认对应的用户数据目录
【免费下载链接】chrome-devtools-mcpChrome DevTools for coding agents项目地址: https://gitcode.com/GitHub_Trending/chr/chrome-devtools-mcp
chrome-devtools-mcp 启动浏览器执行任务时,默认使用系统安装的 stable 渠道 Chrome。当需要针对未发布的 Chrome 新特性做验证,或测试场景只能在非稳定版本上复现时,需要在启动服务器时用--channel指定 canary、dev 或 beta 渠道,同时要知道该渠道浏览器实际使用哪个用户数据目录——这决定了不同渠道的 profile 是否互相隔离、状态如何复用。本文依据 Configuration 与 Advanced usage 两份文档给出完整路径。
--channel的取值与默认行为
--channel是字符串选项,只接受四个值:canary、dev、beta、stable(见 docs/configuration.md)。未传--channel时默认走 stable 渠道:src/config/mcp-options.ts 中,只要没有同时提供--browserUrl、--wsEndpoint或--executablePath,参数默认值就被设为'stable'。
--help中列出的各渠道对应关系(src/config/mcp-options.ts):
--channel beta Use stable Chrome installed on this system 对应的系统 Chrome Beta --channel canary Use Chrome Canary installed on this system --channel dev Use Chrome Dev installed on this system --channel stable Use stable Chrome installed on this system也就是说,参数指向的是本机已安装的对应渠道浏览器。另外,--channel与--browserUrl、--wsEndpoint、--executablePath是冲突项(见 src/config/mcp-options.ts),这三者分别用于连接运行中的实例或指定自定义可执行文件,与“按渠道选择已装浏览器”的机制不能混用。
各渠道对应的用户数据目录
docs/advanced-usage.md 的 “User data directory” 一节定义了默认目录规则:
| 渠道 | Linux / macOS | Windows |
|---|---|---|
| stable(默认) | $HOME/.cache/chrome-devtools-mcp/chrome-profile | %USERPROFILE%\.cache\chrome-devtools-mcp\chrome-profile |
| 非 stable(canary/dev/beta) | 在目录名后追加渠道名,例如chrome-profile-canary | 同样规则,例如chrome-profile-canary |
docs/configuration.md 中--user-data-dir的说明与之一致:默认值是$HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE,这个后缀只在非 stable 渠道出现,内容就是渠道名。
该文档还说明了两条直接影响验证方式的行为:
- 用户数据目录不会在多次运行之间被清理,同一渠道的后续运行会复用同一个目录;
- 同一时间只有一个浏览器可以使用该目录。
不想使用默认目录时,有两个文档明确给出的替代选项:
--user-data-dir=/path:显式指定目录(help 示例:$0 --user-data-dir=/tmp/user-data-dir,见 src/config/mcp-options.ts);--isolated=true:创建临时 user-data-dir,浏览器关闭后自动清理。
在 MCP 客户端配置中启用指定渠道
docs/configuration.md 给出的标准写法是把参数放进 MCP 客户端 JSON 配置的args中。以 canary 为例:
{ "mcpServers": { "chrome-devtools": { "command": "npx", "args": [ "chrome-devtools-mcp@latest", "--channel=canary" ] } } }文档中的原始示例同时带了--headless=true和--isolated=true。注意:启用--isolated后浏览器实际使用的是临时目录,而不是chrome-profile-canary。如果目的是确认渠道默认目录,应先去掉--isolated再启动,否则检查目标就变了。
可选分支:包内还有一个实验性 CLI(见 docs/cli.md),chrome-devtools start会把后续参数转发给底层 MCP 服务器,但文档明确提示“并非所有参数都支持,运行chrome-devtools start --help查看支持的参数”。另外 CLI 路径下--userDataDir未提供时 isolated 默认开启,即默认也是临时目录。因此 CLI 方式下要使用渠道默认目录,需显式通过--userDataDir指定。
确认渠道与用户数据目录
按下面的顺序确认:
确认服务端参数面:运行
npx chrome-devtools-mcp@latest --help这是 docs/configuration.md 给出的方式,用于查看全部可用配置项,包括
--channel、--user-data-dir、--isolated。确认目录路径:启动服务器拉起浏览器后,按上一节的规则算出预期目录,例如 Linux/macOS 上 canary 渠道对应
$HOME/.cache/chrome-devtools-mcp/chrome-profile-canary。检查该路径是否已存在即可定位服务器实际使用的 profile:ls $HOME/.cache/chrome-devtools-mcp若看到
chrome-profile-canary目录,说明 canary 渠道的浏览器正在使用该目录;stable 渠道下则是无后缀的chrome-profile。服务器在使用默认目录时会自动创建缺失的目录(src/browser.ts 中按渠道计算chrome-profile-${channel}并mkdir -p)。确认复用行为:再次用同一渠道启动服务器,同一目录会被继续使用而不是清空;文档同时提醒同一时间只有一个浏览器能占用它。若配置了
--isolated=true,则不要按上面的固定路径检查——临时目录随浏览器关闭被清理,检查目标应改为临时目录。
限制与边界
- 用户数据目录跨运行保留且不可被多个浏览器同时使用(docs/advanced-usage.md)。
--channel与--browserUrl/--wsEndpoint/--executablePath互斥。- 如果你的目标不是让服务器拉起新浏览器,而是连接一个已在运行的 Chrome 实例,那是
--autoConnect场景(要求 Chrome 144+,并先在chrome://inspect/#remote-debugging开启远程调试),此时--channel用于识别要连接实例的渠道,help 示例为$0 --auto-connect --channel=canary(src/config/mcp-options.ts)。该场景的操作步骤见 docs/advanced-usage.md 的 “Connecting to a running Chrome instance” 一节,与本文的启动流程是两条独立路径。
【免费下载链接】chrome-devtools-mcpChrome DevTools for coding agents项目地址: https://gitcode.com/GitHub_Trending/chr/chrome-devtools-mcp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考