Chrome DevTools MCP

официальный

Официальный MCP-сервер Chrome DevTools для управления и инспекции живого браузера Chrome из агентов кодирования, таких как Gemini, Claude, Cursor и Copilot.

Что можно делать с Chrome Dev Tools MCP?

  • Аудит производительности — Запишите трассировку с помощью performance_start_trace / performance_stop_trace и извлеките практические выводы через performance_analyze_insight.
  • Инспекция сети — Выведите список захваченных запросов с помощью list_network_requests и получите детали отдельных запросов, используя get_network_request.
  • Отладка браузера — Захватите текущее состояние страницы с помощью take_screenshot или take_snapshot, а также проверьте вывод консоли через list_console_messages.
  • Надёжная автоматизация — Переходите по страницам, кликайте, заполняйте формы и нажимайте клавиши с помощью таких инструментов, как navigate_page, click, fill и press_key.
  • Анализ памяти — Создавайте снимки кучи с помощью take_heapsnapshot, сравнивайте их или проверяйте ретейнеры и доминаторы для диагностики утечек.
  • Аудит Lighthouse — Запустите аудит Lighthouse на странице с помощью lighthouse_audit, чтобы оценить производительность, доступность и лучшие практики.

Документация

Chrome DevTools для агентов

npm chrome-devtools-mcp package

Chrome DevTools для агентов (chrome-devtools-mcp) позволяет вашему агенту по написанию кода (например, Antigravity, Claude, Cursor или Copilot) управлять и инспектировать живой браузер Chrome. Он выступает в роли сервера Model-Context-Protocol (MCP), предоставляя вашему AI-ассистенту доступ ко всей мощи Chrome DevTools для надёжной автоматизации, глубокой отладки и анализа производительности. Также предоставляется CLI для использования без MCP.

Справочник инструментов | Список изменений | Участие в разработке | Устранение неполадок | Принципы проектирования

Ключевые возможности

  • Получение информации о производительности: Использует Chrome DevTools для записи трассировок и извлечения полезных сведений о производительности.
  • Продвинутая отладка браузера: Анализ сетевых запросов, создание скриншотов и проверка сообщений консоли браузера (с source-mapped трассировками стека).
  • Надёжная автоматизация. Использует puppeteer для автоматизации действий в Chrome и автоматического ожидания результатов действий.

Дисклеймеры

chrome-devtools-mcp предоставляет содержимое экземпляра браузера MCP-клиентам, позволяя им инспектировать, отлаживать и изменять любые данные в браузере или DevTools. Избегайте передачи конфиденциальной или личной информации, которую вы не хотите раскрывать MCP-клиентам.

chrome-devtools-mcp официально поддерживает только Google Chrome и Chrome for Testing. Другие браузеры на основе Chromium могут работать, но это не гарантируется, и вы можете столкнуться с неожиданным поведением. Используйте на своё усмотрение. Мы стремимся предоставлять исправления и поддержку для последней версии Extended Stable Chrome.

Инструменты производительности могут отправлять URL-адреса трассировок в Google CrUX API для получения данных о реальном пользовательском опыте. Это помогает составить целостную картину производительности, представляя полевые данные наряду с лабораторными. Эти данные собираются Chrome User Experience Report (CrUX). Чтобы отключить это, запустите с флагом --no-performance-crux.

Статистика использования

Google собирает статистику использования (например, частоту успешных вызовов инструментов, задержку и информацию об окружении) для повышения надёжности и производительности Chrome DevTools MCP.

Сбор данных включён по умолчанию. Вы можете отказаться, передав флаг --no-usage-statistics при запуске сервера:

"args": ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]

Google обрабатывает эти данные в соответствии с Политикой конфиденциальности Google.

Сбор статистики использования Google для Chrome DevTools MCP не зависит от статистики использования браузера Chrome. Отказ от метрик Chrome не означает автоматического отказа от этого инструмента, и наоборот.

