Skip to main content
Glama
jamesmurdza

Daytona Playwright MCP Server

by jamesmurdza

Daytona Playwright MCP Server

MCP-сервер (Model Context Protocol), который позволяет управлять полноценным браузером Chrome, запущенным внутри облачной «песочницы» Daytona. Используйте его с Claude Code, Claude Desktop или любым другим MCP-совместимым клиентом для просмотра веб-страниц, создания скриншотов, заполнения форм и многого другого.

Возможности

  • Полноценный браузер Chromium: Запускает реальный экземпляр Chromium (не headless) на виртуальном дисплее

  • Облачная «песочница»: Браузер работает безопасно в «песочнице» Daytona, изолированно от вашей локальной машины

  • Богатый набор инструментов: Навигация, клики, ввод текста, прокрутка, создание скриншотов, извлечение контента, управление вкладками

  • Поддержка скриншотов: Возвращает скриншоты в виде изображений, которые Claude может видеть и анализировать

  • Различные способы передачи данных: Работает через stdio (по умолчанию), SSE или HTTP

Быстрый старт

1. Установка пакета

# Using uv (recommended)
uv pip install git+https://github.com/YOUR_USERNAME/daytona-playwright-mcp.git

# Or with pip
pip install git+https://github.com/YOUR_USERNAME/daytona-playwright-mcp.git

# Or install from source
git clone https://github.com/YOUR_USERNAME/daytona-playwright-mcp.git
cd daytona-playwright-mcp
uv pip install -e .

2. Получение API-ключа Daytona

  1. Зарегистрируйтесь на daytona.io

  2. Перейдите в панель управления и создайте API-ключ

  3. Установите его в качестве переменной окружения:

export DAYTONA_API_KEY="your-api-key-here"

3. Настройка Claude Code

Добавьте в настройки MCP для Claude Code (~/.claude/claude_desktop_config.json или через настройки Claude Code):

{
  "mcpServers": {
    "daytona-playwright": {
      "command": "daytona-playwright-mcp",
      "env": {
        "DAYTONA_API_KEY": "your-api-key-here"
      }
    }
  }
}

Или, если запускаете из исходного кода с помощью uv:

{
  "mcpServers": {
    "daytona-playwright": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/daytona-playwright-mcp", "daytona-playwright-mcp"],
      "env": {
        "DAYTONA_API_KEY": "your-api-key-here"
      }
    }
  }
}

4. Настройка Claude Desktop

Для Claude Desktop добавьте в файл конфигурации:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "daytona-playwright": {
      "command": "daytona-playwright-mcp",
      "env": {
        "DAYTONA_API_KEY": "your-api-key-here"
      }
    }
  }
}

Использование

После настройки вы можете попросить Claude просмотреть веб-страницу:

"Start a browser and go to https://news.ycombinator.com"

"Take a screenshot of the page"

"Click on the first article link"

"Search for 'AI news' on Google and show me the results"

"Fill out the contact form on example.com with test data"

Рабочий процесс

  1. Запуск браузера: Claude вызовет browser_start для создания «песочницы» Daytona с Chromium

  2. Навигация и взаимодействие: Используйте инструменты для навигации, кликов, ввода текста и другие

  3. Создание скриншотов: Посмотрите, что находится на странице, с помощью browser_screenshot

  4. Очистка: Вызовите browser_stop по завершении работы, чтобы удалить «песочницу»

Доступные инструменты

Жизненный цикл браузера

Инструмент

Описание

browser_start

Запуск нового сеанса браузера в «песочнице» Daytona

browser_stop

Остановка браузера и очистка «песочницы»

browser_status

Проверка состояния работы браузера

Навигация

Инструмент

Описание

browser_navigate

Переход по URL

browser_back

Назад в истории

browser_forward

Вперед в истории

browser_refresh

Обновление текущей страницы

Взаимодействие

Инструмент

Описание

browser_click

Клик по элементу (селектор CSS, XPath или текст)

browser_type

Ввод текста в поле ввода

browser_press

Нажатие клавиш клавиатуры (Enter, Tab и т.д.)

browser_hover

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

browser_select

Выбор из выпадающего списка

browser_scroll

Прокрутка страницы или элемента

Извлечение контента

Инструмент

Описание

browser_screenshot

Создание скриншота (всей страницы или элемента)

browser_get_text

Получение текстового содержимого страницы

browser_get_html

Получение HTML-содержимого

browser_get_attribute

Получение атрибута элемента

browser_evaluate

Выполнение JavaScript и получение результатов

Ожидание

Инструмент

Описание

browser_wait_for_selector

Ожидание появления/исчезновения элемента

browser_wait_for_navigation

Ожидание завершения навигации

Управление вкладками

Инструмент

Описание

browser_new_tab

Открытие новой вкладки

browser_list_tabs

Список всех открытых вкладок

browser_switch_tab

Переключение на другую вкладку

browser_close_tab

Закрытие вкладки

Операции с файлами

Инструмент

Описание

browser_upload_file

Загрузка файла в поле ввода файла

Запуск с различными способами передачи данных

Stdio (По умолчанию - для Claude Code/Desktop)

daytona-playwright-mcp
# or
uv run daytona-playwright-mcp

HTTP-транспорт (для удаленных подключений)

daytona-playwright-mcp --transport http --host 0.0.0.0 --port 8765

Затем подключитесь через: http://localhost:8765/mcp

SSE-транспорт (устаревший)

daytona-playwright-mcp --transport sse --host 0.0.0.0 --port 8765

Переменные окружения

Переменная

Описание

По умолчанию

DAYTONA_API_KEY

Ваш API-ключ Daytona (обязательно)

-

DAYTONA_API_URL

URL сервера API Daytona

https://app.daytona.io/api

Разработка

Запуск из исходного кода

# Clone the repository
git clone https://github.com/YOUR_USERNAME/daytona-playwright-mcp.git
cd daytona-playwright-mcp

# Install dependencies
uv sync

# Run the server
uv run daytona-playwright-mcp

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

uv run pytest

Как это работает

  1. Когда вы вызываете browser_start, сервер:

    • Создает «песочницу» Daytona (стандартная Python-песочница имеет предустановленные Chromium + Xvfb)

    • Запускает Chromium с включенной удаленной отладкой

    • Запускает TCP-прокси для внешнего доступа к порту CDP

    • Подключается к Chromium через CDP (Chrome DevTools Protocol) по защищенным подписанным URL Daytona

  2. Все команды браузера выполняются через API Playwright, подключенное к удаленному браузеру

  3. Скриншоты захватываются как PNG-изображения и возвращаются через тип контента изображения MCP

  4. Когда вы вызываете browser_stop, «песочница» удаляется, и все ресурсы освобождаются

Устранение неполадок

"DAYTONA_API_KEY environment variable is not set"

Убедитесь, что ваш API-ключ настроен в параметрах MCP-сервера, а не только в вашей оболочке (shell).

Браузер не запускается

  • Проверьте, действителен ли ваш API-ключ Daytona

  • Образ браузера может потребовать 1-2 минуты для подготовки при первом использовании

  • При необходимости увеличьте параметр timeout

Скриншоты не отображаются

  • Убедитесь, что вы используете актуальную версию Claude Code/Desktop, поддерживающую изображения MCP

  • Инструмент browser_screenshot возвращает тип Image, который должен отображаться автоматически

Тайм-ауты соединения

Тайм-аут по умолчанию составляет 60 секунд. Для медленных соединений или первой сборки образа увеличьте его:

"Start a browser with a 120 second timeout"

Лицензия

MIT

Авторы

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - A tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/jamesmurdza/playwright-daytona-mcp-server'

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