puppeteer-mcp-server-n8n

singldev/puppeteer-mcp-server-n8n

3.2

If you are the rightful owner of puppeteer-mcp-server-n8n and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Puppeteer MCP Server for n8n is a specialized adaptation of the puppeteer-mcp-server designed to integrate with n8n workflows, enabling browser automation through Puppeteer.

Tools
8
Resources
0
Prompts
0

Puppeteer MCP Server для n8n

Это адаптированная версия puppeteer-mcp-server, предназначенная для работы с n8n через стандартный MCP-клиент.

Этот сервер предоставляет инструменты для автоматизации браузера с помощью Puppeteer, которые можно вызывать из n8n, что позволяет создавать сложные рабочие процессы, взаимодействующие с веб-сайтами.

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/singldev/puppeteer-mcp-server-n8n.git
    cd puppeteer-mcp-server-n8n
    
  2. Установите зависимости:

    npm install
    
  3. Соберите проект:

    npm run build
    

Настройка

Сервер запускается на порту 8000 по умолчанию. Вы можете настроить сервер с помощью переменных окружения:

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

  • PORT - Порт для запуска сервера (по умолчанию: 8000)
  • BROWSER_HEADLESS - Запуск браузера в headless режиме (по умолчанию: true, установите 'false' для отладки)
  • PAGE_TIMEOUT - Таймаут операций на странице в миллисекундах (по умолчанию: 30000)
  • NAVIGATION_TIMEOUT - Таймаут навигации в миллисекундах (по умолчанию: 30000)
  • LOG_LEVEL - Уровень логирования: error, warn, info, debug (по умолчанию: info)

Пример запуска с настройками:

PORT=8888 BROWSER_HEADLESS=false LOG_LEVEL=debug npm start

Вы также можете создать файл .env (см. .env.example) и указать нужные переменные окружения.

Запуск

Для запуска сервера выполните команду:

npm start

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

  1. В вашем рабочем процессе n8n добавьте ноду MCP Client.
  2. В настройках ноды укажите URL вашего сервера:
  3. Теперь вы можете вызывать инструменты Puppeteer, предоставляемые сервером.

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

  • puppeteer_connect_active_tab: подключается к экземпляру браузера, управляемому сервером. Поддерживает подключение к существующему Chrome через webSocketDebuggerUrl или debuggerPort, параметр targetUrl для выбора нужной вкладки и resetLogs для очистки логов.
  • puppeteer_navigate: переходит по URL-адресу и сохраняет последний URL.
  • puppeteer_screenshot: делает снимок экрана страницы или конкретного элемента, позволяет задавать имя, размеры и селектор.
  • puppeteer_get_screenshot: возвращает ранее сохранённый снимок по имени.
  • puppeteer_click: кликает по элементу.
  • puppeteer_fill: очищает и заполняет поле ввода указанным значением.
  • puppeteer_select: выбирает значение в элементе select.
  • puppeteer_hover: наводит курсор на элемент.
  • puppeteer_evaluate: выполняет JavaScript в контексте страницы.
  • puppeteer_wait_for_selector: ожидает появления элемента на странице.
  • puppeteer_get_page_content: возвращает HTML-код текущей страницы.
  • puppeteer_get_element_text: получает текстовое содержимое элемента.
  • puppeteer_element_exists: проверяет наличие элемента на странице.
  • puppeteer_get_page_title: возвращает заголовок текущей страницы.
  • puppeteer_get_current_url: возвращает текущий URL страницы.
  • puppeteer_get_console_logs: возвращает собранные логи консоли браузера.

Health Check

Сервер предоставляет эндпоинт для проверки состояния:

curl http://localhost:8000/health

Это вернёт информацию о статусе сервера, конфигурации и статистике.

Пример рабочего процесса в n8n

  1. MCP Client: вызовите инструмент puppeteer_navigate с параметром url, чтобы открыть нужный сайт.
  2. MCP Client: вызовите инструмент puppeteer_wait_for_selector для ожидания загрузки нужного элемента.
  3. MCP Client: вызовите инструмент puppeteer_screenshot с параметром name, чтобы сделать снимок экрана.
  4. MCP Client: вызовите инструмент puppeteer_click с параметром selector, чтобы нажать на кнопку.
  5. MCP Client: вызовите инструмент puppeteer_fill с параметрами selector и value для заполнения формы.

Возможности

  • Полнофункциональная автоматизация браузера через Puppeteer
  • Поддержка снимков экрана с настраиваемыми размерами и селекторами
  • Сохранение и извлечение снимков экрана по именам
  • Захват и получение логов консоли браузера
  • Настраиваемые таймауты для операций и навигации
  • Подробное логирование с ротацией файлов
  • Health check для мониторинга состояния сервера
  • Валидация входных данных и улучшенная обработка ошибок