Сбор отключается, если установлены переменные окружения CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS или CI.

Проверка обновлений

По умолчанию сервер периодически проверяет реестр npm на наличие обновлений и записывает уведомление, когда доступна более новая версия. Вы можете отключить эти проверки обновлений, установив переменную окружения CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS.

Требования

  • Node.js версии LTS.
  • Chrome текущей стабильной версии или новее.
  • npm

Начало работы

Добавьте следующую конфигурацию в ваш MCP-клиент:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest"]
    }
  }
}

[!NOTE] Использование chrome-devtools-mcp@latest гарантирует, что ваш MCP-клиент всегда будет использовать последнюю версию сервера Chrome DevTools MCP.

Если вам нужно выполнять только базовые задачи браузера, используйте режим --slim:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless"]
    }
  }
}

См. Справочник по Slim-инструментам.

Конфигурация MCP-клиента

Amp Следуйте https://ampcode.com/manual#mcp и используйте конфигурацию, приведённую выше. Вы также можете установить сервер Chrome DevTools MCP с помощью CLI:
amp mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
Antigravity

Чтобы использовать сервер Chrome DevTools MCP, следуйте инструкциям из документации Antigravity по установке пользовательского MCP-сервера. Добавьте следующую конфигурацию в конфигурацию MCP-серверов:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest",
        "--browser-url=http://127.0.0.1:9222"
      ]
    }
  }
}

Это позволит серверу Chrome DevTools MCP автоматически подключаться к браузеру, который использует Antigravity. Если вы не используете порт 9222, обязательно скорректируйте его соответствующим образом.

При таком подходе Chrome DevTools MCP не будет автоматически запускать экземпляр браузера, поскольку сервер Chrome DevTools MCP подключается к встроенному браузеру Antigravity. Если браузер ещё не запущен, вы должны сначала запустить его, нажав на значок Chrome в правом верхнем углу.

Claude Code

Установка через CLI (только MCP)

Используйте CLI Claude Code для добавления сервера Chrome DevTools MCP (руководство):

claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest

Установка как плагин (MCP + навыки)

[!NOTE] Если у вас ранее был установлен Chrome DevTools MCP для Claude Code, обязательно сначала удалите его из файлов установки и конфигурации.

Чтобы установить Chrome DevTools MCP с навыками, добавьте реестр marketplace в Claude Code:

/plugin marketplace add ChromeDevTools/chrome-devtools-mcp

Затем установите плагин:

/plugin install chrome-devtools-mcp@chrome-devtools-plugins

Перезапустите Claude Code, чтобы загрузились MCP-сервер и навыки (проверьте с помощью /skills).

[!TIP] Если установка плагина завершается с ошибкой Failed to clone repository (например, проблемы с HTTPS-подключением за корпоративным брандмауэром), см. руководство по устранению неполадок для обходных путей или используйте вместо этого метод установки через CLI, описанный выше.

Cline Следуйте https://docs.cline.bot/mcp/configuring-mcp-servers и используйте конфигурацию, приведённую выше.
Codex Следуйте руководству по настройке MCP используя стандартную конфигурацию, приведённую выше. Вы также можете установить сервер Chrome DevTools MCP с помощью Codex CLI:
codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest

В Windows 11

Настройте расположение установки Chrome и увеличьте тайм-аут запуска, обновив .codex/config.toml и добавив следующие параметры env и startup_timeout_ms:

[mcp_servers.chrome-devtools]
command = "cmd"
args = [
    "/c",
    "npx",
    "-y",
    "chrome-devtools-mcp@latest",
]
env = { SystemRoot="C:\\Windows", PROGRAMFILES="C:\\Program Files" }
startup_timeout_ms = 20_000
Command Code

Используйте CLI Command Code для добавления сервера Chrome DevTools MCP (руководство по MCP):

cmd mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest
Copilot CLI

