Инструменты
Браузер для агента: Playwright MCP
Скопируй страницу и вставь в Claude или GPT — разберёт под твою задачу.
Обычный агент работает с завязанными глазами. Он правит вёрстку, что-то подкручивает в CSS и уверенно говорит «должно работать» — а сам страницу ни разу не видел. Он живёт в мире текста: читает файлы, пишет код, запускает команды. Но как реально выглядит сайт в браузере, не съехала ли кнопка, не красная ли консоль от ошибок — для него загадка. В этом гайде подключим агенту настоящий браузер через Playwright MCP: чтобы он сам открыл страницу, кликнул, заполнил форму, снял скриншот и ответил по факту, а не по догадке.
Короткий ответ
Playwright MCP — это официальный сервер от Microsoft, который выдаёт агенту настоящий браузер. Агент открывает страницы, кликает, печатает, делает скриншоты и проверяет вёрстку сам. Это обычный MCP-сервер, поэтому подключается одной командой из терминала:
claude mcp add playwright -- npx @playwright/mcp@latest
Перезапустил сессию Claude Code — и у агента появились глаза и руки в вебе. Дальше ты просто просишь его словами: «открой такую-то страницу и проверь вёрстку», а инструмент он подберёт сам.
Что понадобится
- Установленный и работающий Claude Code (команда
claudeдоступна в терминале). - Node.js с
npx— именно он поднимает сервер Playwright, поэтому качать что-то заранее не нужно. - Понимание, что это MCP-сервер. Механика подключения тут ровно та же, что для любого MCP: одна команда
claude mcp add, список черезclaude mcp list, удаление черезclaude mcp remove. Если про MCP пока туманно — про него есть отдельный гайд; здесь ты просто применяешь тот же приём к конкретному серверу-браузеру.
Зачем браузеру агент, а агенту браузер
Без браузера агент про внешние страницы только догадывается. Он меняет отступы и предполагает, что получилось. Классика жанра: «поправил» вёрстку, отрапортовал «готово», а ты открываешь сайт на телефоне — и там всё разъехалось. Проверить он не мог: глаз не было.
С браузером агент перестаёт угадывать и начинает вести себя как живой пользователь. Что он теперь умеет:
- Открыть страницу. Перейти по адресу и увидеть, что там на самом деле отрисовалось, а не что написано в коде.
- Кликать и печатать. Нажать кнопку, заполнить форму, пройти сценарий целиком — как человек, который реально зашёл на сайт.
- Сделать скриншот. Снять картинку страницы, в том числе на узкой, мобильной ширине, где ломается чаще всего.
- Проверить вёрстку и консоль. Посмотреть на реальный вид глазами и увидеть настоящие ошибки: битые ссылки, 404, красные сообщения JavaScript.
Ключевая мысль: браузер превращает агента из «читателя кода» в «пользователя, который зашёл на сайт». Он не рассуждает о твоей странице — он её открывает, смотрит и отвечает по факту, со скриншотом в доказательство.
Как подключить
Подключение — одна команда в терминале, в папке твоего проекта:
claude mcp add playwright -- npx @playwright/mcp@latest
Обрати внимание на двойной дефис --. Он отделяет опции самого Claude от команды, которая запускает сервер: всё, что стоит после --, уходит серверу как есть. Здесь playwright — это имя, под которым сервер будет виден в списке, а npx @playwright/mcp@latest — команда, которой он поднимается.
Браузер удобно иметь под рукой в любом проекте, а не только в текущем. Тогда добавляй его в user-scope — он станет доступен во всех твоих проектах на этой машине:
claude mcp add --scope user playwright -- npx @playwright/mcp@latest
Важно: послеclaude mcp addперезапусти сессию Claude Code. Новые инструменты подхватываются при старте сессии — пока не перезапустишь, агент их не увидит, даже еслиclaude mcp listуже показывает сервер.
Как пользоваться
Магия в том, что тебе не нужно ничего кликать самому и не нужно называть инструмент. Ты ставишь задачу обычными словами, а агент делает всю рутину. Например:
«Открой такую-то страницу и скажи, не съехала ли вёрстка на мобильной ширине». Агент сам открывает браузер, выставляет узкую ширину, делает скриншот, смотрит на него и отвечает по факту: съехала или нет — с картинкой.
Ты формулируешь что проверить, а как — забота агента. Несколько сценариев, где это ловит ошибку до пользователя:
- Проверка вёрстки. Не только на десктопе, но и на мобильной ширине — там ломается чаще всего.
- Пользовательский путь. Пройти сценарий целиком: открыть, нажать «Купить», заполнить форму — и убедиться, что кнопка реально работает, а не просто «выглядит кликабельной».
- Отладка фронтенда. Найти причину бага по настоящей консоли — увидеть конкретную ошибку JS или 404, а не гадать по коду.
Совет: всегда проси проверять скриншотом — «открой и покажи, как это выглядит». Тогда агент отвечает по реальному виду страницы, а не по своей догадке о том, что должно было получиться. Проверка глазами — это и есть разница между «должно работать» и «работает».
Проверить, что подключилось
После добавления сервера логично убедиться, что он на месте и живой.
claude mcp list
Показывает список всех подключённых серверов и их статус — подключён или отвалился. Playwright должен быть в списке.
Прямо внутри чата Claude Code работает команда /mcp — она показывает серверы и статус подключения. А если браузер больше не нужен — убираешь его так:
claude mcp remove playwright
Частые ошибки
| Симптом | Причина | Что сделать |
|---|---|---|
| Браузер добавил, а у агента его нет | Не перезапустил сессию — новые руки подхватываются только при старте | Перезапусти Claude Code, затем проверь claude mcp list |
В /mcp сервер горит как failed |
Сервер не стартует: нет Node/npx в системе |
Проверь, что установлен Node.js и npx работает в терминале |
| Агент не открывает сайт, а рассуждает по коду | Не попросил явно проверить в браузере | Сформулируй задачу как «открой страницу и проверь», а не «глянь вёрстку» |
| Первый запуск долго висит | Playwright докачивает браузерные бинарники (~300 МБ) при первом старте | Это разово — дождись; дальше сервер поднимается быстрее |
FAQ
Надо ли ставить сам браузер отдельно?
Нет. Playwright поднимет всё, что нужно, сам — через npx при первом запуске. Отдельно скачивать и настраивать браузер не требуется, поэтому первый старт и бывает чуть дольше обычного.
Это безопасно?
Агент действует в браузере от твоего имени: клик по кнопке — настоящий клик, отправка формы — настоящая отправка. Это не симуляция. Поэтому давай задачи осознанно, как с любым MCP: формы, оплаты и логины в важные аккаунты — сначала на тестовой странице, а не на боевом сайте с живыми клиентами. Если действие нельзя легко откатить — сначала тест, потом бой.
Чем это отличается от доступа к вебу или поиска?
Поиск и веб-доступ читают текст страниц — что там написано. Браузер даёт другое: агент кликает и проверяет интерфейс глазами — как кнопка себя ведёт, не съехала ли вёрстка, что в консоли. Поиск отвечает на «что написано на странице», браузер — на «как страница работает и выглядит».
Что ты увидишь
Агент реально открывает страницу в браузере и прикладывает скриншот как доказательство — отвечает по факту, а не по догадке:
> открой localhost:3000 и проверь шапку
✔ Открыл страницу, сделал скриншот (1280×720)
Шапка на месте, но логотип съезжает на узкой ширине.
Итог
Без браузера агент про внешние страницы только догадывается; с браузером — проверяет их глазами. Playwright MCP от Microsoft подключается одной командой claude mcp add playwright -- npx @playwright/mcp@latest — это тот же приём, что для любого MCP-сервера. Дальше ты просишь агента обычными словами открыть страницу и проверить вёрстку, а он сам кликает, заполняет формы, делает скриншот и читает консоль. Проси проверять скриншотом, а действия с формами и логинами держи на тесте — браузер даёт агенту силу настоящего пользователя.
А про то, как вообще устроены MCP-серверы и как безопасно выдавать агенту доступы наружу, — в соседних гайдах. Браузер — это его глаза; дальше добавим ему память и связи с внешним миром.