n8n · Tools Agent · MCP

Как собрать ИИ-агента в n8n:tools, Telegram и WordPress

Пошаговая сборка: AI Agent, tools, бот в Telegram, публикация в WordPress и связка с MCP

Хотите связать нейросеть с Telegram, черновиками WordPress и внешними tools — без повторного «общего обзора» Zapier и Альбато. Ниже — сквозной гайд: поднять n8n, собрать Tools Agent с памятью, принять лид в боте, пройти approve руками и выгрузить draft.

MCP подключаем только когда нужен пакет инструментов, а не ради модного слова. Цель — рабочий контур «бриф → черновик → HITL → WordPress draft», а не ещё одна теория про агентов.

Чем ИИ-агент в n8n отличается от обычного workflow

Обычный workflow в n8n — это жёсткая цепочка: триггер → шаг → шаг → результат. Каждый раз сценарий идёт по одним и тем же стрелкам. ИИ-агент в n8n работает иначе: он получает задачу, смотрит на доступные инструменты и сам решает, какой вызвать и в каком порядке.

Коротко. n8n агент — это не «ещё одна нода с текстом», а связка: модель + tools + память в одном сценарии. Агент выбирает действия по ходу диалога, а не только по заранее нарисованной схеме.

С версии n8n 1.82.0 отдельный выбор типа агента убрали: все AI Agent-ноды работают как Tools Agent. Это значит: модель сама решает, какой tool вызвать. Без подключённой модели сценарий падает с ошибкой про Chat Model. Без хотя бы одного tool — тоже ошибка: агенту нечем «действовать».

Маркер: простыми словами. Tools Agent — режим, в котором нейросеть не только пишет текст, но и вызывает инструменты: калькулятор, HTTP-запрос, Telegram, WordPress, MCP-сервер и другие. Вы даёте набор tools, агент выбирает нужный под задачу.

Когда хватит цепочки нод, а когда нужен агент с tools

Хватит обычного workflow, если путь один и тот же: «пришло сообщение → сгенерировать текст → сохранить черновик». Здесь агент часто лишний: вы заплатите за лишние вызовы модели и усложните отладку.

Агент с tools нужен, когда путь заранее неизвестен. Например: пользователь в Telegram то просит проверить сайт, то уточнить тему поста, то попросить черновик. Или агент должен сам выбрать: дернуть API, посчитать цифру, создать пост или ответить текстом. Тогда Tools Agent окупается.

В n8n есть ещё соседний путь — Agent Builder (вкладка Agents, пока Preview): каналы вроде Telegram/Slack, skills, расписания, approve tool calls. Для маркетолога и контент-пайплайна надёжнее начинать с workflow AI Agent в редакторе сценариев: его проще собрать, проверить и встроить в публикацию. Agent Builder держите как следующий слой, когда каналы и approve на уровне tools станут основной задачей.

AI Agent = модель + инструменты + память

Маркер: простыми словами. Sub-node (поднода) — маленькая «детская» нода, которую цепляют к AI Agent: модель чата, память, tool. Без этих подключений агент неполноценен.

Минимальный набор для живого n8n ai agent:

  1. Chat Model — какая нейросеть отвечает (OpenAI, Anthropic, локальная через совместимый endpoint и т.п.).
  2. Хотя бы один Tool — иначе агент только «думает», но ничего не делает во внешних системах.
  3. Memory (память) — чтобы диалог в Telegram не обнулялся на каждом сообщении.

Память в актуальных версиях часто называется Simple Memory (раньше в шаблонах встречался Window Buffer Memory). Для Telegram session key обычно привязывают к chat_id, чтобы у каждого чата был свой контекст. Старые шаблоны с устаревшей нодой памяти часто ломаются — проще пересоздать memory-ноду заново.

Что собрать до первого запуска: модель, ключи и доступы

Прежде чем рисовать стрелки, соберите «ключницу». Иначе агент будет падать на середине теста, и вы будете искать баг в логике, хотя проблема в доступах.