Запустите Copilot CLI:

copilot

Начните диалог добавления нового MCP-сервера, выполнив:

/mcp add

Настройте следующие поля и нажмите CTRL+S, чтобы сохранить конфигурацию:

  • Имя сервера: chrome-devtools
  • Тип сервера: [1] Local
  • Команда: npx -y chrome-devtools-mcp@latest
Copilot / VS Code

Установка как плагин (рекомендуется)

Самый простой способ начать работу — установить chrome-devtools-mcp как плагин агента. Это объединяет MCP-сервер и все навыки вместе, так что ваш агент получает и инструменты, и экспертные рекомендации, необходимые для их эффективного использования.

  1. Откройте Палитру команд (Cmd+Shift+P на macOS или Ctrl+Shift+P на Windows/Linux).
  2. Найдите и выполните команду Chat: Install Plugin From Source.
  3. Вставьте имя нашего репозитория: ChromeDevTools/chrome-devtools-mcp.

Вот и всё! Ваш агент теперь наделён возможностями Chrome DevTools.


Установка как MCP-сервер (только MCP)

Нажмите кнопку для установки:

Install in VS Code

Install in VS Code Insiders

Или установите вручную:

Следуйте руководству по настройке MCP VS Code, используя стандартную конфигурацию, приведённую выше, или используйте CLI:

Для macOS и Linux:

code --add-mcp '{"name":"io.github.ChromeDevTools/chrome-devtools-mcp","command":"npx","args":["-y","chrome-devtools-mcp"],"env":{}}'

Для Windows (PowerShell):

code --add-mcp '{"""name""":"""io.github.ChromeDevTools/chrome-devtools-mcp""","""command""":"""npx""","""args""":["""-y""","""chrome-devtools-mcp"""]}'
Cursor

Нажмите кнопку для установки:

Install in Cursor

Или установите вручную:

Перейдите в Cursor Settings -> MCP -> New MCP Server. Используйте конфигурацию, приведённую выше.

Factory CLI Используйте Factory CLI для добавления сервера Chrome DevTools MCP (руководство):
droid mcp add chrome-devtools "npx -y chrome-devtools-mcp@latest"
Gemini CLI Установите сервер Chrome DevTools MCP с помощью Gemini CLI.

На уровне проекта:

# Either MCP only:
gemini mcp add chrome-devtools npx chrome-devtools-mcp@latest
# Or as a Gemini extension (MCP+Skills):
gemini extensions install --auto-update https://github.com/ChromeDevTools/chrome-devtools-mcp

Глобально:

gemini mcp add -s user chrome-devtools npx chrome-devtools-mcp@latest

В качестве альтернативы следуйте руководству по MCP и используйте стандартную конфигурацию, приведённую выше.

Gemini Code Assist Следуйте руководству по настройке MCP используя стандартную конфигурацию, приведённую выше.
Grok Build CLI
grok mcp add chrome-devtools npx chrome-devtools-mcp@latest

См. документацию для дополнительных опций

JetBrains AI Assistant & Junie

Перейдите в Settings | Tools | AI Assistant | Model Context Protocol (MCP) -> Add. Используйте конфигурацию, приведённую выше. Аналогичным образом chrome-devtools-mcp можно настроить для JetBrains Junie в Settings | Tools | Junie | MCP Settings -> Add. Используйте конфигурацию, приведённую выше.

Kiro

В Настройках Kiro перейдите в Configure MCP > Open Workspace or User MCP Config > Используйте фрагмент конфигурации, приведённый выше.

Или из Панели действий IDE > Kiro > MCP Servers > Click Open MCP Config. Используйте фрагмент конфигурации, приведённый выше.

Katalon Studio

Сервер Chrome DevTools MCP можно использовать с Katalon StudioAssist через MCP-прокси.

Шаг 1: Установите MCP-прокси, следуя руководству по настройке MCP-прокси.

