executeautomation/playwright-mcp-server

executeautomation/playwright-mcp-server

от executeautomation
Сервер для браузерной автоматизации на Playwright. Используется AI-агентами для открытия страниц, скриншотов, веб-скрапинга и выполнения JavaScript в реальном браузере. Отлично подходит для тестиро...
MseeP.ai Security Assessment Badge
MseeP.ai Security Assessment

Playwright MCP Server 🎭

Trust Score smithery badge

A Model Context Protocol server that provides browser automation capabilities using Playwright. This server enables LLMs to interact with web pages, take screenshots, generate test code, web scrapes the page and execute JavaScript in a real browser environment.

mcp-playwright MCP server

✨ What's New in v1.0.10

🎯 Device Emulation with 143 Real Device Presets!

Test your web applications on real device profiles with a simple command:

// Test on iPhone 13 with automatic user-agent, touch support, and device pixel ratio
await playwright_resize({ device: "iPhone 13" });

// Switch to iPad with landscape orientation
await playwright_resize({ device: "iPad Pro 11", orientation: "landscape" });

// Test desktop view
await playwright_resize({ device: "Desktop Chrome" });

Natural Language Support for AI Assistants:

  • "Test on iPhone 13"
  • "Switch to iPad view"
  • "Rotate to landscape"

Supports 143 devices: iPhone, iPad, Pixel, Galaxy, and Desktop browsers with proper emulation of viewport, user-agent, touch events, and device pixel ratios.

Инструменты были проиндексированы:
clear_codegen_session

Очистить сессию генерации кода без создания теста

Параметры
  • sessionIdstringобязательный

    ID сеанса для очистки.

end_codegen_session

Завершает сессию генерации кода и генерирует тестовый файл

Параметры
  • sessionIdstringобязательный

    ID сеанса для завершения

get_codegen_session

Получает информацию о сессии генерации кода

Параметры
  • sessionIdstringобязательный

    Идентификатор сеанса для получения.

playwright_assert_response

Ожидает и проверяет ранее инициированную операцию ожидания HTTP-ответа.

Параметры
  • idstringобязательный

    Идентификатор HTTP-ответа, который первоначально ожидался с помощью Playwright_expect_response.

  • valuestring

    Данные, которые должны присутствовать в теле HTTP-ответа. Если они указаны, проверка не пройдёт, если это значение не будет найдено в теле ответа.

playwright_click

Кликните элемент на странице

Параметры
  • selectorstringобязательный

    CSS-селектор для элемента, который нужно кликнуть

playwright_click_and_switch_tab

Нажмите на ссылку и переключитесь на вновь открытую вкладку.

Параметры
  • selectorstringобязательный

    CSS-селектор для ссылки, по которой нужно кликнуть

playwright_close

Закройте браузер и освободите все ресурсы

Параметры

Без параметров.

playwright_console_logs

Получает консольные логи из браузера с опциями фильтрации.

Параметры
  • clearboolean

    Нужно ли очищать логи после получения (по умолчанию: false)

  • limitnumber

    Максимальное количество возвращаемых журналов

  • searchstring

    Текст для поиска в логах (обрабатывает текст с квадратными скобками)

  • typeenum

    Тип логов для получения (все, ошибка, предупреждение, лог, инфо, отладка, исключение)

playwright_custom_user_agent

Устанавливает пользовательский User Agent для браузера.

Параметры
  • userAgentstringобязательный

    Пользовательский User Agent для экземпляра браузера Playwright

playwright_delete

Выполнить HTTP-запрос DELETE

Параметры
  • headersobject

    Дополнительные заголовки, которые нужно включить в запрос.

  • tokenstring

    Bearer-токен для авторизации

  • urlstringобязательный

    URL для выполнения операции DELETE

playwright_drag

Перетаскивает элемент в целевое местоположение

Параметры
  • sourceSelectorstringобязательный

    CSS-селектор перетаскиваемого элемента

  • targetSelectorstringобязательный

    CSS-селектор для целевого местоположения

playwright_evaluate

Выполнить JavaScript в консоли браузера

