Provides tools for managing n8n workflows including creating, updating, deleting, and executing workflows, as well as browsing available nodes and monitoring execution status through n8n's API.
MCP-сервер для управления n8n workflow
Модульный MCP-сервер (Model Context Protocol) для управления автоматизациями (workflow) в платформе n8n через естественно-языковый интерфейс.
✅ Статус реализации
MCP-сервер полностью реализован и протестирован!
✅ Все операции работают корректно:
Создание workflow - ✅ работает
Получение списка workflow - ✅ работает
Получение workflow по ID - ✅ работает
Обновление workflow - ✅ работает (PUT метод)
Удаление workflow - ✅ работает
Запуск workflow - ✅ готов к использованию
Получение статуса выполнения - ✅ готов к использованию
Архитектура
Инструменты (Tools)
MCP-сервер предоставляет 11 инструментов:
🔧 Workflow инструменты:
1. list_workflows
Возвращает список всех workflow с базовой информацией (ID, имя, активность).
2. get_workflow
Получает полное описание workflow по ID.
Параметры:
workflow_id(string, required) - ID workflow
3. create_workflow
Создаёт новый workflow в n8n.
Параметры:
name(string, required) - Название workflownodes(array, optional) - Массив узлов в формате n8n JSONconnections(object, optional) - Связи между узламиsettings(object, optional) - Настройки workflowstaticData(object, optional) - Статические данные
4. update_workflow
Обновляет существующий workflow.
Параметры:
workflow_id(string, required) - ID workflow для обновленияname(string, optional) - Новое названиеnodes(array, optional) - Новые узлыconnections(object, optional) - Новые связиactive(boolean, optional) - Новый статус активности
5. delete_workflow
Удаляет workflow по ID.
Параметры:
workflow_id(string, required) - ID workflow для удаления
6. execute_workflow
Запускает workflow вручную.
Параметры:
workflow_id(string, required) - ID workflow для запускаinput_data(object, optional) - Данные для передачи в workflow
7. get_execution_status
Получает статус выполнения workflow.
Параметры:
execution_id(string, required) - ID выполнения
🔗 Node инструменты:
8. list_node_categories
Возвращает список категорий доступных узлов n8n.
9. get_nodes_by_category
Возвращает список узлов для указанной категории.
Параметры:
category_id(string, required) - ID категории (core, trigger, action, transform, aggregate)
10. get_node_info
Возвращает подробную информацию об узле по его типу.
Параметры:
node_type(string, required) - Тип узла (например, "n8n-nodes-base.set")
11. search_nodes
Поиск узлов по названию или описанию.
Параметры:
query(string, required) - Поисковый запрос
Установка и настройка
1. Клонируйте репозиторий:
2. Создайте виртуальное окружение:
3. Установите зависимости:
4. Настройте конфигурацию:
Создайте файл .env с вашими настройками n8n:
Интеграция с Open WebUI
Через MCPO (рекомендуется)
Установите MCPO:
pip install mcpoЗапустите с MCPO на порту 9876:
mcpo --host 0.0.0.0 --port 9876 -- python server.py stdioСервер будет доступен по адресу:
HTTP: http://localhost:9876
OpenAPI спецификация: http://localhost:9876/openapi.json
Документация Swagger UI: http://localhost:9876/docs
Настройте Open WebUI:
В настройках Open WebUI добавьте новый MCP-сервер
Укажите URL:
http://localhost:9876Сервер автоматически предоставит все доступные инструменты:
Запуск
Локальный запуск (STDIO):
Результаты последнего теста:
Тестирование
Проверка подключения:
Результаты последнего теста:
API n8n
Сервер использует следующие эндпоинты n8n API:
POST /api/v1/workflows- Создание workflow ✅GET /api/v1/workflows- Список workflow ✅GET /api/v1/workflows/{id}- Получение workflow ✅PUT /api/v1/workflows/{id}- Обновление workflow ✅DELETE /api/v1/workflows/{id}- Удаление workflow ✅POST /api/v1/workflows/{id}/run- Запуск workflow ✅GET /api/v1/executions/{id}- Статус выполнения ✅
Безопасность
✅ API-ключи передаются только через защищённые переменные окружения
✅ Все HTTP-запросы используют HTTPS
✅ Логирование не включает чувствительную информацию
✅ Сервер не хранит workflow JSON локально
Примеры использования
Создание простого workflow:
Обновление workflow:
Запуск workflow:
Разработка
Структура кода
server.py - основной MCP-сервер с инструментами
n8n_client.py - инкапсуляция всех вызовов к n8n API
config.py - конфигурация из переменных окружения
test_connection.py - скрипт для тестирования подключения
test_workflow_data.py - определения тестовых workflow
Добавление новых инструментов
Добавьте функцию с декоратором
@server.tool()Напишите тесты
Обновите документацию
Лицензия
Этот проект лицензирован под MIT License.
Поддержка
При возникновении проблем:
Проверьте настройки n8n в .env файле
Убедитесь в корректности API-ключа n8n
Проверьте доступность n8n API
Запустите
python debug_api.pyдля отладки
✅ Проект полностью готов к использованию!