Шаг 2: Запустите сервер Chrome DevTools MCP с прокси:

mcp-proxy --transport streamablehttp --port 8080 -- npx -y chrome-devtools-mcp@latest

Примечание: Возможно, вам потребуется выбрать другой порт, если 8080 уже используется.

Шаг 3: В Katalon Studio добавьте сервер в StudioAssist со следующими настройками:

  • URL-адрес подключения: http://127.0.0.1:8080/mcp
  • Тип транспорта: HTTP

После подключения инструменты Chrome DevTools MCP будут доступны в StudioAssist.

Mistral Vibe

Добавьте в ~/.vibe/config.toml:

[[mcp_servers]]
name = "chrome-devtools"
transport = "stdio"
command = "npx"
args = ["chrome-devtools-mcp@latest"]
OpenCode

Добавьте следующую конфигурацию в ваш файл opencode.json. Если у вас его нет, создайте его в ~/.config/opencode/opencode.json (руководство):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "chrome-devtools": {
      "type": "local",
      "command": ["npx", "-y", "chrome-devtools-mcp@latest"]
    }
  }
}
Qoder

В Настройках Qoder перейдите в MCP Server > + Add > Используйте фрагмент конфигурации, приведённый выше.

В качестве альтернативы следуйте руководству по MCP и используйте стандартную конфигурацию, приведённую выше.

Qoder CLI

Установите сервер Chrome DevTools MCP с помощью Qoder CLI (руководство):

На уровне проекта:

qodercli mcp add chrome-devtools -- npx chrome-devtools-mcp@latest

Глобально:

qodercli mcp add -s user chrome-devtools -- npx chrome-devtools-mcp@latest
Visual Studio

Нажмите кнопку для установки:

Install in Visual Studio

Warp

Перейдите в Settings | AI | Manage MCP Servers -> + Add, чтобы добавить MCP-сервер. Используйте конфигурацию, приведённую выше.

Windsurf Следуйте руководству по настройке MCP используя стандартную конфигурацию, приведённую выше.
### Ваш первый промпт

Введите следующий промпт в ваш MCP-клиент, чтобы проверить, всё ли работает:

Check the performance of https://developers.chrome.com

Ваш MCP-клиент должен открыть браузер и записать трассировку производительности.

[!NOTE] MCP-сервер запустит браузер автоматически, как только MCP-клиент использует инструмент, требующий работающего экземпляра браузера. Само по себе подключение к Chrome DevTools MCP-серверу не запустит браузер автоматически.

Инструменты

Если у вас возникнут проблемы, обратитесь к нашему руководству по устранению неполадок.

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

