n8n MCP Server

n8n MCP Server

Enables ChatGPT to manage n8n workflows through the official REST API. Supports creating, updating, deleting, and running workflows with execution status monitoring.

Category
Visit Server

README

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 при необходимости.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured