Skip to main content
Glama

Playwright MCP Server 🎭

Trust Score

Сервер на основе 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

Скриншот

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 с помощью одной из этих кнопок:

Кроме того, установить сервер 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 автоматически устанавливает исполняемые файлы браузера при первом использовании. Когда он определяет, что браузер отсутствует, он:

  1. Автоматически загрузит и установит требуемый браузер (Chromium, Firefox или WebKit)

  2. Покажет ход установки в консоли

  3. Повторит ваш запрос после завершения установки

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

Ручная установка (необязательно)

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

# 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-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, пользовательских клиентов и удалённых развертываний. Подробности — в 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»

Решение:

  1. Проверьте, что в конфигурации есть "type": "http"

    {
      "url": "http://localhost:8931/mcp",
      "type": "http"  // ← This is REQUIRED!
    }
  2. Проверьте, что в логах сервера видно соединение:

    # Should see these in order:
    # 1. "Incoming request" - GET /mcp
    # 2. "Transport registered" - with sessionId
    # 3. "POST message received" - with same sessionId
  3. Перезапустите и сервер, и клиент

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

  • Сервер не запускается: Проверьте доступность порта 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. Пожалуйста, сделайте так, чтобы ваши новые инструменты были достаточно краткими и не превышали этот размер.

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

Star History Chart

Related MCP Connectors

Related MCP Servers