Playwright MCP

Playwright MCP

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

Playwright MCP

A Model Context Protocol (MCP) server that provides browser automation capabilities using Playwright. This server enables LLMs to interact with web pages through structured accessibility snapshots, bypassing the need for screenshots or visually-tuned models.

Playwright MCP vs Playwright CLI

This package provides MCP interface into Playwright. If you are using a coding agent, you might benefit from using the CLI+SKILLS instead.

  • CLI: Modern coding agents increasingly favor CLI–based workflows exposed as SKILLs over MCP because CLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model context, allowing agents to act through concise, purpose-built commands. This makes CLI + SKILLs better suited for high-throughput coding agents that must balance browser automation with large codebases, tests, and reasoning within limited context windows.
    Learn more about Playwright CLI with SKILLS.

  • MCP: MCP remains relevant for specialized agentic loops that benefit from persistent state, rich introspection, and iterative reasoning over page structure, such as exploratory automation, self-healing tests, or long-running autonomous workflows where maintaining continuous browser context outweighs token cost concerns.

browser_clickвнешний мир

Выполняет клик на веб-странице

Выполняет клик на веб-странице

Параметры

  • elementstring

    Human-readable element description used to obtain permission to interact with the element

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

    Exact target element reference from the page snapshot, or a unique element selector

  • doubleClickboolean

    Whether to perform a double click instead of a single click

  • buttonenum

    Button to click, defaults to left

    leftrightmiddle
  • modifiersstring[]

    Modifier keys to press

browser_closeвнешний мир

Закрывает страницу

Закрывает страницу

Параметры

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

browser_console_messagesтолько чтениевнешний мир

Возвращает все консольные сообщения

Возвращает все консольные сообщения

Параметры

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

    Level of the console messages to return. Each level includes the messages of more severe levels. Defaults to "info".

    errorwarninginfodebug
  • allboolean

    Return all console messages since the beginning of the session, not just since the last navigation. Defaults to false.

  • filenamestring

    Filename to save the console messages to. If not provided, messages are returned as text.

browser_dragвнешний мир

Выполняет перетаскивание между двумя элементами

Выполняет перетаскивание между двумя элементами

Параметры

  • startElementstring

    Human-readable source element description used to obtain the permission to interact with the element

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

    Exact target element reference from the page snapshot, or a unique element selector

  • endElementstring

    Human-readable target element description used to obtain the permission to interact with the element

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

    Exact target element reference from the page snapshot, or a unique element selector

browser_dropвнешний мир

Перетаскивает файлы или данные в формате MIME на элемент, как будто они перетащены из-за пределов страницы. Должен быть указан хотя бы один из параметров "paths" или "data".

Перетаскивает файлы или данные в формате MIME на элемент, как будто они перетащены из-за пределов страницы. Должен быть указан хотя бы один из параметров "paths" или "data".

Параметры

  • elementstring

    Human-readable element description used to obtain permission to interact with the element

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

    Exact target element reference from the page snapshot, or a unique element selector

  • pathsstring[]

    Absolute paths to files to drop onto the element.

  • dataobject

    Data to drop, as a map of MIME type to string value (e.g. {"text/plain": "hello", "text/uri-list": "https://example.com"}).

browser_evaluateвнешний мир

Вычисляет JavaScript-выражение на странице или элементе

Вычисляет JavaScript-выражение на странице или элементе

Параметры

  • elementstring

    Human-readable element description used to obtain permission to interact with the element

  • targetstring

    Exact target element reference from the page snapshot, or a unique element selector

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

    () => { /* code */ } or (element) => { /* code */ } when element is provided

  • filenamestring

    Filename to save the result to. If not provided, result is returned as text.

browser_file_uploadвнешний мир

Загружает один или несколько файлов

Загружает один или несколько файлов

Параметры

  • pathsstring[]

    The absolute paths to the files to upload. Can be single file or multiple files. If omitted, file chooser is cancelled.

browser_fill_formвнешний мир

Заполняет несколько полей формы.

Заполняет несколько полей формы.

Параметры

  • fieldsobject[]обязательный

    Fields to fill in

browser_findтолько чтениевнешний мир

Ищет в снимке доступности текущей страницы текст или регулярное выражение. Возвращает совпадающие узлы снимка с несколькими строками окружающего контекста (как фрагменты поиска), каждый показан под своим путём от корня дерева, что дешевле, чем захватывать весь снимок, когда вам нужно только найти элемент и его ref.

