Как мы превратили BPM-систему в инструмент для ИИ-агентов: реализация MCP в «Первой Форме»

Как мы превратили BPM-систему в инструмент для ИИ-агентов: реализация MCP в «Первой Форме»

У любой системы управления процессами есть узкое место — разрыв между тем, что нужно бизнесу, и тем, как это реализуется в системе. Владелец процесса описывает задачу, а разработчик или администратор выполняет её через API, по ТЗ и с задержками. В «Первой Форме» мы решили эту проблему с помощью MCP — Model Context Protocol.

Проблема: почему ИИ-агенты и BPM-системы плохо дружили

ИИ-агенты могут вызывать инструменты, но раньше каждый вызов требовал ручной настройки на стороне агента. Нужно создать задачу? Пишется отдельный инструмент. Добавить комментарий? Ещё один. Таких действий в BPM-системах десятки, а то и сотни — масштабирование невозможно.

Кроме того, логика вызова жила на стороне агента, а не системы. Любое изменение API ломало интеграцию. Хотелось, чтобы система сама описывала, какие действия доступны, а агент просто их вызывал — по единому стандарту.

API «Первой Формы» мощный, но он рассчитан на разработчиков. Для ИИ-модели, где контекстное окно ограничено, выбор нужного эндпоинта из сотен — непосильная задача. Модель путается, ошибается, теряет фокус.

Что мы сделали: «Первая Форма» как MCP-сервер

MCP (Model Context Protocol) — открытый протокол от Anthropic, который позволяет системе самой предоставлять ИИ-агенту стандартизированный интерфейс. Теперь «Первая Форма» работает как MCP-сервер: она отдаёт агенту список доступных инструментов — с описаниями, параметрами и возвращаемыми значениями.

Агенту больше не нужно знать про наше API. Он получает готовый набор действий, которые можно вызывать. А клиенты с поддержкой MCP — такие как Claude Desktop, Cursor, N8N, Dify — подключаются к нам напрямую.

Чтобы не перегружать контекст модели, мы разбили инструменты на домены: управление категориями, правами, отчётами и другие. При подключении агент сначала видит только каталог доменов. Затем, по мере необходимости, подключает нужный домен и получает его инструменты. Это lazy-подход: в контексте всегда только то, что нужно сейчас.

Уровень первый: настройка системы через диалог

Теперь владелец процесса может описать задачу на естественном языке: «Создай категорию для согласования отпусков, добавь поля “даты отпуска”, “замещающий сотрудник” и “комментарий руководителя”, настрой права для группы “Все сотрудники”».

ИИ-агент, через MCP, сам выбирает и вызывает нужные инструменты — создание категории, добавление полей, настройку прав. Мы не задаём жёсткую последовательность. Вместо этого предоставляем набор независимых действий, а модель сама строит цепочку.

Ядро ИИ-админа — шесть базовых инструментов: создание категории, добавление параметров, привязка полей, просмотр дерева, получение типов. Для сложных сценариев доступны сотни инструментов Admin API: маршруты, права, отчёты, порталы, SmartScript и объекты базы данных.

Уровень второй: как это работает в ежедневных задачах

MCP полезен не только для настройки. Он помогает в повседневной работе:

  • Код-ревью через диалог. Руководитель тестирования попросила агента: «Посмотри задачи на код-ревью у меня, проверь код на корректность и логичность». Агент нашёл задачи, скачал файлы, провёл анализ, написал комментарий и выполнил переход — всё через MCP.
  • Массовая классификация задач. Агент проанализировал более 1100 сценариев: читал описания, комментарии, заполнял поля — классификацию, признак фичи, ограничения. Работа, которая заняла бы человека недели, выполнена за часы.
  • Мониторинг площадок. Инженер сопровождения настроил ежедневную проверку: агент собирает данные об ошибках, отзывчивости, аномалиях и публикует результат в задаче. Раньше — ручной сбор, теперь — один промт.

Отдельный случай — SmartScripts. Мы создали фабрику: при запуске сервера все включённые скрипты автоматически становятся MCP-инструментами. Клиент пишет скрипт — и он сразу доступен агенту, без дополнительной разработки.

Что важно понимать: границы и честная оценка

MCP — это не ИИ. Это протокол, который упрощает и стандартизирует подключение агента к системе. Он не делает модель умнее, но убирает барьеры на пути к интеграции.

Качество зависит от обеих сторон. Мы отвечаем за точность описаний инструментов и информативность ошибок. А как модель интерпретирует задачу — зависит от неё и от того, кто её настраивает. При использовании готовых агентов возможны ошибки — их можно корректировать в диалоге.

Агент работает с правами пользователя, чей Personal Access Token (PAT) используется. Никаких суперправ. Административные действия требуют учётной записи администратора.

Что если агент ошибётся?

  • Работа на dev-среде. Все эксперименты — в тестовой среде. Только после проверки — на прод.
  • Откат изменений. Можно удалить созданную категорию или исправить вручную.
  • Понятные ошибки. Вместо «не получилось» — конкретика: «нет прав», «категория уже существует». Это помогает агенту самому скорректировать действия.

Даже мелочи имеют значение: MCP-ответы с кириллицей изначально экранировались в \uXXXX. Пришлось добавить middleware для декодирования в UTF-8 — иначе отладка превращалась в головоломку.

Что это значит для рынка

На данный момент мы не знаем о других российских BPM-системах с готовым MCP-сервером. Это не просто техническая фича — это смена парадигмы.

Теперь не обязательно быть разработчиком, чтобы настроить систему. Достаточно понимать процесс и описать его на естественном языке. Разработчики по-прежнему нужны — для сложных интеграций, оптимизации, кастомных решений. Но типовые задачи теперь доступны владельцам процессов.

Мы продолжаем развивать MCP-сервер: расширяем инструменты, улучшаем описания, тестируем сложные сценарии. Если у вас есть опыт интеграции ИИ-агентов с корпоративными системами — будем рады обмену опытом.

Читать оригинал