Skip to main content
Glama

n8n MCP Server

by Peakviker

n8n MCP Server

Этот репозиторий содержит реализацию сервера Model Context Protocol (MCP) на базе FastAPI, который позволяет инструментам ChatGPT управлять рабочими процессами n8n через официальный REST API.

Возможности

  • SSE-интерфейс /mcp/request для взаимодействия в формате MCP.

  • Поддерживаемые методы:

    • list_workflowsGET /rest/workflows

    • create_workflowPOST /rest/workflows

    • update_workflowPATCH /rest/workflows/{id}

    • delete_workflowDELETE /rest/workflows/{id}

    • run_workflowPOST /rest/workflows/run

    • get_execution_statusGET /rest/executions/{id}

  • Асинхронный HTTP-клиент httpx.AsyncClient с поддержкой API-ключей n8n.

  • Pydantic-схемы для строгой валидации MCP-запросов и ответов.

  • Логирование входящих запросов и обращений к n8n.

Требования

  • Python 3.10 или новее.

  • Запущенный экземпляр n8n с доступом по HTTP и включённым REST API.

  • API-токен n8n с правами на чтение и изменение workflow.

Установка и запуск

  1. Клонируйте репозиторий и перейдите в директорию проекта:

    git clone https://github.com/Peakviker/MCPn8n.git cd MCPn8n
  2. Создайте виртуальное окружение и установите зависимости:

    python -m venv .venv source .venv/bin/activate pip install fastapi uvicorn[standard] sse-starlette httpx python-dotenv
  3. Скопируйте пример конфигурации и задайте переменные окружения:

    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

  4. Запустите сервер MCP:

    uvicorn mcp_server:app --reload --port 8080
  5. Проверьте, что сервер отвечает:

    curl http://localhost:8080/healthz curl http://localhost:8080/mcp/discover

Использование MCP-инструментов

POST /mcp/request принимает JSON вида:

{ "id": "<уникальный идентификатор запроса>", "method": "list_workflows", "params": { "limit": 20 } }

Ответ поступает по SSE в виде событий result или error. Поле result содержит MCP-структуру json_schema с данными, полученными от n8n.

Пример запуска workflow

curl -N \ -H "Content-Type: application/json" \ -X POST http://localhost:8080/mcp/request \ -d '{ "id": "demo-run", "method": "run_workflow", "params": { "workflow_id": "123", "payload": { "runData": { "HTTP Trigger": [[ { "json": { "foo": "bar" } } ]] }, "startNodes": ["HTTP Trigger"], "destinationNode": "Respond to Webhook" } } }'

Чтобы отслеживать выполнение, используйте метод get_execution_status с идентификатором, возвращённым n8n при запуске.

Разработка

  • Все основные настройки находятся в mcp_server.py.

  • При добавлении новых методов обновляйте словарь METHOD_PARAM_MODELS и класс клиента N8nClient.

  • Логирование настроено на уровень INFO. При необходимости измените уровень, передав значение через logging.basicConfig.

Лицензия

Добавьте файл LICENSE при необходимости.

-
security - not tested
F
license - not found
-
quality - not tested

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.

  1. Возможности
    1. Требования
      1. Установка и запуск
        1. Использование MCP-инструментов
          1. Пример запуска workflow
        2. Разработка
          1. Лицензия

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/Peakviker/MCPn8n'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server