您可以配置面向智能体的 Chrome 开发者工具,以自定义其与浏览器的互动方式、启用的工具以及处理数据的方式。
如需配置服务器,请在 Model Context Protocol (MCP) 客户端配置文件的 args 数组中传递命令行标志。这通常是 config.json 文件。
例如,如需在无头模式下运行 Chrome 并使用 Canary 渠道,请使用以下配置:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@latest",
"--headless",
"--channel=canary"
]
}
}
}
常见配置场景
以下场景介绍了配置面向智能体的 Chrome 开发者工具的常见方式。
在无头模式下运行
如需执行后台任务而不显示浏览器窗口,请在无头(无界面)模式下运行 Chrome。将 --headless 标志添加到服务器实参。
连接到现有浏览器会话
默认情况下,面向智能体的开发者工具会启动新的 Chrome 实例。不过,您可以将智能体连接到现有浏览器会话。如果您的智能体需要调查您已开始的会话中的问题(例如,如果您已登录),此功能非常有用。
您可以通过以下两种方式连接到现有会话:
自动连接 (Chrome 144+)
如果您使用 --autoConnect 标志,MCP 服务器会自动连接到活跃的 Chrome 实例。
- 在运行的 Chrome 浏览器中,前往
chrome://inspect/#remote-debugging并启用远程调试 。 - 将
--autoConnect添加到 MCP 配置:json "args": ["chrome-devtools-mcp@latest", "--autoConnect"] - 当智能体尝试连接时,Chrome 会显示一个对话框,要求您授予权限。点击允许 。
手动连接
如果您无法使用 --autoConnect(例如,在沙盒环境中),您可以手动启动 Chrome 并使用调试端口,然后使用 --browser-url 进行连接。
- 从终端启动 Chrome,并启用远程调试和自定义用户数据目录。
- macOS:
shell /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable - Windows:
shell start chrome --remote-debugging-port=9222 --user-data-dir=%TEMP%\chrome-profile-stable - Linux:
shell google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
- macOS:
- 将智能体配置为连接到此端口:
json "args": ["chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"]
配置选项参考文档
以下部分列出了可用的配置标志。如需了解最新 选项和更新,请参阅 Chrome 开发者工具 MCP GitHub 代码库。
连接选项
使用这些选项配置服务器连接到 Chrome 的方式。
| 标志 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--autoConnect 或 --auto-connect |
布尔值 | false |
自动连接到本地运行的 Chrome (144+) 实例。需要使用 chrome://inspect/#remote-debugging 启用远程调试。 |
--browserUrl 或 --browser-url-u |
字符串 | false |
连接到正在运行的可调试 Chrome 实例(例如 http://127.0.0.1:9222)。 |
--wsEndpoint 或 --ws-endpoint-w |
字符串 | false |
用于连接到正在运行的 Chrome 实例的 WebSocket 端点(例如 ws://127.0.0.1:9222/devtools/browser/<id>)。替代 --browserUrl。 |
--wsHeaders 或 --ws-headers |
字符串 | false |
WebSocket 连接的自定义标头,采用 JSON 格式(例如 '{"Authorization":"Bearer token"}')。仅适用于 --wsEndpoint。 |
浏览器启动选项
当 MCP 服务器启动 Chrome 时,系统会应用这些选项。
| 标志 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--headless |
布尔值 | false |
在无头(无界面)模式下运行 Chrome。 |
--channel |
字符串 | stable |
指定要使用的 Chrome 渠道。选项包括:canary、dev、beta 和 stable。 |
--executablePath 或 --executable-path-e |
字符串 | false |
指向自定义 Chrome 可执行文件的路径。 |
--userDataDir 或 --user-data-dir |
字符串 | 请参阅说明 | 指向用户数据目录的路径。默认值为 $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE。 |
--isolated |
布尔值 | false |
创建一个临时用户数据目录,该目录会在浏览器关闭时自动清理。 |
--viewport |
字符串 | false |
初始视口大小(例如 1280x720)。在无头模式下,最大大小为 3840x2160。 |
--proxyServer 或 --proxy-server |
字符串 | false |
传递给 Chrome 的代理服务器配置。 |
--chromeArg 或 --chrome-arg |
数组 | false |
需要传递给 Chrome 的其他实参。 |
--ignoreDefaultChromeArg 或 --ignore-default-chrome-arg |
数组 | false |
明确停用 Chrome 的默认实参。 |
安全和隐私选项
使用这些选项管理安全设置和数据隐私。
| 标志 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--acceptInsecureCerts 或 --accept-insecure-certs |
布尔值 | false |
忽略与自签名证书和过期证书相关的错误。请小心使用。 |
--blockedUrlPattern 或 --blocked-url-pattern |
数组 | false |
通过屏蔽指定的网址模式 (URLPattern) 来限制网络访问。屏蔽导航和子资源。 |
--allowedUrlPattern 或 --allowed-url-pattern |
数组 | false |
通过仅允许指定的网址模式来限制网络访问。需要 Chrome 149+。 |
--redactNetworkHeaders 或 --redact-network-headers |
布尔值 | false |
在将敏感网络标头返回给客户端之前,先隐去这些标头。 |
--usageStatistics 或 --usage-statistics |
布尔值 | true |
启用使用情况统计信息收集功能,以改进该工具。也可以使用 CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS 或 CI 环境变量停用此功能。 |
--performanceCrux 或 --performance-crux |
布尔值 | true |
将性能跟踪记录中的网址发送到 Google CrUX API,以提取真实用户体验数据。 |
功能类别
您可以使用这些标志启用或停用工具组。
| 标志 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--categoryEmulation 或 --category-emulation |
布尔值 | true |
启用与模拟相关的工具。 |
--categoryNetwork 或 --category-network |
布尔值 | true |
启用与网络相关的工具。 |
--categoryPerformance 或 --category-performance |
布尔值 | true |
启用与性能相关的工具。 |
--categoryExtensions 或 --category-extensions |
布尔值 | false |
启用与扩展程序相关的工具。仅支持管道连接。 |
--categoryExperimentalThirdParty 或 --category-experimental-third-party |
布尔值 | false |
启用受检查页面公开的第三方开发者工具。 |
--categoryExperimentalWebmcp 或 --category-experimental-webmcp |
布尔值 | false |
启用调试 WebMCP 工具。需要 Chrome 149+ 并启用 WebMCP 功能。 |
--memoryDebugging 或 --memory-debugging |
布尔值 | false |
启用内存调试工具。 |
屏幕截图选项
使用这些选项自定义智能体捕获屏幕截图的方式。
| 标志 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--screenshotFormat 或 --screenshot-format |
字符串 | false |
替换默认输出格式 (png)。选项包括:jpeg、png 和 webp。jpeg 和 webp 格式较小,有助于减小 AI 对话中的上下文大小。 |
--screenshotQuality 或 --screenshot-quality |
数值 | false |
替换 jpeg 和 webp 的压缩质量 (0-100)。 |
--screenshotMaxWidth 或 --screenshot-max-width |
数值 | false |
最大宽度(以像素为单位)。系统会缩小较大的屏幕截图。 |
--screenshotMaxHeight 或 --screenshot-max-height |
数值 | false |
最大高度(以像素为单位)。系统会缩小较大的屏幕截图。 |
实验性选项
使用这些选项启用正在开发的实验性功能。
| 标志 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--experimentalPageIdRouting 或 --experimental-page-id-routing |
布尔值 | false |
在页面范围内的工具上公开 pageId,以在并发智能体会话中路由请求。 |
--experimentalDevtools 或 --experimental-devtools |
布尔值 | false |
启用对开发者工具目标的自动化。 |
--experimentalVision 或 --experimental-vision |
布尔值 | false |
启用基于坐标的工具(例如 click_at)。通常需要一个计算机使用模型,该模型可以通过查看屏幕截图生成准确的坐标。 |
--experimentalStructuredContent 或 --experimental-structured-content |
布尔值 | false |
输出结构化格式的内容。 |
--experimentalIncludeAllPages 或 --experimental-include-all-pages |
布尔值 | false |
包含所有类型的页面(例如 WebView 和后台页面)。 |
--experimentalScreencast 或 --experimental-screencast |
布尔值 | false |
公开屏幕广播工具(需要在 PATH 中包含 ffmpeg)。 |
--experimentalFfmpegPath 或 --experimental-ffmpeg-path |
字符串 | false |
指向 ffmpeg 可执行文件的路径。 |
其他选项
使用这些选项配置日志记录或启用一组简化的工具。
| 标志 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--slim |
布尔值 | false |
公开一组简化的三个工具(导航、脚本执行和屏幕截图)。适用于基本的浏览器任务。 |
--logFile 或 --log-file |
字符串 | false |
指向用于写入调试日志的文件的路径。 |
环境变量
您还可以使用以下环境变量来配置服务器:
CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS:如果设置,则停用使用情况统计信息收集功能(等同于--no-usage-statistics)。CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS:如果设置,则停用定期检查更新。CI:如果设置,则停用使用情况统计信息收集功能。DEBUG:设置为*以启用详细调试日志记录(与--logFile结合使用)。