Конфигурация

Вы можете настроить инструменты разработчика 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.

  1. В запущенном браузере Chrome перейдите на страницу chrome://inspect/#remote-debugging и включите Удаленную отладку.
  2. Добавьте --autoConnect в конфигурацию MCP: json "args": ["chrome-devtools-mcp@latest", "--autoConnect"]
  3. Когда агент пытается подключиться, Chrome показывает диалоговое окно с запросом разрешения. Нажмите Разрешить.

Подключение вручную

Если вы не можете использовать --autoConnect (например, в изолированной среде), запустите Chrome вручную с портом отладки и подключитесь с помощью --browser-url.

  1. Запустите 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
  2. Настройте агент для подключения к этому порту: 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).