Ищет в снимке доступности текущей страницы текст или регулярное выражение. Возвращает совпадающие узлы снимка с несколькими строками окружающего контекста (как фрагменты поиска), каждый показан под своим путём от корня дерева, что дешевле, чем захватывать весь снимок, когда вам нужно только найти элемент и его ref.

Параметры

  • textstring

    Plain text to search for in the page snapshot (case-insensitive substring match). Provide either text or regex, not both.

  • regexstring

    Regular expression to search for in the page snapshot. Matching is case-sensitive by default; wrap the pattern in slashes to add flags, e.g. "/error/i" for case-insensitive. Provide either text or regex, not both.

browser_handle_dialogвнешний мир

Обрабатывает диалог

Обрабатывает диалог

Параметры

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

    Whether to accept the dialog.

  • promptTextstring

    The text of the prompt in case of a prompt dialog.

browser_hoverвнешний мир

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

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

Параметры

  • elementstring

    Human-readable element description used to obtain permission to interact with the element

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

    Exact target element reference from the page snapshot, or a unique element selector

browser_navigateвнешний мир

Переходит по URL

Переходит по URL

Параметры

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

    The URL to navigate to

browser_navigate_backвнешний мир

Вернуться на предыдущую страницу в истории

Вернуться на предыдущую страницу в истории

Параметры

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

browser_network_requestтолько чтениевнешний мир

Возвращает полные сведения (заголовки и тело) одного сетевого запроса или одной части, если задан `part`. Используйте номер из browser_network_requests.

Возвращает полные сведения (заголовки и тело) одного сетевого запроса или одной части, если задан `part`. Используйте номер из browser_network_requests.

Параметры

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

    1-based index of the request, as printed by browser_network_requests.

  • partenum

    Return only this part of the request. Omit to return full details.

    request-headersrequest-bodyresponse-headersresponse-body
  • filenamestring

    Filename to save the result to. If not provided, output is returned as text.

browser_network_requestsтолько чтениевнешний мир

Возвращает нумерованный список сетевых запросов с момента загрузки страницы. Используйте browser_network_request с номером для получения полных сведений.

Возвращает нумерованный список сетевых запросов с момента загрузки страницы. Используйте browser_network_request с номером для получения полных сведений.

Параметры

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

    Whether to include successful static resources like images, fonts, scripts, etc. Defaults to false.

  • filterstring

    Only return requests whose URL matches this regexp (e.g. "/api/.*user").

  • filenamestring

    Filename to save the network requests to. If not provided, requests are returned as text.

browser_press_keyвнешний мир

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

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

Параметры

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

    Name of the key to press or a character to generate, such as `ArrowLeft` or `a`

browser_resizeвнешний мир

Изменяет размер окна браузера.

Изменяет размер окна браузера.

Параметры

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

    Width of the browser window

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

    Height of the browser window

browser_run_code_unsafeвнешний мир

Запускает фрагмент кода Playwright. Небезопасно: выполняет произвольный JavaScript в процессе сервера Playwright и эквивалентно RCE.

Запускает фрагмент кода Playwright. Небезопасно: выполняет произвольный JavaScript в процессе сервера Playwright и эквивалентно RCE.

Параметры

  • codestring

    A JavaScript function containing Playwright code to execute. It will be invoked with a single argument, page, which you can use for any page interaction. For example: `async (page) => { await page.getByRole('button', { name: 'Submit' }).click(); return await page.title(); }`

  • filenamestring

    Load code from the specified file. If both code and filename are provided, code will be ignored.

browser_select_optionвнешний мир

Выберите вариант в выпадающем списке.

Выберите вариант в выпадающем списке.

Параметры

  • elementstring

    Human-readable element description used to obtain permission to interact with the element

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

    Exact target element reference from the page snapshot, or a unique element selector

  • valuesstring[]обязательный

    Array of values to select in the dropdown. This can be a single value or multiple values.

browser_snapshotтолько чтениевнешний мир

Захватывает снимок доступности текущей страницы, это лучше, чем скриншот

Захватывает снимок доступности текущей страницы, это лучше, чем скриншот