Параметры
  • scriptstringобязательный

    Что именно должен делать JavaScript-код? Опишите задачу подробнее: например, работа с DOM, обработка данных, взаимодействие с API, вычисления, анимации или что-то другое. Также уточните окружение (браузер или Node.js), чтобы я дал корректный код.

playwright_expect_response

Попросите Playwright начать ожидание HTTP-ответа. Этот инструмент запускает операцию ожидания, но не ожидает её завершения.

Параметры
  • idstringобязательный

    Уникальный и произвольный идентификатор для последующего получения этого ответа с помощью Playwright_assert_response.

  • urlstringобязательный

    URL-паттерн для поиска в ответе.

playwright_fill

Заполни поле ввода

Параметры
  • selectorstringобязательный

    CSS-селектор для поля ввода

  • valuestringобязательный

    Заполняемое значение

playwright_get

Выполняет HTTP GET-запрос

Параметры
  • headersobject

    Дополнительные заголовки, которые нужно включить в запрос.

  • tokenstring

    Bearer-токен для авторизации

  • urlstringобязательный

    URL для выполнения GET-запроса

playwright_get_visible_html

Получает HTML-содержимое текущей страницы. По умолчанию все теги <script> удаляются из вывода, если removeScripts явно не установлен в false.

Параметры
  • cleanHtmlboolean

    Выполняет полную очистку HTML (по умолчанию: false)

  • maxLengthnumber

    Максимальное количество символов для возврата (по умолчанию: 5000)

  • minifyboolean

    Минифицирует вывод HTML (по умолчанию: false)

  • removeCommentsboolean

    Удаляет все HTML-комментарии (по умолчанию: false)

  • removeMetaboolean

    Удаляет все метатеги из HTML (по умолчанию: false)

  • removeScriptsboolean

    Удаляет все теги script из HTML (по умолчанию: true)

  • removeStylesboolean

    Удаляет все теги style из HTML (по умолчанию: false)

  • selectorstring

    Чтобы ограничить выборку HTML конкретным контейнером, используйте селектор по ID или классу. Например, #main-content или .container. Если нужно выбрать только прямых потомков, добавьте комбинатор >: #main-content > p. Для вложенных элементов любого уровня используйте пробел: #main-content p. Если контейнер не имеет класса или ID, можно использовать атрибут: [data-container] или позицию: div:nth-of-type(2). Всё зависит от структуры страницы. Если расскажете, какой именно контейнер имеете в виду, подскажу точнее.

playwright_get_visible_text

Получить видимое текстовое содержимое текущей страницы

Параметры

Без параметров.

playwright_go_back

Вернуться назад в истории браузера

Параметры

Без параметров.

playwright_go_forward

Перейти вперёд по истории браузера

Параметры

Без параметров.

playwright_hover

Наводит курсор на элемент на странице.

Параметры
  • selectorstringобязательный

    CSS-селектор для элемента, на который нужно навести курсор

playwright_iframe_click

Нажимает элемент в iframe на странице

Параметры
  • iframeSelectorstringобязательный

    Селектор CSS для iframe, содержащего элемент, по которому нужно кликнуть.

  • selectorstringобязательный

    CSS-селектор для элемента, который нужно кликнуть

playwright_iframe_fill

Заполнить элемент в iframe на странице

Параметры
  • iframeSelectorstringобязательный

    CSS selector для iframe, содержащего элемент для заполнения.

  • selectorstringобязательный

    CSS-селектор для элемента, который нужно заполнить

  • valuestringобязательный

    Заполняемое значение

playwright_navigate

Перейти по URL

Параметры
  • browserTypeenum

    Какой браузер использовать (chromium, firefox, webkit). По умолчанию chromium

  • headlessboolean

    Запускает браузер в фоновом режиме (по умолчанию: false)

  • heightnumber

    Высота области просмотра в пикселях (по умолчанию: 800)

  • timeoutnumber

    Таймаут навигации в миллисекундах

  • urlstringобязательный

    URL для перехода на указанный веб-сайт

  • waitUntilstring

    Условие ожидания навигации.

  • widthnumber

    Ширина области просмотра в пикселях (по умолчанию: 1280)

playwright_patch

Выполняет HTTP PATCH-запрос

