Перейти к содержимому

Playwright MCP: нейросеть сама проверяет сайт в браузере

Автор: Редакция AI-библиотеки · Дата: 21.10.2026 · Проверено: 21.10.2026 · Время чтения: 7 минут

Playwright MCP — это сервер от Microsoft, через который ИИ-агент управляет настоящим браузером: открывает страницы, нажимает кнопки, заполняет формы, делает скриншоты и читает ошибки консоли. Сервер работает не по картинке экрана, а по дереву доступности страницы (accessibility tree) — структурированному описанию элементов, поэтому модели не нужно распознавать изображения. Ниже — как подключить Playwright MCP к Claude Code и Claude Desktop, какие у него инструменты и настройки и что важно знать про безопасность. Всё сверено с описанием проекта microsoft/playwright-mcp на GitHub и документацией Claude Code на 20 октября 2026 года.

  • MCP (протокол контекста модели, Model Context Protocol) — стандарт подключения агента к внешним инструментам. Playwright MCP даёт агенту браузер.
  • Требования: Node.js 18 или новее и любой клиент MCP — Claude Code, Claude Desktop, Cursor, VS Code и другие.
  • Подключение к Claude Code: claude mcp add playwright -- npx @playwright/mcp@latest.
  • По умолчанию браузер открывается в видимом окне. Для работы без окна есть флаг --headless.
  • Проект прямо предупреждает: Playwright MCP не является границей безопасности.
  • Для агентов, которые пишут код, Microsoft предлагает и вторую дорогу — Playwright CLI с навыками, он экономнее расходует токены.

Без браузера агент видит только код. Он может написать форму обратной связи, но не может проверить, отправляется ли она. С Playwright MCP агент проходит сценарий сам: открывает страницу, вводит данные, нажимает кнопку, смотрит, что вернул сервер и что появилось в консоли, и исправляет код, если что-то сломалось.

Типичные задачи:

  • проверить страницу после правок: открывается ли, нет ли ошибок в консоли;
  • пройти форму или оформление заказа от начала до конца;
  • снять скриншоты страницы в нужном размере окна или на эмуляции телефона;
  • собрать данные со страницы, которая рисуется скриптами;
  • написать автотест Playwright по пройденному сценарию.

Тестированию с помощью нейросетей у нас посвящена отдельная статья — нейросеть для тестирования кода.

Почему дерево доступности, а не скриншоты

Заголовок раздела «Почему дерево доступности, а не скриншоты»

Описание проекта называет три свойства сервера:

  • Быстрый и лёгкий. Использует дерево доступности Playwright, а не ввод по пикселям.
  • Удобный для языковых моделей. Модели зрения не нужны — сервер работает со структурированными данными.
  • Предсказуемый. Нет двусмысленности, которая бывает при работе по скриншотам.

На практике это значит: агент получает список элементов страницы с их ролями и подписями — «кнопка „Отправить“», «поле „Email“» — и действует по ссылкам на эти элементы, а не по координатам на картинке. Скриншоты при этом тоже доступны, если они нужны вам для проверки.

Нужны установленные Claude Code и Node.js 18 или новее. Установка Claude Code описана в статье как установить Claude Code.

Команда по синтаксису документации Claude Code — двойной дефис отделяет параметры Claude Code от команды запуска сервера:

Окно терминала
claude mcp add playwright -- npx @playwright/mcp@latest

В описании проекта на GitHub та же команда записана без двойного дефиса: claude mcp add playwright npx @playwright/mcp@latest. Документация Claude Code рекомендует ставить --, чтобы параметры самого сервера не перепутались с параметрами Claude Code.

Проверка:

Окно терминала
claude mcp list

У сервера должен стоять статус ✔ Connected. Внутри сессии список серверов и их состояние показывает команда /mcp.

Чтобы передать серверу настройки, допишите их после имени пакета. Например, браузер без окна и размер окна 1280 на 720:

Окно терминала
claude mcp add playwright -- npx @playwright/mcp@latest --headless --viewport-size 1280x720

По умолчанию сервер добавляется в текущий проект. Для всех проектов добавьте --scope user перед именем сервера. Про области подключения — в статье как подключить MCP к Claude Code.

Как подключить к Claude Desktop и другим клиентам

Заголовок раздела «Как подключить к Claude Desktop и другим клиентам»

Для Claude Desktop и большинства других клиентов проект даёт стандартную настройку в формате JSON:

{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}

В Claude Desktop её вставляют в файл настроек: Settings → Developer → Edit Config. После сохранения приложение нужно перезапустить.

Основные инструменты из описания проекта:

