Содержание

n8n MCP Multi-Instance - Руководство пользователя

Источники

https://github.com/czlonkowski/n8n-mcp
https://www.n8n-mcp.com/

Установка в один клик

Важно!
Если хотите что бы все папки и файлы создались от текущего пользователя что бы был доступ для редактирования запускать не от SUDO
Тогда скрипт выяснит текущего пользователя и установит все от системного пользователя.

cd ~
wget "https://dokuwiki.nanokey.tech/_media/vm:n8n_mcp:n8n_mcp_multi_installer.tar" -O n8n_mcp_multi_installer.tar
tar -xvf n8n_mcp_multi_installer.tar
chmod +x n8n_mcp_multi_installer.sh
./n8n_mcp_multi_installer.sh

Важно!
После установки первичной нужно выйти из текущей сессии и зайти что бы применились все новые права для работы с меню.

N8N MCP Multi-Instance Docker Installer v3.0

Описание

N8N MCP Multi-Instance Docker Installer - это автоматизированный скрипт для развертывания множественных изолированных инстансов n8n-mcp в Docker контейнерах с умным управлением портами и централизованной системой управления.

<WRAP center round info 60%> Версия: 3.0
Совместимость: Ubuntu 18.04+, Debian 10+
Требования: sudo права, интернет соединение
Автор: Система автоматической установки n8n-mcp </WRAP>

Основные возможности

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

1. Загрузка и запуск

# Скачайте скрипт
wget https://your-domain.com/install-n8n-mcp-v3.sh
 
# Или создайте файл вручную
nano install-n8n-mcp-v3.sh
# Вставьте код скрипта
 
# Сделайте исполняемым
chmod +x install-n8n-mcp-v3.sh
 
# Запустите установку
./install-n8n-mcp-v3.sh

2. Применение прав Docker

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

# Вариант 1: Применить в текущей сессии
newgrp docker
 
# Вариант 2: Перелогиниться
exit
ssh user@server

3. Запуск базового инстанса

# Быстрый запуск основного инстанса
/opt/n8nmcp/start-main.sh
 
# Или через консоль управления
/opt/n8nmcp/multi-manage.sh

Структура установки

После установки создается следующая структура:

/opt/n8nmcp/
├── instances/           # Директория инстансов
│   └── main/           # Базовый инстанс
│       ├── docker-compose.yml
│       ├── .env        # Конфигурация
│       ├── instance.json # Метаданные
│       ├── data/       # Данные инстанса
│       ├── logs/       # Логи
│       └── config/     # Конфигурации
├── clients/            # Клиентские конфиги
├── logs/              # Общие логи
├── config/            # Общие конфигурации
├── shared/            # Общие ресурсы
├── multi-manage.sh    # Консоль управления
├── start-main.sh      # Быстрый запуск
├── instances.registry # Реестр инстансов
└── clients.registry   # Реестр клиентов

Консоль управления

Запустите консоль управления: /opt/n8nmcp/multi-manage.sh

Категории функций

📦 ИНСТАНСЫ

Опция Функция Описание
1 🆕 Создать новый инстанс Создание нового изолированного инстанса
2 📋 Список инстансов Отображение всех инстансов с статусом
3 ⚙️ Управление инстансом Запуск/остановка/удаление инстанса
4 🔄 Запустить все инстансы Массовый запуск всех инстансов
5 ⏹️ Остановить все инстансы Массовая остановка всех инстансов

👥 КЛИЕНТЫ

Опция Функция Описание
6 🆕 Создать клиентский конфиг Генерация конфига для подключения
7 📋 Список клиентов Отображение всех клиентских конфигов
8 🔌 Тестировать подключение Проверка соединения с инстансом
9 🗑️ Удалить клиента Удаление клиентского конфига

🌐 ПОРТЫ

Опция Функция Описание
10 📊 Показать использование портов Карта занятых/свободных портов
11 🔍 Найти свободный порт Поиск доступного порта в диапазоне

🔧 СИСТЕМА

Опция Функция Описание
12 📊 Общий статус системы Информация о Docker, инстансах, ресурсах
13 📡 Показать все подключения URL и токены всех инстансов
14 🧹 Очистка неиспользуемых ресурсов Docker system prune
15 🔄 Обновить все образы Обновление n8n-mcp образов
16 🔧 Исправить права доступа Восстановление прав на файлы

Создание инстанса

Автоматический режим

# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Выберите опцию 1
 
# Введите имя инстанса (например: production)
# Система автоматически найдет свободный порт

