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/workflows
create_workflow
—POST /rest/workflows
update_workflow
—PATCH /rest/workflows/{id}
delete_workflow
—DELETE /rest/workflows/{id}
run_workflow
—POST /rest/workflows/run
get_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_KEY
API-токен 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.