Allows management and execution of n8n workflows through the REST API, including creating, updating, deleting workflows, running executions, and monitoring execution status
n8n MCP Server
Этот репозиторий содержит реализацию сервера Model Context Protocol (MCP) на базе FastAPI, который позволяет инструментам ChatGPT управлять рабочими процессами n8n через официальный REST API.
Возможности
SSE-интерфейс
/mcp/requestдля взаимодействия в формате MCP.Поддерживаемые методы:
list_workflows—GET /rest/workflowscreate_workflow—POST /rest/workflowsupdate_workflow—PATCH /rest/workflows/{id}delete_workflow—DELETE /rest/workflows/{id}run_workflow—POST /rest/workflows/runget_execution_status—GET /rest/executions/{id}
Асинхронный HTTP-клиент
httpx.AsyncClientс поддержкой API-ключей n8n.Pydantic-схемы для строгой валидации MCP-запросов и ответов.
Логирование входящих запросов и обращений к n8n.
Требования
Python 3.10 или новее.
Запущенный экземпляр n8n с доступом по HTTP и включённым REST API.
API-токен n8n с правами на чтение и изменение workflow.
Установка и запуск
Клонируйте репозиторий и перейдите в директорию проекта:
git clone https://github.com/Peakviker/MCPn8n.git cd MCPn8nСоздайте виртуальное окружение и установите зависимости:
python -m venv .venv source .venv/bin/activate pip install fastapi uvicorn[standard] sse-starlette httpx python-dotenvСкопируйте пример конфигурации и задайте переменные окружения:
cp .env.example .env # отредактируйте значения по необходимостиДоступные параметры:
Переменная
Описание
Значение по умолчанию
N8N_URLБазовый URL REST API n8n
http://localhost:5678/api/v1/N8N_API_KEYAPI-токен n8n
пусто (анонимный доступ)
N8N_TIMEOUTТаймаут HTTP-запросов в секундах
30.0Запустите сервер MCP:
uvicorn mcp_server:app --reload --port 8080Проверьте, что сервер отвечает:
curl http://localhost:8080/healthz curl http://localhost:8080/mcp/discover
Использование MCP-инструментов
POST /mcp/request принимает JSON вида:
Ответ поступает по SSE в виде событий result или error. Поле result содержит MCP-структуру json_schema с данными, полученными от n8n.
Пример запуска workflow
Чтобы отслеживать выполнение, используйте метод get_execution_status с идентификатором, возвращённым n8n при запуске.
Разработка
Все основные настройки находятся в
mcp_server.py.При добавлении новых методов обновляйте словарь
METHOD_PARAM_MODELSи класс клиентаN8nClient.Логирование настроено на уровень
INFO. При необходимости измените уровень, передав значение черезlogging.basicConfig.
Лицензия
Добавьте файл LICENSE при необходимости.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables ChatGPT to manage n8n workflows through the official REST API. Supports creating, updating, deleting, and running workflows with execution status monitoring.