Интерактивный выбор порта

При создании инстанса доступны 3 опции:

  1. 1) Использовать предлагаемый порт (автоматический)
  2. 2) Ввести другой порт вручную
  3. 3) Показать занятые порты и выбрать

<WRAP center round tip 60%> Совет: Используйте опцию 3 для просмотра карты портов перед выбором </WRAP>

Конфигурация .env файла

После создания инстанса отредактируйте файл конфигурации:

nano /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА/.env

Раскомментируйте и настройте N8N API:

# n8n MCP Instance Configuration - production
AUTH_TOKEN=сгенерированный_токен
USE_FIXED_HTTP=true
MCP_MODE=http
TZ=Europe/Moscow
INSTANCE_NAME=production
INSTANCE_PORT=3001
 
# Добавьте здесь ваши n8n API настройки:
N8N_API_URL=https://your-n8n-instance.com
N8N_API_KEY=your-n8n-api-key

Управление инстансами

Основные команды

# Запуск инстанса
cd /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА
docker-compose up -d
 
# Остановка инстанса
docker-compose down
 
# Перезапуск инстанса
docker-compose restart
 
# Просмотр логов
docker-compose logs -f
 
# Статус инстанса
docker-compose ps

Через консоль управления

/opt/n8nmcp/multi-manage.sh
# Выберите опцию 3 "Управление инстансом"
# Выберите нужный инстанс и действие

Работа с клиентами

Создание клиентского конфига

# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Выберите опцию 6 "Создать клиентский конфиг"
 
# Введите имя клиента: my-client
# Выберите инстанс для подключения: production

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

# Скрипт подключения
/opt/n8nmcp/clients/my-client/connect.sh
 
# Конфигурационный файл
cat /opt/n8nmcp/clients/my-client/config.json

Пример конфига клиента:

{
  "client_name": "my-client",
  "instance_name": "production",
  "url": "http://192.168.1.100:3001",
  "auth_token": "abc123...",
  "port": 3001
}

Мониторинг и диагностика

Проверка статуса системы

# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Опция 12: Общий статус системы
 
# Или командная строка
docker ps --filter 'name=n8n-mcp'

Просмотр использования портов

# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Опция 10: Показать использование портов
 
# Или вручную
netstat -tuln | grep :3000
ss -tuln | grep :3000

Диагностика проблем

# Проверка логов инстанса
cd /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА
docker-compose logs -f
 
# Проверка статуса контейнера
docker ps -a --filter 'name=n8n-mcp-ИМЯ_ИНСТАНСА'
 
# Проверка прав Docker
docker ps
# Если ошибка, выполните: newgrp docker
 
# Проверка здоровья инстанса
curl -s http://localhost:ПОРТ/health

Настройка systemd

Скрипт автоматически создает systemd service для базового инстанса:

# Управление службой
sudo systemctl start n8n-mcp
sudo systemctl stop n8n-mcp
sudo systemctl restart n8n-mcp
sudo systemctl status n8n-mcp
 
# Автозапуск при загрузке
sudo systemctl enable n8n-mcp
sudo systemctl disable n8n-mcp

Обновление системы

Обновление образов

# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Опция 15: Обновить все образы
 
# Или вручную
docker pull ghcr.io/czlonkowski/n8n-mcp:latest
 
# Перезапуск инстансов для применения обновлений
/opt/n8nmcp/multi-manage.sh
# Опция 4: Запустить все инстансы

Очистка ресурсов

# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Опция 14: Очистка неиспользуемых ресурсов
 
# Или вручную
docker system prune -f
docker volume prune -f
docker network prune -f

Резервное копирование

Важные данные для бэкапа

# Конфигурации инстансов
tar -czf n8nmcp-configs-$(date +%Y%m%d).tar.gz /opt/n8nmcp/instances/*/
 
# Данные инстансов
tar -czf n8nmcp-data-$(date +%Y%m%d).tar.gz /opt/n8nmcp/instances/*/data/
 
# Клиентские конфиги
tar -czf n8nmcp-clients-$(date +%Y%m%d).tar.gz /opt/n8nmcp/clients/
 
# Полный бэкап
tar -czf n8nmcp-full-backup-$(date +%Y%m%d).tar.gz /opt/n8nmcp/

Восстановление

# Остановка всех инстансов
/opt/n8nmcp/multi-manage.sh # Опция 5
 
# Восстановление из бэкапа
sudo tar -xzf n8nmcp-full-backup-YYYYMMDD.tar.gz -C /
 
