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: Cloudflare Playwright MCP

Скриншот

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

A
license - permissive license
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…

  • AI-powered browser automation — navigate, click, fill forms, and extract data from any website.

  • Enable language models to perform advanced AI-powered web scraping with enterprise-grade reliabili…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/COD4LESS25/executeautomation-mcp-playwright'

If you have feedback or need assistance with the MCP directory API, please join our Discord server