Chrome DevTools MCP-сервер поддерживает следующие параметры конфигурации:

  • --autoConnect/ --auto-connect Если указано, автоматически подключается к браузеру (Chrome 144+), запущенному локально из каталога пользовательских данных, определяемого параметром channel (канал по умолчанию — stable). Требуется, чтобы сервер удаленной отладки был запущен в экземпляре Chrome через chrome://inspect/#remote-debugging.

    • Тип: boolean
    • По умолчанию: false
  • --browserUrl/ --browser-url, -u Подключиться к запущенному отлаживаемому экземпляру Chrome (например, http://127.0.0.1:9222). Подробнее см.: https://github.com/ChromeDevTools/chrome-devtools-mcp#connecting-to-a-running-chrome-instance.

    • Тип: string
    • По умолчанию: false
  • --wsEndpoint/ --ws-endpoint, -w Конечная точка WebSocket для подключения к запущенному экземпляру Chrome (например, ws://127.0.0.1:9222/devtools/browser/). Альтернатива --browserUrl.

    • Тип: string
    • По умолчанию: false
  • --wsHeaders/ --ws-headers Пользовательские заголовки для WebSocket-соединения в формате JSON (например, '{"Authorization":"Bearer token"}'). Работает только с --wsEndpoint.

    • Тип: string
    • По умолчанию: false
  • --headless Запускать ли в headless-режиме (без пользовательского интерфейса).

    • Тип: boolean
    • По умолчанию: false
  • --executablePath/ --executable-path, -e Путь к пользовательскому исполняемому файлу Chrome.

    • Тип: string
    • По умолчанию: false
  • --isolated Если указано, создает временный каталог пользовательских данных, который автоматически очищается после закрытия браузера. По умолчанию false.

    • Тип: boolean
    • По умолчанию: false
  • --userDataDir/ --user-data-dir Путь к каталогу пользовательских данных Chrome. По умолчанию $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE

    • Тип: string
    • По умолчанию: false
  • --channel Укажите другой канал Chrome, который следует использовать. По умолчанию используется версия стабильного канала.

    • Тип: string
    • Варианты: canary, dev, beta, stable
    • По умолчанию: false
  • --logFile/ --log-file Путь к файлу для записи отладочных логов. Установите переменную окружения DEBUG в *, чтобы включить подробные логи. Полезно при отправке отчетов об ошибках.

    • Тип: string
    • По умолчанию: false
  • --viewport Начальный размер области просмотра для экземпляров Chrome, запускаемых сервером. Например, 1280x720. В headless-режиме максимальный размер — 3840x2160 пикселей.

    • Тип: string
    • По умолчанию: false
  • --proxyServer/ --proxy-server Конфигурация прокси-сервера для Chrome, передаваемая как --proxy-server при запуске браузера. Подробнее см. https://www.chromium.org/developers/design-documents/network-settings/.

    • Тип: string
    • По умолчанию: false
  • --acceptInsecureCerts/ --accept-insecure-certs Если включено, игнорирует ошибки, связанные с самоподписанными и просроченными сертификатами. Используйте с осторожностью.

    • Тип: boolean
    • По умолчанию: false
  • --experimentalPageIdRouting/ --experimental-page-id-routing Показывать ли pageId в инструментах с областью действия страницы и маршрутизировать запросы по идентификатору страницы (полезно для параллельных сессий агентов).

    • Тип: boolean
    • По умолчанию: false
  • --experimentalDevtools/ --experimental-devtools Включить ли автоматизацию над целями DevTools

    • Тип: boolean
    • По умолчанию: false
  • --experimentalVision/ --experimental-vision Включить ли инструменты на основе координат, такие как click_at(x,y). Обычно требует модель компьютерного использования, способную выдавать точные координаты, глядя на скриншоты.

    • Тип: boolean
    • По умолчанию: false
  • --memoryDebugging/ --memory-debugging, -experimentalMemory Включить ли инструменты отладки памяти.

    • Тип: boolean
    • По умолчанию: false
  • --experimentalStructuredContent/ --experimental-structured-content Выводить ли структурированное форматированное содержимое.

    • Тип: boolean
    • По умолчанию: false
  • --experimentalIncludeAllPages/ --experimental-include-all-pages Включать ли все виды страниц, такие как webviews или фоновые страницы, как страницы.

    • Тип: boolean
    • По умолчанию: false
  • --experimentalScreencast/ --experimental-screencast Предоставляет экспериментальные инструменты скринкаста (требуется ffmpeg). Установите ffmpeg https://www.ffmpeg.org/download.html и убедитесь, что он доступен в PATH MCP-сервера.

    • Тип: boolean
    • По умолчанию: false
  • --experimentalFfmpegPath/ --experimental-ffmpeg-path Путь к исполняемому файлу ffmpeg для записи скринкаста.

    • Тип: string
    • По умолчанию: false
  • --categoryExperimentalWebmcp/ --category-experimental-webmcp Установите true, чтобы включить отладку инструментов WebMCP. Требуется Chrome 149+ со следующими флагами: --enable-features=WebMCP,DevToolsWebMCPSupport

    • Тип: boolean
    • По умолчанию: false
  • --chromeArg/ --chrome-arg Дополнительные аргументы для Chrome. Применяется только когда Chrome запускается chrome-devtools-mcp.

    • Тип: array
    • По умолчанию: false
  • --blockedUrlPattern/ --blocked-url-pattern Ограничивает сетевой доступ браузера, блокируя указанные шаблоны URL (использует https://urlpattern.spec.whatwg.org/). При подключении незаметно отсоединяется от целей с заблокированными URL и блокирует запросы времени выполнения (включая навигации и субресурсы). Принимает массив шаблонов.

    • Тип: array
    • По умолчанию: false
  • --allowedUrlPattern/ --allowed-url-pattern Ограничивает сетевой доступ браузера, разрешая только указанные шаблоны URL (использует https://urlpattern.spec.whatwg.org/). Требуется Chrome 149+. При подключении незаметно отсоединяется от целей с неразрешенными URL и блокирует запросы времени выполнения (включая навигации и субресурсы). Принимает массив шаблонов.

    • Тип: array
    • По умолчанию: false
  • --ignoreDefaultChromeArg/ --ignore-default-chrome-arg Явно отключить аргументы по умолчанию для Chrome. Применяется только когда Chrome запускается chrome-devtools-mcp.

    • Тип: array
    • По умолчанию: false
  • --categoryEmulation/ --category-emulation Установите false, чтобы исключить инструменты, связанные с эмуляцией.

    • Тип: boolean
    • По умолчанию: true
  • --categoryPerformance/ --category-performance Установите false, чтобы исключить инструменты, связанные с производительностью.

    • Тип: boolean
    • По умолчанию: true
  • --categoryNetwork/ --category-network Установите false, чтобы исключить инструменты, связанные с сетью.

    • Тип: boolean
    • По умолчанию: true
  • --categoryExtensions/ --category-extensions Установите true, чтобы включить инструменты, связанные с расширениями. Примечание: Эта функция в настоящее время поддерживается только при подключении через канал (pipe). autoConnect, browserUrl и wsEndpoint не поддерживаются с этой функцией до выхода версии 149.

    • Тип: boolean
    • По умолчанию: false
  • --categoryExperimentalThirdParty/ --category-experimental-third-party Установите true, чтобы включить сторонние инструменты разработчика, предоставляемые самой проверяемой страницей

    • Тип: boolean
    • По умолчанию: false
  • --performanceCrux/ --performance-crux Установите false, чтобы отключить отправку URL из трассировок производительности в CrUX API для получения данных о полевой производительности.

    • Тип: boolean
    • По умолчанию: true
  • --usageStatistics/ --usage-statistics Установите false, чтобы отказаться от сбора статистики использования. Google собирает данные об использовании для улучшения инструмента, обработка осуществляется в соответствии с Политикой конфиденциальности Google (https://policies.google.com/privacy). Это не зависит от метрик браузера Chrome. Отключается, если установлены переменные окружения CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS или CI.

    • Тип: boolean
    • По умолчанию: true
  • --screenshotFormat/ --screenshot-format Переопределить формат вывода по умолчанию, используемый take_screenshot, когда вызывающая сторона не указывает его. JPEG и WebP примерно в 3-5 раз меньше PNG, что помогает уменьшить размер контекста в AI-диалогах. Если не задано, сохраняется существующее значение по умолчанию ("png").

    • Тип: string
    • Варианты: jpeg, png, webp
    • По умолчанию: false
  • --screenshotQuality/ --screenshot-quality Переопределить качество сжатия по умолчанию (0-100), используемое take_screenshot для JPEG и WebP, когда вызывающая сторона не указывает его. Меньшие значения означают файлы меньшего размера. Игнорируется для PNG. Если не задано, сохраняется значение по умолчанию Puppeteer.

    • Тип: number
    • По умолчанию: false
  • --screenshotMaxWidth/ --screenshot-max-width Максимальная ширина в пикселях для скриншотов. Если захваченное изображение шире, оно уменьшается (с сохранением соотношения сторон) перед возвратом. Уменьшает размер контекста в AI-диалогах. Если не задано, изменение размера не производится.

    • Тип: number
    • По умолчанию: false
  • --screenshotMaxHeight/ --screenshot-max-height Максимальная высота скриншотов в пикселях. Если захваченное изображение выше, оно уменьшается (с сохранением пропорций) перед возвратом. Можно комбинировать с --screenshot-max-width; применяется меньший коэффициент масштабирования. Если не задано, изменение размера не выполняется.

    • Тип: number
    • По умолчанию: false
  • --slim Предоставляет «облегчённый» набор из 3 инструментов, охватывающих только навигацию, выполнение скриптов и создание скриншотов. Полезно для базовых задач в браузере.

    • Тип: boolean
    • По умолчанию: false
  • --redactNetworkHeaders/ --redact-network-headers Если true, скрывает некоторые сетевые заголовки, считающиеся конфиденциальными, перед возвратом клиенту.

    • Тип: boolean
    • По умолчанию: false
  • --allowUnrestrictedPaths/ --allow-unrestricted-paths Если задано, отключает стандартное ограничение путей, применяемое, когда MCP-клиент не согласовывает возможность roots. По умолчанию инструменты записи файлов ограничены временным каталогом ОС, если корневые каталоги не настроены. Используйте эту опцию только при подключении доверенного локального клиента, который не реализует MCP roots и требует доступа к путям вне временного каталога.

    • Тип: boolean
    • По умолчанию: false

Передайте их через свойство args в конфигурации JSON. Например:

{
  "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\"}"
      ]
    }
  }
}

Чтобы получить конечную точку WebSocket из запущенного экземпляра Chrome, посетите http://127.0.0.1:9222/json/version и найдите поле webSocketDebuggerUrl.

Вы также можете запустить npx chrome-devtools-mcp@latest --help, чтобы увидеть все доступные параметры конфигурации.

Концепции

Параллельные сеансы

Большинство MCP-клиентов запускают один сервер Chrome DevTools MCP на диалог. Если ваш клиент использует один экземпляр сервера для параллельных агентов или подагентов, запустите сервер с --experimentalPageIdRouting. Это добавляет pageId в инструменты с областью действия страницы, чтобы каждый агент мог направлять вызовы инструментов на вкладку, с которой он работает.

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest",
        "--experimentalPageIdRouting"
      ]
    }
  }
}

