singldev/puppeteer-mcp-server-n8n
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.
Puppeteer MCP Server для n8n
Это адаптированная версия puppeteer-mcp-server, предназначенная для работы с n8n через стандартный MCP-клиент.
Этот сервер предоставляет инструменты для автоматизации браузера с помощью Puppeteer, которые можно вызывать из n8n, что позволяет создавать сложные рабочие процессы, взаимодействующие с веб-сайтами.
Установка
-
Клонируйте репозиторий:
git clone https://github.com/singldev/puppeteer-mcp-server-n8n.git cd puppeteer-mcp-server-n8n -
Установите зависимости:
npm install -
Соберите проект:
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
- В вашем рабочем процессе n8n добавьте ноду MCP Client.
- В настройках ноды укажите URL вашего сервера:
- Теперь вы можете вызывать инструменты 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
- MCP Client: вызовите инструмент
puppeteer_navigateс параметромurl, чтобы открыть нужный сайт. - MCP Client: вызовите инструмент
puppeteer_wait_for_selectorдля ожидания загрузки нужного элемента. - MCP Client: вызовите инструмент
puppeteer_screenshotс параметромname, чтобы сделать снимок экрана. - MCP Client: вызовите инструмент
puppeteer_clickс параметромselector, чтобы нажать на кнопку. - MCP Client: вызовите инструмент
puppeteer_fillс параметрамиselectorиvalueдля заполнения формы.
Возможности
- Полнофункциональная автоматизация браузера через Puppeteer
- Поддержка снимков экрана с настраиваемыми размерами и селекторами
- Сохранение и извлечение снимков экрана по именам
- Захват и получение логов консоли браузера
- Настраиваемые таймауты для операций и навигации
- Подробное логирование с ротацией файлов
- Health check для мониторинга состояния сервера
- Валидация входных данных и улучшенная обработка ошибок