# Восстановление прав
sudo chown -R $(whoami):$(id -gn) /opt/n8nmcp/
chmod -R 755 /opt/n8nmcp/
find /opt/n8nmcp/ -name "*.env" -exec chmod 600 {} \;
 
# Запуск инстансов
/opt/n8nmcp/multi-manage.sh # Опция 4

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

Частые проблемы

Ошибка: "AUTH_TOKEN is required"

<WRAP center round important 80%> Проблема: Контейнер не может найти токен авторизации
Решение: Проверьте файл .env в директории инстанса </WRAP>

# Проверьте наличие токена
grep AUTH_TOKEN /opt/n8nmcp/instances/main/.env
 
# Если токена нет, добавьте:
echo "AUTH_TOKEN=$(openssl rand -base64 32)" >> /opt/n8nmcp/instances/main/.env
 
# Перезапустите инстанс
cd /opt/n8nmcp/instances/main
docker-compose restart

Ошибка: "permission denied" при запуске Docker

<WRAP center round important 80%> Проблема: Пользователь не в группе docker
Решение: Применить права Docker группы </WRAP>

# Проверьте группы пользователя
groups $(whoami)
 
# Если нет группы docker:
sudo usermod -aG docker $(whoami)
newgrp docker
 
# Или перелогиньтесь
exit && ssh user@server

Порт уже занят

<WRAP center round important 80%> Проблема: Выбранный порт уже используется
Решение: Используйте автоматический поиск портов </WRAP>

# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Опция 10: Показать использование портов
# Опция 11: Найти свободный порт
 
# Или вручную
netstat -tuln | grep :3000
ss -tuln | grep :3000

Инстанс не запускается

# Проверьте логи
cd /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА
docker-compose logs
 
# Проверьте статус контейнера
docker ps -a
 
# Проверьте права на файлы
ls -la /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА/
 
# Исправьте права
sudo chown -R $(whoami):$(id -gn) /opt/n8nmcp/

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

Рекомендации по безопасности

Настройка файрвола

# Открытие портов для инстансов (пример для ufw)
sudo ufw allow 3000/tcp comment "n8n-mcp main instance"
sudo ufw allow 3001/tcp comment "n8n-mcp production instance"
 
# Ограничение доступа по IP
sudo ufw allow from 192.168.1.0/24 to any port 3000

Смена токенов

# Генерация нового токена
NEW_TOKEN=$(openssl rand -base64 32)
 
# Обновление в .env файле
sed -i "s/AUTH_TOKEN=.*/AUTH_TOKEN=$NEW_TOKEN/" /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА/.env
 
# Обновление в метаданных
sed -i "s/\"auth_token\": \".*\"/\"auth_token\": \"$NEW_TOKEN\"/" /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА/instance.json
 
# Перезапуск инстанса
cd /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА
docker-compose restart

API и интеграция

Подключение к инстансу

# Базовое подключение
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3000/health
 
# Проверка здоровья инстанса
curl -s http://localhost:3000/health | jq .
 
# MCP подключение
curl -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"method": "ping"}' \
     http://localhost:3000/mcp

Конфигурация N8N

В настройках N8N добавьте MCP сервер:

{
  "name": "n8n-mcp-instance",
  "url": "http://localhost:3000",
  "auth": {
    "type": "bearer",
    "token": "YOUR_AUTH_TOKEN"
  }
}

Полезные команды

# Просмотр всех инстансов
docker ps --filter 'name=n8n-mcp' --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'
 
# Просмотр использования ресурсов
docker stats --filter 'name=n8n-mcp'
 
# Просмотр логов всех инстансов
for instance in /opt/n8nmcp/instances/*/; do
  echo "=== $(basename $instance) ==="
  cd "$instance" && docker-compose logs --tail=10
done
 
# Массовое обновление конфигураций
find /opt/n8nmcp/instances -name ".env" -exec sed -i 's/TZ=.*/TZ=Europe\/Moscow/' {} \;
 
# Поиск инстанса по порту
grep -r "INSTANCE_PORT=3001" /opt/n8nmcp/instances/*/

Контакты и поддержка

<WRAP center round info 60%> Документация: docs.n8n-mcp.com
GitHub: n8n-mcp repository
Issues: GitHub Issues </WRAP>

Полезные ссылки


<WRAP center round tip 60%> Последнее обновление: :wiki:footer_date&nofooter&noeditbtn
Версия документации: 3.0
Совместимость: N8N MCP Multi-Instance Installer v3.0+ </WRAP>