Chrome DevTools MCP ставит знакомую вам панель DevTools перед ИИ-агентом. Если большинство браузерных серверов занимаются кликами и вводом текста, то этот — тем, чтобы выяснить, почему страница тормозит, что она логирует, какие запросы делает и что держит в памяти. Его публикует организация ChromeDevTools на GitHub, у него 55 670 звёзд и лицензия Apache-2.0.
Мы установили версию 1.13.0, опубликованную 11 ноября 2026 года, и 14 ноября 2026 года сделали две вещи: вывели список его инструментов с разными опциями через MCP Inspector и прогнали его небольшим MCP-клиентом, чтобы записать трейс производительности и запустить Lighthouse на hostedmcp.org, нашем собственном сайте. Цифры ниже — из этих запусков.
Установка
Нужны Node.js 20.19 или новее и Chrome. Браузер запускается при первом вызове инструмента, которому он нужен, а не при старте сервера.
Claude Code:
claude mcp add chrome-devtools -- npx chrome-devtools-mcp@latest --isolated --no-usage-statistics
Cursor, Claude Desktop, Windsurf и другие клиенты с конфигурацией в JSON:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["chrome-devtools-mcp@latest", "--isolated", "--no-usage-statistics"]
}
}
}
Codex:
codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest --isolated --no-usage-statistics
Эти два флага — наша рекомендация, а не значения по умолчанию. --isolated даёт каждой сессии временный профиль; без него сервер держит постоянный профиль в ~/.cache/chrome-devtools-mcp/chrome-profile, который не очищается между запусками. --no-usage-statistics отключает статистику использования, которую сервер по умолчанию отправляет в Google. Наш конструктор конфигурации записывает такую же запись для нескольких клиентов.
Предложенный в README первый запрос — хорошая проверка: "Check the performance of https://developers.chrome.com".
Сколько всего инструментов
tools/list на версии 1.13.0 без опций вернул 33 инструмента, а определения инструментов заняли 31 498 байт. С --slim он вернул три: navigate, evaluate и screenshot — в 1 042 байтах.
| Группа | Инструменты |
|---|---|
| Страницы и навигация | list_pages, new_page, select_page, close_page, navigate_page, wait_for, resize_page |
| Ввод | click, hover, drag, fill, fill_form, type_text, press_key, upload_file, handle_dialog |
| Производительность | performance_start_trace, performance_stop_trace, performance_analyze_insight, lighthouse_audit |
| Сеть | list_network_requests, get_network_request |
| Отладка | list_console_messages, get_console_message, evaluate_script, take_snapshot, take_screenshot, get_css_styles, set_logpoints, screencast_start, screencast_stop |
| Память | take_heapsnapshot |
| Эмуляция | emulate |
Каждую группу можно отключить флагом вроде --categoryEmulation=false. Другие включены не сразу: сетевые моки, расширения, автоматизация PWA, виртуальные аутентификаторы WebAuthn и инструменты, которые страница предоставляет сама через WebMCP. Включайте только то, что нужно для задачи: 31 КБ определений — немного по сравнению с некоторыми серверами, но они отправляются с каждым запросом.
Что возвращает трассировка
Мы запустили сервер в headless-режиме, открыли https://hostedmcp.org/ через new_page, затем вызвали performance_start_trace с включёнными reload и autoStop и, наконец, lighthouse_audit.
Вызов трассировки занял около 6 секунд и вернул 9 436 байт текста. В отчёте было указано:
| Метрика | Значение |
|---|---|
| LCP | 169 ms |
| из них время до первого байта | 0.8 ms |
| из них задержка рендеринга | 169 ms |
| CLS | 0.00 |
Затем шёл список найденных инсайтов — каждый с пояснением и, где применимо, оценкой экономии: разбивка LCP, блокирующие рендеринг запросы (25 ms FCP и LCP), дерево сетевых зависимостей, доставка изображений, сторонние ресурсы, время жизни кэша и устаревший JavaScript. По любому из них агент может вызвать performance_analyze_insight, чтобы получить подробности. Ответ заканчивается описанием собственного формата дерева вызовов, чтобы модель могла прочитать данные flame chart, которые идут следом.
lighthouse_audit занял около 7 секунд и вернул 6 687 байт: accessibility 94, best practices 100, SEO 100 и четвёртая категория — agentic browsing — 67. Четыре аудита провалились. Первый — контрастность цветов: двенадцать элементов, среди них метка поиска в нашем заголовке, с коэффициентом 4.33 при требуемых 4.5. Так что инструмент сделал свою работу; нам есть что исправить.
Два замечания по этим числам. Время до первого байта 0.8 ms означает, что страница пришла из прогретого edge-кэша; холодный запрос был бы медленнее. А поскольку мы передали --no-performance-crux, трассировка не сообщила полевых данных от реальных пользователей; по умолчанию сервер ищет URL страницы в наборе данных CrUX от Google.
Ловушка с pageId
Наш первый запуск измерил about:blank. В версии 1.13.0 инструменты страниц принимают pageId, и новая сессия начинается с пустой страницы под номером 1. Наш вызов new_page открыл сайт как страницу 2 и отметил её выбранной, но мы передали 1. Трассировка добросовестно сообщила CLS 0 для пустой страницы. Обычно агенты сначала вызывают list_pages и не попадаются на этом; если трассировка сообщает about:blank, причина именно в этом.
Используйте свой Chrome
По умолчанию сервер запускает собственный Chrome. Он также может подключиться к уже запущенному:
--autoConnectподключается к Chrome 144 или новее после того, как вы включите удалённую отладку наchrome://inspect/#remote-debugging.--browserUrl http://127.0.0.1:9222подключается к Chrome, запущенному с--remote-debugging-port=9222.
Подключение к вашему повседневному браузеру даёт агенту ваши логины, cookie и открытые вкладки. В этом и смысл, когда нужно отладить страницу за авторизацией, и в этом же риск во всех остальных случаях. Используйте для этого отдельный профиль Chrome.
Приватность и безопасность
При запуске сервер выводит предупреждение: он «exposes content of the browser instance to the MCP clients allowing them to inspect, debug, and modify any data in the browser or DevTools». Воспринимайте это буквально. Три настройки по умолчанию стоит изменить:
- Статистика использования отправляется в Google, если не передать
--no-usage-statistics. Она также отключается, когда задана переменная окруженияCI. - Запросы к CrUX: инструменты производительности могут отправлять URL, которые вы трассируете, в CrUX API от Google. Для внутренних или staging-URL используйте
--no-performance-crux. - Профиль: профиль по умолчанию сохраняется между сессиями. Используйте
--isolated, если вам не нужно состояние между сессиями.
evaluate_script выполняет JavaScript на странице, а страницы могут содержать текст, адресованный модели. Переходы на незнакомые сайты подтверждайте сами. Мы также заметили, что в 1.13.0 чтение и запись файлов, например сохранённых трассировок и скриншотов, ограничены системной временной папкой, если клиент не передаёт свои workspace roots; --allow-unrestricted-paths снимает это ограничение. Оставьте его включённым. Подробнее в разделе Безопасность MCP.
Chrome DevTools MCP или Playwright MCP
| Chrome DevTools MCP | Playwright MCP | |
|---|---|---|
| Версия на 14 ноября 2026 | 1.13.0 | 0.0.85 |
| Движок | Puppeteer | Playwright |
| Браузеры | Официально Chrome | Chromium, Chrome, Edge, Firefox, WebKit |
| Инструментов по умолчанию | 33 | 25 |
| Сильные стороны | Трейсы, Lighthouse, снимки кучи, CSS-стили, логпоинты | Снимки доступности, кроссбраузерность, тестовые агенты |
| Телеметрия | Статистика использования включена по умолчанию | Не заявлена |
Ни один из проектов не публиковал сравнение, так что это разделение наше: Playwright MCP — когда задача агента воспользоваться сайтом, Chrome DevTools MCP — когда задача понять, почему сайт ведёт себя именно так. Оба работают бок о бок; вторая половина — в нашем руководстве по Playwright MCP.
Когда это не работает
| Что вы видите | Причина | Решение |
|---|---|---|
pageId: expected number |
Инструментам страниц в 1.13.0 нужен номер страницы | Сначала вызовите list_pages или new_page |
Трассировка about:blank |
Выбрана не та страница | Передайте pageId страницы, которую открыли |
| Lighthouse отказывается проверять страницу | Он не может анализировать about:blank |
Сначала перейдите на страницу или используйте режим снимка |
| Chrome не запускается | Нет Chrome или нет дисплея для браузера с интерфейсом | Установите Chrome; на серверах добавьте --headless |
--autoConnect ничего не находит |
Удалённая отладка не включена или Chrome старше 144 | Включите её на chrome://inspect/#remote-debugging |
| Сохранённая трассировка не там, где вы ожидаете | Клиент не передал корневые каталоги рабочей области | Файлы попадают во временную папку; ищите там |
| Логины со вчерашнего дня всё ещё на месте | Постоянный профиль по умолчанию | Используйте --isolated |
Серверы Chrome DevTools из нашего каталога с оценками проверок перечислены в начале этой страницы.