MCP в n8n: подключение инструментов к воркфлоу
Зачем MCP нужен внутри n8n, как подключить сервер к агентной ноде, какие сценарии это закрывает и где проходят ограничения такой связки.
Все статьи гида n8n · 18
MCP в n8n решает узкую задачу: дать агентной ноде инструменты, которых нет среди готовых нод. Всё остальное лучше делать обычными нодами.
Зачем это в n8n
У n8n большой каталог интеграций, и напрашивается вопрос, зачем ещё один способ подключать внешние системы. Разница в том, кто решает.
Нода - это решение, принятое вами при сборке. Выполняется всегда, в заданном порядке.
MCP-инструмент - это возможность, из которой агент выбирает по ходу. Он может вызвать её, а может не вызвать, в зависимости от того, что обнаружил на предыдущем шаге.
Отсюда простой критерий: если вы знаете порядок действий заранее, MCP не нужен. Нужны ноды: дешевле, предсказуемее, видно в истории выполнений.
Второй мотив - переиспользование. Сервер, написанный для доступа к вашей внутренней системе, работает и в n8n, и в терминальном агенте, и в собственном коде. Одна интеграция вместо трёх.
Подключение
Общая схема: агентная нода получает подключение к MCP-серверу, забирает у него список инструментов и дальше вызывает их так же, как остальные свои инструменты.
Что нужно учесть при self-hosted установке:
Локальный сервер запускается в среде n8n, а не в вашей оболочке. В контейнере это означает, что нужная программа должна быть внутри образа. Самая частая ошибка - сервер, который работает у вас на машине и не работает в n8n именно поэтому.
Удалённый сервер должен быть доступен из контейнера n8n. Сетевые ограничения и адреса внутри Docker - см. n8n в Docker.
Секреты идут в креденшелы или переменные окружения, а не в поле ноды: экспорт воркфлоу видят все, у кого есть доступ к интерфейсу.
Порядок настройки самих серверов и разбор ошибок подключения - в статье про настройку MCP.
Сценарии применения
Доступ к внутренней системе. Учётная система, самописная админка, внутренний API. Готовой ноды не будет, а сервер пишется один раз - см. обёртку своего API.
Данные по требованию. Агент обрабатывает обращение и при необходимости смотрит в базу. Если бы вы делали это нодой, запрос выполнялся бы всегда, включая случаи, где он не нужен.
Общий инструментарий. Один сервер обслуживает несколько воркфлоу и несколько агентов. Изменение логики доступа происходит в одном месте.
Чего делать не стоит: подключать MCP там, где хватает HTTP-ноды. Вызов, известный заранее, дешевле сделать напрямую.
Ограничения
Расход контекста. Описания всех инструментов попадают в каждый запрос агента. Несколько серверов заметно увеличивают стоимость шага.
Недетерминированность. Агент может не вызвать нужный инструмент или вызвать не тот. Если действие обязательно, оно должно быть нодой после агента, а не инструментом внутри него.
Отладка. История выполнений n8n показывает, что вошло в агентную ноду и что вышло, но происходящее внутри цикла видно хуже, чем обычная цепочка нод. Это аргумент держать агентную часть небольшой.
Права. Инструмент MCP выполняет реальное действие. Сервер с правами на запись сделает то, что решит агент, - см. безопасность MCP.
Что должно оставаться нодами: отправка сообщений, запись в системы, известная маршрутизация, обработка ошибок. Подробнее об этой границе - в агентных сценариях.
Общая картина по протоколу - гид по MCP. Обзор n8n - гид.
Вопросы и ответы
Зачем MCP в n8n, если есть готовые ноды?
Ноды подключает воркфлоу, а MCP-инструменты выбирает агент по ходу работы. Разница в том, кто принимает решение. Если порядок действий известен заранее, нужны обычные ноды; MCP полезен, когда агент сам решает, к каким данным обратиться.
Можно ли подключить один MCP-сервер и к n8n, и к другим клиентам?
Да, в этом смысл протокола: сервер пишется один раз и подключается к любому совместимому клиенту. Один и тот же сервер доступа к вашей базе будет работать и в агентной ноде n8n, и в терминальном агенте.
Не проще ли вызвать API из HTTP-ноды?
Если вызов известен заранее - проще и дешевле. HTTP-нода детерминирована, а MCP добавляет слой выбора инструмента моделью. Смысл появляется тогда, когда нужный вызов заранее неизвестен и его определяет содержание входящих данных.
Ещё по теме
- n8n: полный практический гид по автоматизации воркфлоуГид
- Установка n8n в Docker: self-hosted на своём сервереКак поднять n8n на своём сервере через Docker: docker compose, том для данных, ключ шифрования, HTTPS и вебхуки за реверс-прокси, переход на PostgreSQL и что бэкапить, чтобы не потерять доступы.
- Триггеры и вебхуки в n8n: как запускается воркфлоуВиды триггеров в n8n и работа с вебхуками: чем тестовый URL отличается от боевого, почему вебхук не приходит, ответ вызывающей стороне, расписание и таймзоны, защита публичного эндпоинта.
- Данные и выражения в n8n: элементы, $json и почему нода срабатывает много разКак устроены данные в n8n: массив элементов вместо объекта, выражения $json и $node, обращение к предыдущим нодам, работа с вложенным JSON, объединение и разбиение потоков и типичные ошибки с пустыми данными.
Сделаю под ключ
Соберу автоматизацию на n8n или кодом
Заявки, таблицы, CRM и Telegram связаны между собой, и никто больше не переносит данные руками.
от 300 $ · 3-7 дней
«Спасибо Павлу, поставленная задача выполнена. Всегда на связи, дал подробную инструкцию и руководство, буду обращаться, всем рекомендую.»