Files
crm.clientright.ru/browserless-mcp
Fedor 01c4fe80b5 chore: snapshot current working tree changes
Save all currently accumulated repository changes as a backup snapshot for Gitea so no local work is lost.
2026-03-26 14:19:01 +03:00
..

Browserless MCP - Развертывание в Docker

Этот проект разворачивает Browserless.io и MCP сервер для автоматизации браузера через Model Context Protocol.

Структура

  • Browserless.io - сервис автоматизации браузера (порт 3000)
  • Browserless MCP - MCP сервер для интеграции с Cursor/AI (порт 3010)

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

1. Настройка переменных окружения

Скопируйте пример файла окружения:

cp .env.example .env

Отредактируйте .env и установите безопасный токен:

BROWSERLESS_TOKEN=ваш-безопасный-токен-здесь

2. Запуск сервисов

docker-compose up -d

3. Проверка работоспособности

Проверьте статус контейнеров:

docker-compose ps

Проверьте здоровье Browserless:

curl http://localhost:3000/health

4. Просмотр логов

# Все сервисы
docker-compose logs -f

# Только Browserless
docker-compose logs -f browserless

# Только MCP сервер
docker-compose logs -f browserless-mcp

Настройка MCP в Cursor

MCP серверы работают через stdio (стандартный ввод/вывод). Добавьте в конфигурацию Cursor.

Вариант 1: Локальный Docker (если Cursor на том же сервере)

В настройках Cursor (Settings → Features → Model Context Protocol) или в файле .cursor/mcp.json:

{
  "mcpServers": {
    "browserless": {
      "command": "docker",
      "args": [
        "exec",
        "-i",
        "browserless-mcp",
        "sh",
        "-c",
        "if [ -f dist/index.js ]; then node dist/index.js; else npx ts-node src/index.ts; fi"
      ],
      "env": {
        "BROWSERLESS_HOST": "browserless",
        "BROWSERLESS_PORT": "3000",
        "BROWSERLESS_TOKEN": "ваш-токен-из-env"
      }
    }
  }
}

Вариант 2: Через SSH (рекомендуется для удаленного сервера)

{
  "mcpServers": {
    "browserless": {
      "command": "ssh",
      "args": [
        "user@crm.clientright.ru",
        "docker exec -i browserless-mcp sh -c 'if [ -f dist/index.js ]; then node dist/index.js; else npx ts-node src/index.ts; fi'"
      ],
      "env": {
        "BROWSERLESS_HOST": "browserless",
        "BROWSERLESS_PORT": "3000",
        "BROWSERLESS_TOKEN": "ваш-токен-из-env"
      }
    }
  }
}

Важно: Замените user@crm.clientright.ru на ваши SSH данные и убедитесь, что SSH ключи настроены для доступа без пароля.

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

После настройки MCP в Cursor, вы сможете использовать следующие возможности:

  1. Генерация PDF из веб-страниц
  2. Создание скриншотов страниц
  3. Извлечение контента со страниц
  4. Выполнение JavaScript в браузере
  5. Обход защиты от ботов (stealth mode)
  6. Автоматизация форм и действий
  7. Проведение аудитов производительности

Порты

  • 3000 - Browserless.io API
  • 3010 - MCP сервер (если нужен прямой доступ)

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

Переменная Описание По умолчанию
BROWSERLESS_TOKEN Токен для доступа к Browserless browserless-secure-token-2025
BROWSERLESS_CONCURRENT Максимум одновременных сессий 10
BROWSERLESS_TIMEOUT Таймаут запросов (мс) 120000
BROWSERLESS_MAX_SESSIONS Максимум сессий 10

Остановка и удаление

# Остановка
docker-compose down

# Остановка с удалением volumes (удалит все данные)
docker-compose down -v

Обновление

# Остановка
docker-compose down

# Обновление образов
docker-compose pull

# Пересборка MCP сервера
docker-compose build --no-cache browserless-mcp

# Запуск
docker-compose up -d

Troubleshooting

Проблема: Контейнер не запускается

Проверьте логи:

docker-compose logs browserless-mcp

Проблема: Browserless не отвечает

Проверьте здоровье:

curl http://localhost:3000/health

Проверьте, что порт 3000 свободен:

netstat -tuln | grep 3000

Проблема: MCP не подключается

Убедитесь, что контейнер запущен:

docker ps | grep browserless-mcp

Проверьте, что MCP сервер может подключиться к Browserless:

docker exec browserless-mcp ping -c 3 browserless

Безопасность

⚠️ Важно: Измените BROWSERLESS_TOKEN на безопасный случайный токен перед использованием в продакшене!

Генерация безопасного токена:

openssl rand -hex 32

Дополнительная информация