Playwright MCP Server
Playwright MCP Server 🎭
Сервер на основе Model Context Protocol, предоставляет возможности автоматизации браузера с помощью Playwright. Этот сервер позволяет языковым моделям (LLM) взаимодействовать с веб-страницами, делать снимки экрана, генерировать тестовый код, выполнять парсинг страниц и запускать JavaScript в реальном браузерном окружении.
✨ Что нового в v1.0.10
🎯 Эмуляция устройств с 143 реальными пресетами!
Тестируйте свои веб-приложения на реальных профилях устройств всего одной командой:
// 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" });Поддержка естественного языка для ИИ-ассистентов:
«Тест на iPhone 13»
«Переключиться на вид iPad»
«Повернуть в альбомный режим»
Поддерживается 143 устройства: iPhone, iPad, Pixel, Galaxy и настольные браузеры с корректной эмуляцией окна просмотра, user-agent, сенсорных событий и экранных коэффициентов.
📚 Посмотреть краткий справочник устройств | Руководство по подсказкам
Related MCP server: Playwright MCP Server for Security
Скриншот

Документация | Справочник API
Установка
Установить пакет можно либо через npm, либо через mcp-get, либо через Smithery:
С помощью npm:
npm install -g @executeautomation/playwright-mcp-serverС помощью mcp-get:
npx @michaellatman/mcp-get@latest install @executeautomation/playwright-mcp-serverС помощью Smithery
Чтобы установить Playwright MCP для Claude Desktop автоматически через Smithery:
npx @smithery/cli install @executeautomation/playwright-mcp-server --client claudeС помощью Claude Code:
claude mcp add --transport stdio playwright npx @executeautomation/playwright-mcp-serverУстановка в VS Code
Установите сервер Playwright MCP в VS Code с помощью одной из этих кнопок:
Кроме того, установить сервер Playwright MCP можно с помощью CLI VS Code:
# For VS Code
code --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'# For VS Code Insiders
code-insiders --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'После установки сервер ExecuteAutomation Playwright MCP будет доступно для использования с агентом GitHub Copilot в VS Code.
Установка браузер
Автоматическая установка (рекомендуется)
Сервер Playwright MCP автоматически устанавливает исполняемые файлы браузера при первом использовании. Когда он определяет, что браузер отсутствует, он:
Автоматически загрузит и установит требуемый браузер (Chromium, Firefox или WebKit)
Покажет ход установки в консоли
Повторит ваш запрос после завершения установки
Ручная настройка не требуется! Просто начинайте использовать сервер, и он сам выполнит установку браузера.
Ручная установка (необязательно)
Если вы предпочитаете устанавливать браузеры вручную или столкнулись с проблемами при автоматической установке:
# Install all browsers
npx playwright install
# Or install specific browsers
npx playwright install chromium
npx playwright install firefox
npx playwright install webkitРасположение браузеров
Браузеры устанавливаются в:
Windows:
%USERPROFILE%\AppData\Local\ms-playwrightmacOS:
~/Library/Caches/ms-playwrightLinux:
~/.cache/ms-playwright
Конфигурация Playwright-сервера
Стандартный режим (stdio)
Это рекомендуемый режим для Claude Desktop.
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@executeautomation/playwright-mcp-server"]
}
}
}Примечание: В режиме stdio запись логов автоматически выполняется только в файлы (не в консоль), чтобы сохранять чистую JSON-RPC-коммуникацию. Логи записываются в ~/playwright-mcp-server.log.
HTTP-режим (автономный сервер)
При запуске браузера с графическим интерфейсом в системах без дисплея или из рабочих процессов IDE вы можете запустить MCP-сервер как автономный HTTP-сервер:
Примечание для пользователей Claude Desktop: Claude Desktop сейчас требует использования stdio-режима (конфигурация command/args). HTTP-режим рекомендуется для VS Code, пользовательских клиентов и удалённых развертываний. Подробности — в CI..._DESKTOP_CONFIG.md.
Запуск HTTP-сервера
# Using npx
npx @executeautomation/playwright-mcp-server --port 8931
# Or after global installation
playwright-mcp-server --port 8931Сервер запустится и покажет доступные конечные точки:
==============================================
Playwright MCP Server (HTTP Mode)
==============================================
Port: 8931
ENDPOINTS:
- SSE Stream: GET http://localhost:8931/sse
- Messages: POST http://localhost:8931/messages?sessionId=<id>
- MCP (unified): GET http://localhost:8931/mcp
- MCP (unified): POST http://localhost:8931/mcp?sessionId=<id>
- Health Check: GET http://localhost:8931/health
==============================================Конфигурация клиента для HTTP-режима
⚠️ Критически: поле
"type": "http"является ОБЯЗАТЕЛЬНЫМ для HTTP/SSE-транспорта!
Для VS Code GitHub Copilot:
{
"github.copilot.chat.mcp.servers": {
"playwright": {
"url": "http://localhost:8931/mcp",
"type": "http"
}
}
}Для пользовательских MCP-клиентов:
{
"mcpServers": {
"playwright": {
"url": "http://localhost:8931/mcp",
"type": "http"
}
}
}Важно: Без "type": "http" подключение не сможет установиться.
Для Claude Desktop: пользуйтесь stdio-режимом (см. Стандартный режим выше) — пока.
Варианты использования HTTP-режима
Запуск браузера с графическим интерфейсом на системах без дисплея (например, удалённые серверы)
Интеграция с VS Code GitHub Copilot
Запуск сервера как фонового сервиса
Доступ к серверу с нескольких клиентов
Отладка через
/health-эндпоинтИнтеграции с пользовательскими MCP-клиентами
Мониторинг: сервер включает систему мониторинга, которая запускается на динамически выбираемом порту (избегая конфликтов). Фактический порт смотрите в консоли.
Примечание: Для Claude Desktop продолжайте использовать stdio-режим (см. Стандартный режим выше).
Устранение неполадок
Ошибка «No transport found for sessionId»
Симптом: ошибка 400 с сообщением «Bad Request: No transport found for sessionId»
Решение:
Проверьте, что в конфигурации есть
"type": "http"{ "url": "http://localhost:8931/mcp", "type": "http" // ← This is REQUIRED! }Проверьте, что в логах сервера видно соединение:
# Should see these in order: # 1. "Incoming request" - GET /mcp # 2. "Transport registered" - with sessionId # 3. "POST message received" - with same sessionIdПерезапустите и сервер, и клиент
Проблемы с подключением
Сервер не запускается: Проверьте доступность порта 8931
Внешний доступ заблокирован: это задумано (безопасность). Сервер привязывается только к localhost
Для удалённого доступа: используйте SSH-туннелирование:
ssh -L 8931:localhost:8931 user@remote-serverТестирование
В этом проекте используется Jest для тестирования. Тесты находятся в каталоге src/__tests__.
Запуск тестов
Вы можете запустить тесты одной из следующих команд:
# Run tests using the custom script (with coverage)
node run-tests.cjs
# Run tests using npm scripts
npm test # Run tests without coverage
npm run test:coverage # Run tests with coverage
npm run test:custom # Run tests with custom script (same as node run-tests.cjs)Отчёт о покрытии тестами будет создан в каталоге coverage.
Запуск eval-прогонов
Пакет evals загружает mcp-клиент, который затем выполняет файл index.ts, поэтому нет необходимости пересобирать проект между тестами. Переменные окружения можно задать префиксом к команде npx. Полную документацию можно найти здесь.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/tools/codegen/index.tsУчастие в разработке
При добавлении новых инструментов, пожалуйста, используйте сокращения (например, «In» или «In»). Некоторые клиенты, например Cursor, имеют ограничение в 60 символов на суммарную длину имени сервера и инструмента (server_name:tool_name).
Наш сервер называется playwright-mcp. Пожалуйста, сделайте так, чтобы ваши новые инструменты были достаточно краткими и не превышали этот размер.
История звёзд
This server cannot be deployed
Maintenance
Related MCP Connectors
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Hosted browser for agents: open pages, search the web, extract data, read PDFs and take screenshots.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment10189 npm297MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to perform browser automation tasks including web scraping, taking screenshots, and executing JavaScript using Playwright. It facilitates real-time interaction with web pages and the generation of automated test code.4 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables browser automation using Playwright, allowing LLMs to interact with web pages, take screenshots, generate test code, scrape web pages, and execute JavaScript in a real browser environment.7,757 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.Apache 2.0