Если вы запускаете несколько независимых сеансов MCP-клиента и хотите, чтобы каждый сеанс запускал свой временный профиль Chrome, также передайте --isolated. Это предотвращает совместное использование стандартного каталога пользовательских данных Chrome DevTools MCP между этими экземплярами сервера.

Каталог пользовательских данных

chrome-devtools-mcp запускает экземпляр стабильного канала Chrome, используя следующий каталог пользовательских данных:

  • Linux / macOS: $HOME/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL
  • Windows: %HOMEPATH%/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL

Каталог пользовательских данных не очищается между запусками и используется совместно всеми экземплярами chrome-devtools-mcp. Установите параметр isolated в значение true, чтобы вместо этого использовать временный каталог пользовательских данных, который будет автоматически очищен после закрытия браузера.

Подключение к запущенному экземпляру Chrome

По умолчанию сервер Chrome DevTools MCP запускает новый экземпляр Chrome с выделенным профилем. Это может быть не идеально во всех ситуациях:

  • Если вы хотите сохранять одно и то же состояние приложения при переключении между ручным тестированием сайта и тестированием, управляемым агентом.
  • Когда MCP необходимо войти на веб-сайт. Некоторые учётные записи могут запрещать вход, если браузер управляется через WebDriver (механизм запуска по умолчанию для сервера Chrome DevTools MCP).
  • Если вы запускаете свою LLM в изолированной среде, но хотите подключиться к экземпляру Chrome, работающему вне этой среды.