Параметры

  • targetstring

    Exact target element reference from the page snapshot, or a unique element selector

  • filenamestring

    Save snapshot to markdown file instead of returning it in the response.

  • depthnumber

    Limit the depth of the snapshot tree

  • boxesboolean

    Include each element's bounding box as [box=x,y,width,height] in the snapshot. Coordinates are viewport-relative, in CSS pixels (Element.getBoundingClientRect)

browser_tabsвнешний мир

Перечисляет, создаёт, закрывает или выбирает вкладку браузера.

Перечисляет, создаёт, закрывает или выбирает вкладку браузера.

Параметры

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

    Operation to perform

    listnewcloseselect
  • indexnumber

    Tab index, used for close/select. If omitted for close, current tab is closed.

  • urlstring

    URL to navigate to in the new tab, used for new.

browser_take_screenshotтолько чтениевнешний мир

Сделайте снимок экрана текущей страницы. Нельзя выполнять действия на основе снимка экрана, используйте browser_snapshot для действий.

Сделайте снимок экрана текущей страницы. Нельзя выполнять действия на основе снимка экрана, используйте browser_snapshot для действий.

Параметры

  • elementstring

    Human-readable element description used to obtain permission to interact with the element

  • targetstring

    Exact target element reference from the page snapshot, or a unique element selector

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

    Image format for the screenshot. Default is png.

    pngjpeg
  • filenamestring

    File name to save the screenshot to. Defaults to `page-{timestamp}.{png|jpeg}` if not specified. Prefer relative file names to stay within the output directory.

  • fullPageboolean

    When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots.

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

    Image resolution scale. "css" produces a screenshot sized in CSS pixels (smaller, consistent across devices). "device" produces a high-resolution screenshot using device pixels (larger, accounts for the device pixel ratio). Default is css.

    cssdevice
browser_typeвнешний мир

Вводит текст в редактируемый элемент

Вводит текст в редактируемый элемент

Параметры

  • elementstring

    Human-readable element description used to obtain permission to interact with the element

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

    Exact target element reference from the page snapshot, or a unique element selector

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

    Text to type into the element

  • submitboolean

    Whether to submit entered text (press Enter after)

  • slowlyboolean

    Whether to type one character at a time. Useful for triggering key handlers in the page. By default entire text is filled in at once.

browser_wait_forтолько чтениевнешний мир

Ожидает появления или исчезновения текста или истечения указанного времени.

Ожидает появления или исчезновения текста или истечения указанного времени.

Параметры

  • timenumber

    The time to wait in seconds

  • textstring

    The text to wait for

  • textGonestring

    The text to wait for to disappear

Другие проверенные MCP-сервера

zoomeye-ai/mcp_zoomeye

zoomeye-ai/mcp_zoomeye

официальный

ZoomEye MCP Server предоставляет ИИ-ассистентам доступ к данным о сетевых активах через ZoomEye. Полезен для специалистов по кибербезопасности и разработчиков. Быстрый поиск устройств и сайтов с по...

Python79
jsdelivr/globalping-mcp-server

jsdelivr/globalping-mcp-server

официальный

Globalping MCP Server даёт AI-ассистентам доступ к глобальной сети проб для выполнения сетевых тестов (ping, traceroute, DNS, HTTP) из тысяч точек мира. Идеально для диагностики сети и сравнения пр...

TypeScript62
datalayer/jupyter-mcp-server

datalayer/jupyter-mcp-server

официальный

Подключает AI к Jupyter Notebooks в реальном времени: создание, выполнение и редактирование ячеек, переключение между ноутбуками, вывод графиков. Оптимальное решение для автоматизации работы с данн...

Python1216
nteract/semiotic

nteract/semiotic

Semiotic — React-библиотека визуализации данных со встроенным MCP-сервером. AI-ассистенты могут рендерить графики, проверять конфигурации и получать рекомендации по чартам. Сотни типов диаграмм — о...

TypeScript2685
mobile-next/mobile-mcp

mobile-next/mobile-mcp

MCP сервер для мобильной автоматизации iOS и Android на симуляторах, эмуляторах и реальных устройствах. Взаимодействует с приложениями через accessibility-деревья и скриншоты. Подходит для тестирования, data-entry, агентных систем и LLM-сценариев.

TypeScript5489
stack-chan/stack-chan

stack-chan/stack-chan

Stack-chan - это JavaScript-управляемый робот на базе M5Stack с супер-кавайным лицом. Управляйте эмоциями, взглядом, речью и сервоприводами. Идеален для DIY и образовательных проектов.

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

Лука Никитин