API модели, токены Telegram и права WordPress

Подготовьте заранее:

  • Ключ API модели (или доступ к локальной модели). Без него Chat Model не стартует.
  • Telegram-бот через BotFather: токен бота. Его кладут в Credentials n8n, не в текст ноды.
  • WordPress: пользователь с правом создавать посты + Application Password (пароль приложений). Это отдельный пароль для API, его показывают один раз.
  • URL сайта вида https://ваш-сайт.ru/wp-json/wp/v2/posts.

Маркер: простыми словами. Application Password — специальный пароль WordPress для программ и автоматизаций. Им пользуются через Basic Auth (логин + этот пароль) при запросах к REST API. В n8n храните его только в Credentials, не в Code-нодах и не в логах.

Из России: облачные модели и оплата карт могут упираться в ограничения провайдера. Рабочие обходы: self-host n8n на VPS в РФ/дружественной юрисдикции, локальные или доступные из РФ модели, прокси/промежуточный биллинг там, где это законно и по правилам сервиса. Не храните секреты в публичных репозиториях и не светите их в execution-логах.

Какие tools агенту реально нужны на старте

На старте не подключайте «весь зоопарк». Три инструмента закрывают 80% контент/лид-сценария:

  1. HTTP Request Tool или нода WordPress — создать/обновить черновик поста.
  2. Telegram (отправка сообщения) — ответить пользователю или прислать карточку на approve.
  3. Один «служебный» tool: Calculator, Call n8n Workflow Tool или MCP Client Tool — только если без него нельзя.

Правило: чем меньше tools, тем предсказуемее агент. Расширяйте набор после того, как базовый контур стабильно проходит тест.

Модель

Chat Model + Credentials. Без этого агент не стартует.

Telegram

Токен бота только в Credentials, не в тексте ноды.

WordPress

Application Password + старт со status draft.

Как поднять n8n локально или в Docker без сюрпризов

Чтобы создать ИИ-агента в n8n, нужен рабочий инстанс. Для теста с Telegram и WordPress удобнее Docker или облако: локальный десктоп без публичного URL часто ломает webhook Telegram.

Docker Compose vs облако: что выбрать под тест агента

ВариантПлюсыМинусы
n8n CloudБыстрый старт, HTTPS из коробкиДанные и биллинг в облаке вендора
Docker / Docker ComposeКонтроль, ближе к 152-ФЗ при своём хостингеНужен VPS, обновления, бэкапы
Локально без DockerУдобно «пощупать» редакторWebhook Telegram и внешние callbacks сложнее

Для агента с Telegram Trigger нужен стабильный HTTPS-endpoint. На тесте часто поднимают n8n в Docker на VPS и проксируют через Nginx/Caddy. Официальная документация по AI Agent: docs.n8n.io — AI Agent.

Минимальная проверка Compose: контейнер поднялся, UI открывается, вы создали пользователя-админа, в Credentials сохранили ключи. Если MCP-сервер крутится на хосте, а n8n — в Docker, localhost внутри контейнера — это не ваш компьютер. Для доступа к хосту обычно используют host.docker.internal (или IP сети Docker).

Проверка, что инстанс видит ноды AI и HTTP

Откройте новый workflow и убедитесь, что в палитре есть:

  • AI Agent
  • Chat Model (семейство LangChain/AI)
  • Simple Memory (или актуальный аналог памяти)
  • HTTP Request / WordPress
  • Telegram Trigger и Telegram

Если AI-нод нет — проверьте версию n8n и пакеты. Для агентного сценария берите свежий релиз: старые гайды с Feature Flag и Window Buffer часто расходятся с текущим UI.

Собираем агента: ноды, tools и память в одном сценарии

Это сердце гайда: как сделать n8n агента, который реально ходит в tools, а не только болтает.

Схема: триггер → агент → tool-call → ответ