В этих случаях сначала запустите Chrome и позвольте серверу Chrome DevTools MCP подключиться к нему. Есть два способа сделать это:

  • Автоматическое подключение (доступно в Chrome 144): лучше всего подходит для совместного использования состояния между ручным и управляемым агентом тестированием.
  • Ручное подключение через порт удалённой отладки: лучше всего подходит при работе в изолированной среде.

Автоматическое подключение к запущенному экземпляру Chrome

Шаг 1: Настройте удалённую отладку в Chrome

В Chrome (>= M144) выполните следующие действия для настройки удалённой отладки:

  1. Перейдите на chrome://inspect/#remote-debugging, чтобы включить удалённую отладку.
  2. Следуйте инструкциям в диалоговом окне, чтобы разрешить или запретить входящие подключения для отладки.

Шаг 2: Настройте сервер Chrome DevTools MCP для автоматического подключения к запущенному экземпляру Chrome

Чтобы подключить сервер chrome-devtools-mcp к запущенному экземпляру Chrome, используйте аргумент командной строки --autoConnect для MCP-сервера.

Следующий фрагмент кода — пример конфигурации для gemini-cli:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["chrome-devtools-mcp@latest", "--autoConnect"]
    }
  }
}

Шаг 3: Проверьте настройку

Убедитесь, что ваш браузер запущен. Откройте gemini-cli и выполните следующий запрос:

