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

Playwright MCP

Сервер Model Context Protocol, предоставляющий возможности автоматизации браузера с помощью Playwright. Позволяет большим языковым моделям (LLM) взаимодействовать с веб-страницами через структурированные снимки дерева доступности — без использования моделей компьютерного зрения.

Пример​

You: Navigate to https://demo.playwright.dev/todomvc and add "Buy groceries".

→ browser_navigate { url: "https://demo.playwright.dev/todomvc" }

- heading "todos" [level=1] [ref=e3]
- textbox "What needs to be done?" [ref=e5]

→ browser_type { target: "e5", text: "Buy groceries", submit: true }

- heading "todos" [level=1] [ref=e3]
- textbox "What needs to be done?" [ref=e5]
- list [ref=e8]:
- listitem [ref=e9]:
- checkbox "Toggle Todo" [ref=e10]
- text: Buy groceries
- contentinfo [ref=e12]:
- text: 1 item left

LLM читает снимок дерева доступности, находит идентификаторы элементов (ref), например e5, и передаёт их в качестве target при следующем вызове инструмента — чтобы нажимать кнопки, заполнять формы и устанавливать флажки. Снимки экрана и угадывание координат не требуются.

Основные возможности​

  • Работа на основе снимков — взаимодействие с деревом доступности, а не с пикселями. Каждый элемент получает уникальный идентификатор для однозначного взаимодействия
  • Удобство для LLM — структурированный текстовый вывод, который LLM легко разбирают и который требует значительно меньше токенов, чем дампы DOM или снимки экрана
  • Кроссбраузерность — поддержка Chrome, Firefox, WebKit и Edge
  • Полноценная автоматизация — более 70 инструментов для навигации, работы с формами, имитации сетевых запросов, управления хранилищами, трассировки, записи видео и многого другого
  • Сохранение сеансов — состояние входа в систему и файлы cookie по умолчанию сохраняются между сеансами
  • Работа в любой среде — VS Code, Cursor, Windsurf, Claude Code, Claude Desktop и любой MCP-клиент

Быстрый старт​

Добавьте сервер в свой MCP-клиент:

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

По умолчанию браузер открывается с графическим интерфейсом, чтобы вы могли видеть происходящее. Инструкции по настройке конкретных клиентов приведены в разделе Установка.

Playwright MCP и Playwright CLI​

MCPPlaywright CLI
Лучше всего подходит дляСпециализированных циклов работы агентов, исследовательской автоматизацииАгентов программирования (Claude Code, Copilot), работающих с большими кодовыми базами
Принцип работыLLM вызывает инструменты MCP со структурированными параметрамиАгент выполняет команды оболочки
Расход токеновВыше — схемы инструментов и снимки находятся в контекстеНиже — краткий вывод CLI, навыки загружаются по мере необходимости
Режим по умолчаниюС графическим интерфейсомБез графического интерфейса
НастройкаКонфигурация JSON в MCP-клиентеnpm install -g @playwright/cli

Доступные инструменты​

Основные (всегда включены)​

ИнструментОписание
browser_navigateПерейти по указанному URL-адресу
browser_navigate_backПерейти назад по истории браузера
browser_snapshotСоздать снимок дерева доступности
browser_findНайти текст или совпадения с регулярным выражением в снимке
browser_clickНажать на элемент
browser_hoverНавести указатель на элемент
browser_dragВыполнить перетаскивание между элементами
browser_dropПеретащить на элемент файлы или данные с указанным MIME-типом
browser_typeВвести текст в элемент
browser_fill_formЗаполнить несколько полей формы одновременно
browser_select_optionВыбрать вариант в раскрывающемся списке
browser_press_keyНажать клавишу (Enter, Tab и т. д.)
browser_take_screenshotСделать снимок экрана в формате PNG/JPEG/WebP
browser_tabsПолучить список вкладок, создать, закрыть или выбрать вкладку
browser_handle_dialogПодтвердить или отклонить диалоговое окно
browser_file_uploadЗагрузить файлы через диалог выбора файлов
browser_console_messagesПолучить вывод консоли
browser_network_requestsПолучить список сетевых запросов
browser_network_requestПоказать полную информацию об одном запросе
browser_evaluateВыполнить JavaScript на странице или для элемента
browser_run_code_unsafeВыполнить фрагмент кода Playwright
browser_wait_forДождаться появления текста или истечения заданного времени
browser_closeЗакрыть страницу
browser_resizeИзменить размер окна браузера

Сеть (--caps=network)​

ИнструментОписание
browser_routeИмитировать сетевые запросы
browser_route_listПолучить список активных маршрутов имитации запросов
browser_unrouteУдалить маршруты имитации запросов
browser_network_state_setВключить или отключить подключение к сети

Хранилища (--caps=storage)​

ИнструментОписание
browser_cookie_list/get/set/delete/clearУправлять файлами cookie
browser_localstorage_list/get/set/delete/clearУправлять localStorage
browser_sessionstorage_list/get/set/delete/clearУправлять sessionStorage
browser_storage_stateСохранить файлы cookie и данные локального хранилища в файл
browser_set_storage_stateВосстановить сохранённое состояние

Тестирование (--caps=testing)​

ИнструментОписание
browser_generate_locatorСгенерировать локатор Playwright для тестов
browser_verify_element_visibleПроверить, что элемент виден
browser_verify_text_visibleПроверить, что текст виден
browser_verify_list_visibleПроверить, что список и его элементы видны
browser_verify_valueПроверить значение поля формы

Инструменты разработчика (--caps=devtools)​

ИнструментОписание
browser_start_tracing / browser_stop_tracingЗаписывать трассировки выполнения
browser_start_video / browser_stop_videoЗаписывать видео сеанса
browser_video_chapterДобавить в видео заставку главы
browser_video_show_actions / browser_video_hide_actionsПоказать или скрыть пояснения к действиям
browser_start_recording / browser_stop_recordingЗаписывать действия, выполняемые вручную, в виде кода
browser_highlight / browser_hide_highlightПодсветить элемент на странице или скрыть подсветку
browser_annotateПопросить пользователя нарисовать аннотации на странице
browser_resumeВозобновить приостановленное выполнение скрипта

PDF (--caps=pdf)​

ИнструментОписание
browser_pdf_saveЭкспортировать страницу в PDF

Компьютерное зрение (--caps=vision)​

ИнструментОписание
browser_mouse_move_xyПереместить указатель мыши в заданные координаты
browser_mouse_click_xyНажать в точке с заданными координатами
browser_mouse_drag_xyВыполнить перетаскивание между точками с заданными координатами
browser_mouse_down / browser_mouse_upНажать или отпустить кнопку мыши
browser_mouse_wheelВыполнить прокрутку колёсиком мыши

Конфигурация (--caps=config)​

ИнструментОписание
browser_get_configПолучить итоговую конфигурацию