Базовая схема контент/лид-пайплайна:

  1. Telegram Trigger — пришло сообщение.
  2. AI Agent — получил текст, system prompt, список tools.
  3. Tool-call — агент при необходимости вызвал HTTP/WP/MCP.
  4. Ответ в Telegram — короткое сообщение пользователю или редактору.
  5. *(Отдельно, после агента)* HITL approve → публикация/обновление WordPress.

Маркер: простыми словами. HITL (human-in-the-loop) — шаг, где человек подтверждает действие кнопкой «одобрить / отклонить», прежде чем система опубликует пост или спишет деньги/данные. Для контента это страховка от «нейросеть опубликовала ерунду».

Пошаговая сборка

Шаг 1. Создайте workflow. Добавьте Telegram Trigger, укажите credentials бота, сохраните и активируйте. Напишите боту «пинг» — в Executions должна появиться запись с текстом сообщения.
Шаг 2. Добавьте AI Agent. В Prompt Mode для Telegram/Webhook чаще ставят Define below и подставляют текст сообщения выражением (например, из $json.message.text). Режим «Connected Chat Trigger» подходит к Chat Trigger, а не к Telegram — иначе ловите «No prompt specified» / пустой content.
Шаг 3. Подключите Chat Model sub-node и сохраните API-ключ в Credentials. Прогоните тест с одним сообщением без tools — должна быть текстовая ошибка про отсутствие tool (это нормально: docs требуют ≥1 tool).
Шаг 4. Подключите первый tool: например HTTP Request Tool с понятным name и description: «Создаёт черновик поста в WordPress. Вызывать, когда пользователь просит подготовить статью».
Шаг 5. Подключите Simple Memory. Session key — {{ $json.message.chat.id }} (или эквивалент из вашей структуры Telegram). Так контекст не смешается между разными чатами.
Шаг 6. В system prompt напишите роль агента простыми правилами: что он делает, какие tools когда звать, что никогда не публикует сразу в publish, а только готовит draft / текст на проверку.

Признак успеха: вы пишете боту «подготовь черновик про X» → агент вызывает tool → в Executions видно tool-call → в Telegram приходит понятный ответ (или карточка на approve, если уже добавили HITL).

Типичные ошибки новичка:

  1. Пустой Prompt Mode / null content — исправьте на Define below + выражение текста.
  2. Memory на общий ключ для всех — диалоги путаются; привяжите к chat_id.
  3. Tool без описания — модель «не видит», зачем его звать; перепишите description конкретно.

Как ограничить tools, чтобы агент не «разъезжался»

  • В system prompt явно перечислите tools и условия вызова.
  • Отключите лишние tools (Selected / All Except в MCP Client, если используете).
  • Не давайте агенту tool «опубликовать в publish», пока нет HITL.
  • Ограничьте длину ответа и запретите выдумывать URL/цены.

Агент «разъезжается», когда tools слишком много и описания расплывчатые. Лучше три точных инструмента, чем двадцать «на всякий случай».

Пайплайн · не hero

От tool-call до черновика: контур агента

Справа — живая схема: пакет проходит Tools Agent, ждёт Approve в Telegram, ложится в WordPress как draft и подключает MCP-инструменты. Это не UI n8n, а карта того контура, который вы собираете дальше по статье.

  • Tools Agent: модель + память + вызовы инструментов в одном сценарии.
  • Telegram HITL: человек жмёт Approve / Decline до публикации.
  • WordPress draft: статус черновика, без мгновенного publish.
  • MCP: внешний слой tools, когда HTTP-нод уже мало.

Дальше — Telegram Trigger, кнопки approve и выгрузка в WordPress: разберём каждый узел контура по шагам.

Редакционная метафора: пакет данных движется по станциям. Не скриншот редактора n8n.

Telegram: от сообщения пользователя до ответа бота

Telegram — и канал лидов, и пульт управления публикацией. Один бот может принимать заявки, отвечать по FAQ и слать редактору кнопки approve/reject.

Telegram Trigger и webhook без потери апдейтов