ИнструментЧто делает
browser_navigateоткрыть адрес
browser_snapshotснимок страницы в виде дерева доступности
browser_clickнажать на элемент
browser_typeввести текст
browser_fill_formзаполнить форму
browser_select_optionвыбрать вариант в списке
browser_take_screenshotсделать скриншот
browser_console_messagesполучить сообщения консоли
browser_network_requestsсписок сетевых запросов
browser_wait_forдождаться текста или времени
browser_tabsуправлять вкладками
browser_evaluateвыполнить JavaScript на странице

Таблица инструментов Playwright MCP: открыть адрес, снимок дерева доступности, клик, ввод текста, заполнение формы и другие

Часть возможностей включается отдельно через параметр --caps: например, network даёт подмену сетевых запросов, storage — работу с cookies и localStorage, vision — действия по координатам, pdf — сохранение в PDF.

Все параметры передаются после имени пакета. Самые нужные на старте:

ПараметрЧто делает
--headlessзапуск без видимого окна; по умолчанию окно видно
--browserвыбор браузера: chrome, firefox, webkit, msedge
--viewport-sizeразмер окна, например 1280x720
--deviceэмуляция устройства, например "iPhone 15"
--isolatedпрофиль браузера хранится в памяти и не сохраняется на диск
--user-data-dirсвоя папка профиля
--extensionподключиться к уже запущенному Chrome или Edge через расширение Playwright
--blocked-originsсписок адресов, к которым браузеру нельзя обращаться

Таблица параметров запуска Playwright MCP: headless, выбор браузера, размер окна, эмуляция устройства, изолированный профиль

Профиль браузера. По умолчанию сервер хранит постоянный профиль: в нём остаются входы на сайты, как в обычном браузере. Если вам нужен чистый браузер на каждый запуск — используйте --isolated. Если, наоборот, нужно работать в браузере, где вы уже вошли в аккаунты, — режим --extension.

Docker. Сервер можно запускать в контейнере mcr.microsoft.com/playwright/mcp, но на дату сверки образ поддерживает только Chromium без окна.

Описание проекта говорит прямо: Playwright MCP — не граница безопасности. Агент с браузером может открыть любую страницу и выполнить на ней действия, а инструмент browser_evaluate запускает произвольный JavaScript.

Что стоит учитывать:

  • Не давайте агенту браузерный профиль с входами в почту, банк и рабочие аккаунты, если задача этого не требует. Для проверок сайта хватит --isolated.
  • Параметры --allowed-origins и --blocked-origins по документации тоже не являются защитой и не действуют на перенаправления — это удобство, а не ограждение.
  • Страница может содержать текст, рассчитанный на то, чтобы сбить агента с задачи. Про такие атаки — статья prompt injection: защита.
  • Доступ к файлам по умолчанию ограничен рабочей папкой. Флаг --allow-unrestricted-file-access снимает это ограничение — включайте его осознанно.

В описании проекта Microsoft отдельно сравнивает MCP-сервер с Playwright CLI. Вывод такой:

  • CLI с навыками лучше подходит агентам, которые пишут код: команды короче, агенту не нужно загружать большие описания инструментов и деревья страниц, поэтому расход токенов ниже.
  • MCP остаётся полезным там, где нужен долгий сеанс с сохранённым состоянием браузера: исследовательская автоматизация, тесты, которые сами себя чинят, длинные автономные сценарии.

Если вы только начинаете, MCP-сервер проще подключить: одна команда, и агент сразу видит браузер.

Какой браузер использует сервер? Его выбирают параметром --browser: chrome, firefox, webkit или msedge. Если браузер стоит в нестандартной папке, путь к нему передают параметром --executable-path.

Чем Playwright MCP отличается от автотестов Playwright? Автотест — заранее написанный скрипт. Через MCP агент сам решает, что нажать дальше, глядя на страницу. По пройденному сценарию агент может написать обычный автотест — у сервера есть параметр --codegen с выбором языка.

Работает ли с Cursor и VS Code? Да, в описании проекта есть инструкции для VS Code, Cursor, Windsurf, Claude Desktop и других клиентов.

Общая логика MCP — в статье что такое MCP. Если агент проверяет сайт после правок, задайте ему порядок проверок в CLAUDE.md, чтобы он проходил одни и те же шаги каждый раз.

Актуально на 20 октября 2026 года. Набор инструментов и параметров проект обновляет часто — сверяйтесь с описанием на GitHub.

  1. microsoft/playwright-mcp — README (требования, установка, параметры, инструменты, безопасность): https://github.com/microsoft/playwright-mcp
  2. Claude Code Docs — Connect Claude Code to tools via MCP: https://code.claude.com/docs/en/mcp
  3. Model Context Protocol — Connect to local MCP servers: https://modelcontextprotocol.io/docs/2026-07-28/develop/connect-local-servers
  4. Playwright — официальный сайт: https://playwright.dev