Check the performance of https://developers.chrome.com

[!NOTE] Опция autoConnect требует, чтобы пользователь запустил Chrome. Если у пользователя несколько активных профилей, MCP-сервер подключится к профилю по умолчанию (определяемому Chrome). MCP-сервер имеет доступ ко всем открытым окнам выбранного профиля.

Сервер Chrome DevTools MCP попытается подключиться к вашему запущенному экземпляру Chrome. Появится диалоговое окно с запросом разрешения пользователя.

Нажатие Разрешить приведёт к тому, что сервер Chrome DevTools MCP откроет developers.chrome.com и снимет трассировку производительности.

Ручное подключение с использованием переадресации портов

Вы можете подключиться к запущенному экземпляру Chrome, используя опцию --browser-url. Это полезно, если вы запускаете MCP-сервер в изолированной среде, которая не позволяет запускать новый экземпляр Chrome.

Вот пошаговое руководство по подключению к запущенному экземпляру Chrome:

Шаг 1: Настройте MCP-клиент

Добавьте опцию --browser-url в конфигурацию вашего MCP-клиента. Значением этой опции должен быть URL запущенного экземпляра Chrome. http://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

[!WARNING] Включение порта удалённой отладки открывает порт отладки на запущенном экземпляре браузера. Любое приложение на вашем компьютере может подключиться к этому порту и управлять браузером. Убедитесь, что вы не просматриваете конфиденциальные веб-сайты, пока порт отладки открыт.

Запустите браузер Chrome с включённым портом удалённой отладки. Перед запуском нового экземпляра с включённым портом отладки обязательно закройте все запущенные экземпляры Chrome. Номер порта, который вы выберете, должен совпадать с тем, который вы указали в опции --browser-url в конфигурации вашего MCP-клиента.

В целях безопасности 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

Windows

"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.

Для получения дополнительной информации об удалённой отладке см. документацию Chrome DevTools.

Отладка Chrome на Android

Пожалуйста, обратитесь к этим инструкциям.

Известные ограничения

См. Устранение неполадок.

Интеграция в качестве подагента браузера

Если вы разрабатываете агентные инструменты и хотите предоставить интегрированного подагента браузера как часть вашего продукта, мы рекомендуем строить решение на основе Chrome DevTools для агентов.

Пример реализации см. в документации агента браузера Gemini CLI.