Telegram Trigger в n8n слушает обновления бота через webhook. Условия стабильной работы:

  • Инстанс n8n доступен по HTTPS с валидным сертификатом.
  • Workflow активен (не только «Test workflow»).
  • Токен бота один и не перехватывается другим сервисом (два вебхука на один токен конфликтуют).

Если апдейты «теряются», проверьте Executions, URL webhook в Bot API и не держите одновременно polling в другом скрипте на том же боте.

Диалог: контекст чата и лимиты ответов

Память по chat_id даёт короткий диалоговый контекст. Это не «вечная база знаний»: окно ограничено. Для длинных регламентов лучше отдельный tool/база, а не бесконечная память чата.

Лимиты ответов задайте в prompt: «отвечай кратко, до N предложений; для статьи — только структура + абзац, полный текст уходит в черновик WP». Так вы экономите токены и не раздуваете Telegram-ленту.

Для HITL используйте ноду Send and Wait for Response / Approval (или inline-кнопки + Wait). Кнопки Approve/Decline → ветка IF → дальше publish или rewrite. Важно: HITL надёжнее ставить после AI Agent, а не как tool внутри agent-loop. В сообществе n8n часто ломается схема «wait внутри tool агента» (ошибки вроде «No action required»). Практичный контур: агент сгенерировал → человек нажал кнопку → уже потом WordPress.

WordPress: как агент готовит и публикует материал

WordPress в этом гайде — точка выгрузки контент-завода, а не частотный SEO-якорь. Цель: агент готовит материал, человек подтверждает, сайт получает аккуратный черновик или пост.

Черновик vs публикация: статусы и поля поста

Через REST API (POST /wp-json/wp/v2/posts) передаёте как минимум title, content, status. На старте всегда draft, не publish. Редактор проверяет текст в админке, правит SEO-поля и только потом выпускает.

Auth: Basic Auth с логином WP и Application Password. Пароль приложений создаётся в профиле пользователя WordPress и показывается один раз.

Маркер: простыми словами. Anti-duplicate (антидубли) — защита от двух одинаковых постов, когда workflow повторяет запрос после таймаута. Обычный POST /posts не идемпотентен: повтор часто создаёт второй пост. Нужен статус «уже создан» + post_id и дальше UPDATE, а не новый CREATE.

Практичные паттерны:

  1. В таблице (Google Sheets / БД) храните статус строки draft_created и post_id. Retry → обновляйте /posts/{{id}}.
  2. Перед create проверяйте slug/title.
  3. Не логируйте Application Password в Code-нодах.

Связка Telegram → проверка → пост в блог

Рабочий контур без лишней магии:

  1. Лид или редактор пишет боту тему/бриф.
  2. AI Agent собирает черновик (и при необходимости зовёт HTTP tool).
  3. Telegram шлёт карточку: заголовок + фрагмент + кнопки Approve / Reject.
  4. Approve → HTTP создаёт/обновляет пост со status: draft (или publish, если процесс уже зрелый и риск осознан).
  5. Reject → агент или человек правит текст, цикл повторяется.

Так вы закрываете боль «нейросеть опубликовала сырой текст» и боль «дубль после retry».

MCP рядом с n8n: зачем агенту ещё один слой tools

MCP часто звучит рядом с Cursor и агентами. В n8n он появляется как MCP Client Tool у AI Agent — способ подтянуть целый пакет внешних инструментов одним разъёмом.

MCP = единый разъём для инструментов ИИ

Маркер: простыми словами. MCP (Model Context Protocol) — единый способ подключать к ИИ внешние инструменты и данные, как «USB‑C для агентов». Вместо десятка разрозненных интеграций агент видит tools сервера с именами и описаниями.

В n8n нода MCP Client Tool подключается к remote MCP по SSE / streamable HTTP. Нативный STDIO (запуск локальной программы как MCP) в Client Tool и MCP Server Trigger не поддерживается из соображений песочницы/безопасности. Обходы через proxy вроде mcp-remote / supergateway — только для self-host и на свой риск.

Auth: Bearer, Header, Multiple Headers, OAuth2 — что требует ваш сервер. Tools to Include: All / Selected / All Except — на старте лучше Selected.

