Playwright MCP (executeautomation)

MCP MCP Servers Open Source

MCP-сервер для Playwright от executeautomation: browser automation с snapshot-based навигацией и accessibility tree для стабильного AI тестирования.

v0.1
Добавлен 03.07.2026 · Обновлён 03.07.2026 · MCP Servers
Установка
# Claude Desktop — claude_desktop_config.json:
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@executeautomation/playwright-mcp-server"]
    }
  }
}

# Claude Code (CLI):
claude mcp add --transport stdio playwright npx @executeautomation/playwright-mcp-server

# OpenCode — ~/.config/opencode/opencode.json:
{
  "mcp": {
    "playwright": {
      "type": "local",
      "command": ["npx", "-y", "@executeautomation/playwright-mcp-server"]
    }
  }
}
переведено ИИ
MseeP.ai Security Assessment Badge
Оценка безопасности MseeP.ai

Сервер Playwright MCP 🎭

Trust Score smithery badge

Сервер протокола контекста модели, предоставляющий возможности автоматизации браузера с использованием Playwright. Этот сервер позволяет LLM взаимодействовать с веб-страницами, делать скриншоты, генерировать тестовый код, скрапить страницы и выполнять JavaScript в реальной среде браузера.

mcp-playwright MCP server

✨ Что нового в v1.10.10

🎯 Эмуляция устройств с 143 пресетами реальных устройств!

Тестируйте ваши веб-приложения на реальных профилях устройств с помощью простой команды:

// Тест на iPhone 13 с автоматическим пользовательским агентом, поддержкой сенсорного ввода и плотностью пикселей устройства
await playwright_resize({ device: "iPhone 13" });

// Переключение на iPad в альбомной ориентации
await playwright_resize({ device: "iPad Pro 11", orientation: "landscape" });

// Тест десктопного вида
await playwright_resize({ device: "Desktop Chrome" });

Поддержка естественного языка для ИИ-ассистентов: - "Протестируй на iPhone 13" - "Переключи на вид iPad" - "Поверни в альбомный режим"

Поддерживается 143 устройства: iPhone, iPad, Pixel, Galaxy и десктопные браузеры с корректной эмуляцией области просмотра, пользовательского агента, событий касания и плотности пикселей устройства.

📚 Просмотреть краткую справку по устройствам | Руководство по промптам

Скриншот

Playwright + Claude

Документация | Справочник 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, используя одну из этих кнопок:

Установить в VS Code Установить в VS Code Insiders

В качестве альтернативы вы можете установить сервер Playwright MCP, используя CLI VS Code:

# Для VS Code
code --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'
# Для 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 автоматически устанавливает бинарные файлы браузера при первом использовании. Когда сервер обнаруживает, что браузер отсутствует, он:

  1. Автоматически скачивает и устанавливает необходимый браузер (Chromium, Firefox или WebKit)
  2. Отображает прогресс установки в консоли
  3. Повторяет ваш запрос после завершения установки

Ручная настройка не требуется! Просто начните использовать сервер, и он позаботится об установке браузера за вас.

Ручная установка (Опционально)

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

# Установить все браузеры
npx playwright install

# Или установить определенные браузеры
npx playwright install chromium
npx playwright install firefox
npx playwright install webkit

Местоположение хранения браузеров

Браузеры устанавливаются в: - Windows: %USERPROFILE%\AppData\Local\ms-playwright - macOS: ~/Library/Caches/ms-playwright - Linux: ~/.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, пользовательских клиентов и удаленных развертываний. Подробности см. в CLAUDE_DESKTOP_CONFIG.md.

Запуск HTTP-сервера

# Используя npx
npx @executeautomation/playwright-mcp-server --port 8931
# Или после глобальной установки
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"

Решение: 1. Проверьте, что конфигурация содержит "type": "http" json { "url": "http://localhost:8931/mcp", "type": "http" // ← Это ОБЯЗАТЕЛЬНО! }

  1. Убедитесь, что логи сервера показывают подключение: bash # В консоли должны появиться эти сообщения в таком порядке: # 1. "Incoming request" - GET /mcp # 2. "Transport registered" - с указанием sessionId # 3. "POST message received" - с тем же sessionId

  2. Перезапустите и сервер, и клиент.

Проблемы с подключением

  • Сервер не запускается: Проверьте, доступен ли порт 8931.
  • Внешний доступ заблокирован: Это сделано намеренно (в целях безопасности). Сервер привязывается только к localhost.
  • Для удалённого доступа: Используйте SSH-туннелирование: bash ssh -L 8931:localhost:8931 user@remote-server

Тестирование

Для тестирования в проекте используется Jest. Тесты находятся в каталоге src/__tests__.

Запуск тестов

Вы можете запустить тесты с помощью одной из следующих команд:

# Запуск тестов с помощью пользовательского скрипта (с покрытием)
node run-tests.cjs

# Запуск тестов с помощью npm-скриптов
npm test           # Запуск тестов без покрытия
npm run test:coverage  # Запуск тестов с покрытием
npm run test:custom    # Запуск тестов с пользовательским скриптом (аналогично node run-tests.cjs)

Отчёт о покрытии тестами будет сгенерирован в каталоге coverage.

Запуск evals

Пакет evals загружает MCP-клиент, который затем выполняет файл index.ts, поэтому между тестами нет необходимости пересобирать проект. Вы можете загрузить переменные окружения, поставив префикс перед командой npx. Полная документация доступна здесь.

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/tools/codegen/index.ts

Участие в разработке

При добавлении новых инструментов, пожалуйста, учитывайте длину имени инструмента. Некоторые клиенты, например Cursor, имеют ограничение в 60 символов на комбинированное имя сервера и инструмента (имя_сервера:имя_инструмента).

Наше имя сервера — playwright-mcp. Пожалуйста, убедитесь, что имена ваших инструментов достаточно короткие, чтобы не превышать это ограничение.

История звёзд

График истории звёзд

Комментарии
Войдите, чтобы оставить комментарий