Параметры
  • headersobject

    Дополнительные заголовки, которые нужно включить в запрос.

  • tokenstring

    Bearer-токен для авторизации

  • urlstringобязательный

    URL для выполнения PATCH-операции

  • valuestringобязательный

    Данные для PATCH в теле запроса

playwright_post

Выполняет HTTP POST запрос.

Параметры
  • headersobject

    Дополнительные заголовки, которые нужно включить в запрос.

  • tokenstring

    Bearer-токен для авторизации

  • urlstringобязательный

    URL для выполнения POST-запроса

  • valuestringобязательный

    Данные для отправки в теле запроса

playwright_press_key

Нажмите клавишу на клавиатуре

Параметры
  • keystringобязательный

    Клавиша для нажатия (например, 'Enter', 'ArrowDown', 'a')

  • selectorstring

    Необязательный CSS-селектор для фокусировки перед нажатием клавиши.

playwright_put

Выполнить HTTP PUT-запрос

Параметры
  • headersobject

    Дополнительные заголовки, которые нужно включить в запрос.

  • tokenstring

    Bearer-токен для авторизации

  • urlstringобязательный

    URL для выполнения операции PUT

  • valuestringобязательный

    Данные для PUT в теле запроса

playwright_resize

Изменяет размер окна просмотра браузера вручную или по предустановкам устройств. Поддерживает более 143 предустановок, включая iPhone, iPad, Android-устройства и настольные браузеры с корректным user-agent и эмуляцией касаний.

Параметры
  • devicestring

    Название пресета устройства (например, 'iPhone 13', 'iPad Pro 11', 'Pixel 7', 'Galaxy S24', 'Desktop Chrome'). Автоматически настраивает viewport, user-agent и возможности устройства. Используйте playwright.devices, чтобы посмотреть все доступные устройства.

  • heightnumber

    Высота области просмотра в пикселях (для ручного изменения размера без пресета устройства).

  • orientationenum

    Ориентация устройства: 'portrait' или 'landscape' (применяется только при использовании пресета устройства)

  • widthnumber

    Ширина области просмотра в пикселях (для ручного изменения размера без пресета устройства).

playwright_save_as_pdf

Сохрани текущую страницу в формате PDF

Параметры
  • filenamestring

    Имя PDF-файла (по умолчанию: page.pdf)

  • formatstring

    Формат страницы (например, 'A4', 'Letter')

  • marginobject

    Поля страницы

  • outputPathstringобязательный

    Каталог, в котором будет сохранен PDF

  • printBackgroundboolean

    Печатать ли фоновую графику

playwright_screenshot

Снимает скриншот текущей страницы или конкретного элемента.

Параметры
  • downloadsDirstring

    Путь к папке загрузок (по умолчанию: папка «Загрузки» пользователя)

  • fullPageboolean

    Сохранять скриншот всей страницы (по умолчанию: false)

  • heightnumber

    Высота в пикселях (по умолчанию 100)

  • namestringобязательный

    Название для скриншота

  • savePngboolean

    Сохранять скриншот как PNG-файл (по умолчанию: false)

  • selectorstring

    CSS-селектор для элемента для скриншота

  • storeBase64boolean

    Сохраняет скриншот в формате base64 (по умолчанию: true)

  • widthnumber

    Ширина в пикселях (по умолчанию 100)

playwright_select

Выбирает элемент на странице с помощью тега Select

Параметры
  • selectorstringобязательный

    CSS-селектор для элемента, который нужно выбрать

  • valuestringобязательный

    Значение для выбора

playwright_upload_file

Загрузить файл в элемент input[type='file'] на странице