Агент выбирает MCP-tools по name + description (+ schema). Пустые описания = tool не вызывается или вызывается не туда. В system prompt явно перечислите, какие MCP-инструменты существуют и когда их звать.

Когда MCP усиливает n8n, а когда это лишний слой

MCP усиливает, если:

  • нужен пакет tools с внешнего сервера (CRM, база знаний, внутренние API);
  • тот же MCP уже живёт в Cursor и вы хотите один контур tools;
  • публикуете свою n8n-логику наружу как MCP Server Trigger для других агентов.

MCP лишний, если задача одна: создать пост в WordPress или дернуть один HTTP. Тогда хватит WordPress/HTTP tool без ещё одного слоя.

Связка с Cursor: локальный MCP в Cursor ≠ автоматически доступен контейнеру n8n. Проверьте сеть, URL endpoint и то, что сервер реально слушает HTTP/SSE, а не только STDIO.

Какие задачи бизнеса закрывает такой агент на практике

Один H2 про прикладные задачи — без воды. Ниже три контура, которые маркетолог и контент-специалист реально запускают на n8n агенте.

Контент, поддержка, внутренние регламенты — три рабочих контура

Контент-завод

Бриф в Telegram → черновик → HITL → WordPress draft → редактор доводит SEO/GEO.

Лиды и поддержка

Вопросы в боте → агент с tools (FAQ, CRM HTTP) → эскалация человеку по кнопке.

Регламенты

«Как оформить пост / КП» → агент достаёт шаблон tool’ом и собирает черновик ответа.

Фон рынка: контент-заводы уже «гигиена», а конкурентное преимущество смещается к агентам с памятью, подтверждением человека и связке через MCP. У Яндекса в B2B-анонсе универсального агента тоже заложен принцип: важное действие — с подтверждением человека. Ваш n8n-контур с HITL попадает в ту же логику контроля.

Где автоматизация через n8n окупается быстрее ручных связок

Окупается быстрее там, где много повторов и дорог человеческий copy-paste:

  • ежедневные черновики постов из однотипных брифов;
  • разбор однотипных входящих в Telegram;
  • связка «сгенерировал → согласовал → выложил draft» без ручной перекладки текста между чатом и админкой.

Не окупается, если у вас 2 публикации в месяц и нестабильный бриф: сначала отладьте ручной шаблон, потом автоматизируйте.

n8n или Make: когда какой стек выгоднее под агента

После гайдов по Zapier Agents и Альбато логичный вопрос: зачем ещё n8n. Коротко — через призму агентного контент/лид-пайплайна, не через «общую таблицу тарифов».

Сильные стороны n8n для AI Agent и self-host

  • Глубокий agent loop: model + memory + tools + MCP Client.
  • Self-host: данные ближе к вам, удобнее политики хранения.
  • Telegram + кастомный HTTP + WordPress REST собираются в один сценарий без потолка «только облако».
  • На длинных agent-циклах с кучей tool-call self-host / execution-модель часто выгоднее task-billing облаков — но цифры зависят от тарифа и нагрузки; считайте на своём объёме.

Когда Make проще на коротких интеграциях

Make удобнее, если:

  • команда не хочет админить Docker/VPS;
  • сценарий короткий: 5–10 модулей без сложного tool-loop;
  • нужны визуальные интеграции «из коробки» и скорость сборки важнее self-host.

Zapier Agents — быстрый старт для простых handoff, меньше контроля над stateful-агентом. Альбато — если весь стек принципиально российский SaaS. Соседний стек Make.com остаётся полезным в обучении автоматизации: многие команды держат Make на коротких связках, а n8n — на агентах и self-host. Это не «или/или навсегда», а разные полки одного контент-завода.

Сводка по обзорам 2026 (оценки аналитиков/обзорников, не официальный рейтинг вендоров): n8n чаще хвалят для production AI agents; Make — середина для non-coder; Zapier — самый быстрый простой старт.

Если команде ближе визуальные сценарии Make и нужна системная программа по автоматизации и вайбкодингу — смотрите обучение на kv-ai.ru: удобный мост от коротких интеграций к контент-заводу.

Типичные поломки и чеклист перед боем

Перед тем как отдать бота менеджеру или включить автопостинг, прогоните короткий чеклист.

Ошибки токенов, таймауты tool-call, циклы агента

СимптомЧастая причинаЧто сделать
«A Chat Model sub-node must be connected»Нет моделиПодключить Chat Model
«You must connect at least one tool»Нет toolsДобавить хотя бы один tool
«No prompt specified» / 400 null contentПлохой Prompt Mode для TelegramDefine below + выражение текста
Tool не вызываетсяПустое/размытое descriptionПереписать name/description, уточнить system prompt
Дубли постовRetry POST без post_idСтатус + UPDATE по id
HITL «завис»Wait внутри agent toolВынести approve после AI Agent
MCP не видит хостlocalhost в Dockerhost.docker.internal / IP хоста
Утечка секретовПароль в Code/логахТолько Credentials, маскирование

Циклы агента (бесконечные tool-call) режутся лимитом итераций, узким набором tools и жёстким prompt: «если данных мало — спроси человека, не крути tools по кругу».

Минимальный тест: Telegram → tool → лог → WordPress/ответ

Прогоните один сквозной тест:

  1. Сообщение в бот с тестовой темой.
  2. В Executions: есть AI Agent + tool-call.
  3. В Telegram: ответ понятен человеку.
  4. После Approve: в WordPress появился один draft с ожидаемым title.
  5. Повтор того же approve/retry не создал второй пост.
  6. В логах нет Application Password и API-ключей открытым текстом.

Если все шесть пунктов зелёные — можно пускать первых живых пользователей в узком круге.

FAQ

Можно ли собрать агента без оплаты облака

Да, частично. n8n можно поднять локально или на своём VPS (Docker). Модель может быть локальной или через доступный вам endpoint. Бесплатность «навсегда» зависит от хостинга и лимитов модели: VPS и токены обычно всё равно стоят денег, но облако n8n Cloud покупать не обязательно. Telegram-бот бесплатен; WordPress — ваш хостинг.

Чем n8n-агент отличается от «просто чат-бота»

Чат-бот в основном генерирует текст в диалоге. n8n ai agent подключает tools и может менять внешние системы: создать черновик, дернуть API, вызвать MCP. Плюс память сессии и встраивание в workflow с HITL и публикацией. Бот «болтает»; агент «делает шаги» под контролем сценария.

Нужен ли MCP, если уже есть HTTP-tools в n8n

Не всегда. Если у вас один-два HTTP/WordPress tool — MCP не обязателен. MCP нужен, когда подключаете пакет инструментов с сервера или хотите единый разъём с Cursor/другими агентами. Иначе это лишний слой сети и отладки.

Что проверяли по источникам

  • Документация n8n: AI Agent как Tools Agent, обязательные Chat Model и tool, типичные ошибки prompt/memory.
  • Документация n8n: MCP Client Tool (SSE/HTTP), отсутствие native STDIO у Client/Server Trigger.
  • Практика WordPress REST: Application Passwords и старт со status: draft.
  • Паттерн HITL: Telegram Send and Wait / approve после агента.
  • RU-сравнения стеков n8n / Make / Zapier для агентных и приватных сценариев.

Полезные первоисточники для самостоятельной проверки: AI Agent в docs n8n, MCP Client Tool, Application Passwords WordPress.

Итог

Собрать ИИ-агента в n8n — это не «включить одну ноду», а собрать контур: инстанс → модель → memory → узкий набор tools → Telegram как вход и HITL → WordPress как draft с защитой от дублей → MCP только когда нужен пакет внешних tools. Начните с одного сценария «бриф → черновик → approve → draft». Когда он стабилен, наращивайте tools и каналы — уже без хаоса.

Beget — надёжный хостинг и VPS