Вы можете настроить инструменты разработчика Chrome для агентов, чтобы задать, как они взаимодействуют с браузером, какие инструменты включены и как обрабатываются данные.
Настройте сервер, передав параметры командной строки в массив args файла конфигурации клиента Model Context Protocol (MCP). Обычно это файл 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"]
Разрешить доступ к файлам за пределами временного каталога
Инструменты, которые читают или записывают файлы (например, сохраняют скриншоты, трассировки или загружают расширения), могут получать доступ только к путям в настроенных корневых каталогах рабочей области. Сервер использует корневые каталоги, которые MCP-клиент предоставляет через функцию MCP roots, а также любые каталоги, которые вы передаете с помощью --filesystemRoot (псевдоним --workspace). Если клиент не предоставляет корневые каталоги и вы не задаете --filesystemRoot, доступ к файлам ограничен временным каталогом ОС.
Запросы по другим путям завершаются ошибкой Access denied: ... is not within any of
the configured workspace roots.
Чтобы разрешить доступ к каталогу проекта, добавьте --filesystemRoot в аргументы сервера. Чтобы разрешить несколько каталогов, повторите параметр:
"args": ["chrome-devtools-mcp@latest", "--filesystemRoot=/path/to/project"]
Справочник по параметрам конфигурации
В разделах ниже перечислены доступные флаги конфигурации. Актуальную информацию о параметрах и обновлениях можно найти в репозитории GitHub для инструментов разработчика Chrome MCP.
Варианты подключения
Эти параметры позволяют настроить подключение сервера к Chrome.
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
--autoConnect или --auto-connect |
Логическое значение | false |
Автоматически подключается к локально запущенному экземпляру Chrome (версии 144 или более поздней). Требуется включить удаленную отладку с помощью chrome://inspect/#remote-debugging. |
--browserUrl или --browser-url-u |
string | false |
Подключитесь к запущенному экземпляру Chrome, который можно отлаживать (например, http://127.0.0.1:9222). |
--wsEndpoint или --ws-endpoint-w |
string | false |
Конечная точка WebSocket для подключения к запущенному экземпляру Chrome (например, ws://127.0.0.1:9222/devtools/browser/<id>). Альтернатива --browserUrl. |
--wsHeaders или --ws-headers |
string | false |
Специальные заголовки для подключения WebSocket в формате JSON (например, '{"Authorization":"Bearer token"}'). Работает только с --wsEndpoint. |
Варианты запуска браузера
Эти параметры применяются, когда MCP-сервер запускает Chrome.
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
--headless |
Логическое значение | false |
Запускает Chrome в режиме без интерфейса. |
--channel |
string | stable |
Это правило позволяет указать, какой канал Chrome следует использовать. Варианты: canary, dev, beta и stable. |
--executablePath или --executable-path-e |
string | false |
Путь к исполняемому файлу Chrome. |
--userDataDir или --user-data-dir |
string | Посмотреть описание | Путь к каталогу с данными пользователя. Значение по умолчанию: $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE. |
--isolated |
Логическое значение | false |
Создает временный каталог данных пользователя, который автоматически очищается при закрытии браузера. |
--viewport |
string | false |
Исходный размер области просмотра (например, 1280x720). В режиме без графического интерфейса максимальный размер – 3840x2160. |
--proxyServer или --proxy-server |
string | false |
Конфигурация прокси-сервера, переданная в Chrome. |
--chromeArg или --chrome-arg |
Массив | false |
Дополнительные аргументы, которые нужно передать в Chrome. |
--ignoreDefaultChromeArg или --ignore-default-chrome-arg |
Массив | false |
Явно отключите аргументы по умолчанию для Chrome. |
Настройки безопасности и конфиденциальности
Эти параметры позволяют управлять настройками безопасности и конфиденциальности данных.
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
--acceptInsecureCerts или --accept-insecure-certs |
Логическое значение | false |
Игнорировать ошибки, связанные с самозаверяющимися сертификатами и сертификатами с истекшим сроком действия. Важно! Не полагайтесь только на эту функцию. |
--blockedUrlPattern или --blocked-url-pattern |
Массив | false |
Ограничивает доступ к сети, блокируя указанные шаблоны URL (используется URLPattern). Блокирует навигацию и подресурсы. |
--allowedUrlPattern или --allowed-url-pattern |
Массив | false |
Ограничивает доступ к сети, разрешая только указанные шаблоны URL. Требуется Chrome 149 или более поздней версии. |
--redactNetworkHeaders или --redact-network-headers |
Логическое значение | false |
Удаляет конфиденциальные сетевые заголовки перед их возвратом клиенту. |
--usageStatistics или --usage-statistics |
Логическое значение | true |
Включает сбор статистики использования для улучшения инструмента. Также можно отключить с помощью переменных среды CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS или CI. |
--performanceCrux или --performance-crux |
Логическое значение | true |
Отправляет URL из трассировок производительности в Google CrUX API, чтобы получить данные об опыте реальных пользователей. |
--javascriptEvaluation или --javascript-evaluation |
Логическое значение | true |
Задайте значение false, чтобы отключить выполнение кода JavaScript. Если правило отключено, инструменты оценки скриптов не работают, параметр initScript в navigate_page отключен, а переход по URL javascript:, data: и vbscript: запрещен. |
--filesystemRoot или --filesystem-root--workspace |
Массив | Временный каталог ОС | Каталог, который могут использовать инструменты доступа к файлам, в дополнение к корневым каталогам, предоставленным клиентом MCP. Можно указать несколько раз. Подробнее о том, как разрешить доступ к файлам за пределами временного каталога… |
--allowUnrestrictedPaths или --allow-unrestricted-paths |
Логическое значение | false |
Устаревший метод. Вместо него используйте --workspace=/. Отключает ограничение пути, которое применяется, когда клиент MCP не предоставляет корневые сертификаты. |
Категории функций
С помощью этих флагов можно включать и отключать группы инструментов.
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
--categoryInput или --category-input |
Логическое значение | true |
Включает инструменты, связанные с вводом. |
--categoryNavigation или --category-navigation |
Логическое значение | true |
Включает инструменты, связанные с навигацией. |
--categoryEmulation или --category-emulation |
Логическое значение | true |
Включает инструменты, связанные с эмуляцией. |
--categoryNetwork или --category-network |
Логическое значение | true |
Включает инструменты, связанные с сетью. |
--categoryPerformance или --category-performance |
Логическое значение | true |
Включает инструменты, связанные с производительностью. |
--categoryDebugging или --category-debugging |
Логическое значение | true |
Включает инструменты, связанные с отладкой. |
--categoryMemory или --category-memory |
Логическое значение | true |
Включает инструменты, связанные с памятью. |
--categoryExtensions или --category-extensions |
Логическое значение | false |
Включает инструменты, связанные с расширениями. Поддерживается только при подключении через канал. |
--categoryPwa или --category-pwa |
Логическое значение | false |
Включает инструменты для автоматизации прогрессивных веб-приложений (установка, запуск, удаление и состояние ОС). Поддерживается только для Pipe-подключений. |
--categoryExperimentalThirdParty или --category-experimental-third-party |
Логическое значение | false |
Включает инструменты сторонних разработчиков, которые используются на проверяемой странице. |
--categoryExperimentalWebmcp или --category-experimental-webmcp |
Логическое значение | false |
Включает отладку инструментов WebMCP. Требуется Chrome 149 или более поздней версии с включенными функциями WebMCP. |
--memoryDebugging или --memory-debugging |
Логическое значение | false |
Включает инструменты отладки памяти. |
Параметры скриншотов
Используйте эти параметры, чтобы настроить, как агент делает скриншоты.
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
--screenshotFormat или --screenshot-format |
string | false |
Переопределяет формат вывода по умолчанию (png). Возможные значения: jpeg, png и webp. Форматы jpeg и webp меньше, что помогает уменьшить размер контекста в чатах с ИИ. |
--screenshotQuality или --screenshot-quality |
число | false |
Переопределяет качество сжатия (0–100) для jpeg и webp. |
--screenshotMaxWidth или --screenshot-max-width |
число | false |
Максимальная ширина в пикселях. Скриншоты большего размера будут уменьшены. |
--screenshotMaxHeight или --screenshot-max-height |
число | false |
Максимальная высота в пикселях. Скриншоты большего размера будут уменьшены. |
Экспериментальные функции
Здесь можно включить экспериментальные функции, которые находятся в разработке.
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
--experimentalDevtools или --experimental-devtools |
Логическое значение | false |
Включает автоматизацию целей инструментов разработчика. |
--experimentalVision или --experimental-vision |
Логическое значение | false |
Включает инструменты на основе координат (например, click_at). Обычно требуется модель использования компьютера, которая может создавать точные координаты, анализируя скриншоты. |
--experimentalStructuredContent или --experimental-structured-content |
Логическое значение | false |
Создает структурированный контент. |
--experimentalIncludeAllPages или --experimental-include-all-pages |
Логическое значение | false |
Включает все типы страниц (например, веб-страницы и фоновые страницы). |
--experimentalScreencast или --experimental-screencast |
Логическое значение | false |
Предоставляет доступ к инструментам скринкаста (требуется ffmpeg в PATH). |
--experimentalFfmpegPath или --experimental-ffmpeg-path |
string | false |
Путь к исполняемому файлу ffmpeg. |
--experimentalScreencastFps или --experimental-screencast-fps |
число | false |
Количество кадров в секунду для записи скринкаста. Если задать меньшее значение, можно снизить нагрузку на память на страницах, которые создают кадры быстрее, чем ffmpeg может их кодировать. |
Другие варианты
С помощью этих параметров можно настроить ведение журнала, маршрутизацию страниц и карты источников, а также включить упрощенный набор инструментов.
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
--slim |
Логическое значение | false |
Предоставляет небольшой набор из трех инструментов (навигация, выполнение скриптов и скриншоты). Помогает выполнять основные задачи в браузере. |
--pageIdRouting или --page-id-routing |
Логическое значение | true |
Требует pageId для инструментов на уровне страницы и направляет запросы по идентификатору страницы, что полезно для одновременных сеансов агента. Используйте --no-page-id-routing для отключения. |
--sourceMaps или --source-maps |
Логическое значение | true |
Включает карты исходного кода в инструментах разработчика. Используйте --no-source-maps для отключения. |
--logFile или --log-file |
string | false |
Путь к файлу, в который будут записываться журналы отладки. Чтобы включить подробные журналы, задайте для переменной среды NODE_DEBUG значение *. |
--config |
string | false |
Путь к файлу конфигурации JSON. |
Переменные среды
Для настройки сервера также можно использовать следующие переменные среды:
CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS– если задано, отключает сбор статистики использования (эквивалентно--no-usage-statistics).CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: если задано, отключает периодические проверки обновлений.CI– если задано, отключает сбор статистики использования.NODE_DEBUG: задайте значение*, чтобы включить подробный журнал отладки (работает в сочетании с--logFile).