Параметры
  • filePathstringобязательный

    Абсолютный путь к файлу для загрузки

  • selectorstringобязательный

    # CSS-селекторы для элемента file input ## Основной селектор css input[type="file"] Это самый прямой и надёжный способ выбрать файловый input. ## Стилизация кнопки выбора файла css input[type="file"]::file-selector-button Псевдоэлемент ::file-selector-button стилизует саму кнопку «Выберите файл». Это работает в современных браузерах. css input[type="file"]::file-selector-button { background: #4CAF50; color: white; padding: 8px 16px; border: none; border-radius: 4px; cursor: pointer; } ## Состояния кнопки css input[type="file"]::file-selector-button:hover { background: #45a049; } input[type="file"]::file-selector-button:active { background: #3d8b40; } input[type="file"]::file-selector-button:disabled { opacity: 0.5; cursor: not-allowed; } ## Стилизация текста рядом с кнопкой Текст, который показывает имя выбранного файла, стилизуется через сам input: css input[type="file"] { color: #333; font-size: 14px; } ## Состояния самого input css input[type="file"]:hover { /* наведение */ } input[type="file"]:focus { /* фокус */ } input[type="file"]:disabled { /* отключён */ } input[type="file"]:required { /* обязательный */ } input[type="file"]:optional { /* необязательный */ } ## Валидация css input[type="file"]:valid { border-color: green; } input[type="file"]:invalid { border-color: red; } input[type="file"]:user-invalid { border-color: red; } :user-invalid — новое, более семантичное состояние: срабатывает только после того, как пользователь реально взаимодействовал с полем и оставил его в невалидном состоянии. ## Комбинированные селекторы css /* Только обязательные файловые инпуты */ input[type="file"]:required::file-selector-button { background: #ff9800; } /* Файловый инпут внутри формы с классом .upload */ .upload input[type="file"]::file-selector-button { border-radius: 0; } ## Ограничения - ::before и ::after на input[type="file"] не работают — это replaced element. - Псевдокласс :placeholder-shown неприменим — у файловых инпутов нет placeholder. - В Safari и старых версиях Firefox ::file-selector-button поддерживается хуже, чем в Chrome и Edge. Для старых Safari используют ::-webkit-file-upload-button как фолбэк: css input[type="file"]::-webkit-file-upload-button { /* стили для старых Safari */ } input[type="file"]::file-selector-button { /* стили для современных браузеров */ } Если нужен полностью кастомный вид, проще скрыть нативный input и показать свою кнопку через label с for, но тогда теряется семантика и доступность.

start_codegen_session

Начинает новую сессию генерации кода для записи действий Playwright.

Параметры
  • optionsobjectобязательный

    Параметры генерации кода

Похожие MCP-сервера

Browserbase MCP

Browserbase MCP

официальный

MCP сервер облачной автоматизации браузера Browserbase. Позволяет AI-агентам навигировать по сайтам, извлекать данные и выполнять действия. Полезен для RPA и веб-скрапинга. Доступен self-hosted и hosted.

TypeScript3404
Playwright MCP

Playwright MCP

официальный

MCP сервер для браузерной автоматизации на основе Playwright. Использует structured accessibility snapshots вместо скриншотов, что делает его быстрым и LLM-friendly. Подходит для агентов, тестирования и автономных сценариев без vision-моделей.

TypeScript36983
jae-jae/fetcher-mcp

jae-jae/fetcher-mcp

MCP сервер для извлечения веб-контента через Playwright. Работает с динамическими сайтами, поддерживает JavaScript, умное выделение текста и пакетную загрузку. Идеален для сбора данных и разработки.

TypeScript1084
hyperbrowserai/mcp

hyperbrowserai/mcp

MCP сервер Hyperbrowser для скрапинга, краулинга и извлечения структурированных данных. Включает браузерные агенты OpenAI CUA и Claude. Для веб-автоматизации и сбора данных LLM.

TypeScript789
webscraping-ai/webscraping-ai-mcp-server

webscraping-ai/webscraping-ai-mcp-server

официальный

MCP сервер для веб-скрапинга через WebScraping.AI — извлекает текст, HTML и структурированные данные, задаёт вопросы по содержимому страниц. Поддерживает JavaScript-рендеринг, CSS-селекторы, выбор прокси и эмуляцию устройств. Идеален для интеграции с LLM при сборе информации с сайтов.

JavaScript45
scrapeless-ai/scrapeless-mcp-server

scrapeless-ai/scrapeless-mcp-server

официальный

Scrapeless MCP Server подключает LLM и AI-агентов к вебу: поиск Google, тренды, браузерная автоматизация, скрапинг (HTML, Markdown, скриншоты). Применяется для AI-ассистентов, копилотов и веб-агентов.

TypeScript168
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин