Перейти к содержимому
Экосистема AI Vibe

Разборы

Консоль отзыва продукции через ToolJet MCP: когда агент собирает internal app без React-codebase

Редакция 15 сентября 2026 г.

Консоль отзыва продукции через ToolJet MCP: когда агент собирает internal app без React-codebase

Три режима на один внутренний инструмент: свободный codegen, MCP по контрактам платформы или «собрали v1 и забыли», и сопровождение съедает больше времени, чем старт. Для соло-разработчика с MCP-сервером в IDE урок из кейса ToolJet не в low-code как таковом, а в lint-before-write: без валидации перед записью агент размножает queries, bindings и поля, которые потом правит не он.

Почему первая версия internal app: только половина агентной работы

Авторы кейса формулируют мысль прямо: собрать первую версию внутреннего приложения, это только часть задачи. Сложнее удержать его полезным, когда меняются процесс, данные и люди вокруг. Фильтры, шаг согласования, compliance-поля, новый layout: типичные эволюционные запросы к уже работающему инструменту.

Для команд, которые гоняют Codex, Claude Code или другого coding agent через MCP, это не абстрактная философия. Сотни мелких правок по множеству internal apps быстро превращаются в сопровождение крупнее первоначальной сборки. Агент ускоряет генерацию; узкое место смещается в сопровождение.

Три экрана recall-консоли: что агент собрал из brief

Кейс про консоль реагирования на отзыв продукции (product recall) для производственной компании в Южной Австралии, а не про RAG-recall и не про абстрактный compliance-термин. Её используют quality, operations, compliance, supply-chain и customer-response.

Из brief примерно в 1 400 слов Codex через ToolJet MCP собрал демо с тремя страницами:

  1. Recall Command Centre: портфельные KPI (активные отзывы, units at risk, recovered units, financial exposure, completion rate), spotlight приоритетного кейса, таблица с фильтрами и поиском.
  2. Recall Case & Response Workspace: один кейс от Issue Detected до Closed (lots, distribution trace, stakeholder communication, response actions, root-cause, audit trail). На демо-данных, например: 18 420 affected units, 16 210 located, 13 840 quarantined, 11 920 recovered.
  3. Response Desk: добавлена короткой follow-up-командой «Add another relevant page with urgent actions», очередь срочных действий по всем отзывам (overdue, due today, blocked, critical).

Итоговый масштаб по автору: 10 tables, 109 seeded rows, 28 queries, 109 components, 3 pages. Стартовая инструкция агенту: «Build this application in ToolJet. Follow the attached brief, keep the data consistent across every page, and verify each phase before moving on.»

Как ToolJet MCP удерживает агента в рамках платформы

ToolJet MCP не отдаёт отдельный React-codebase. Агент вызывает API платформы ToolJet: страницы, компоненты, queries, events, layouts, ToolJet Database. Результат остаётся обычным приложением ToolJet; его можно править в visual builder и query editor (GUI/SQL).

Репозиторий: github.com/ToolJet/tooljet-mcp.

Сборка идёт фазами с обязательной валидацией:

Plan the next phase → Validate → Fix validation errors → Apply the phase → Verify the result

Перед записью фазы спецификация lintится. Успешный lint выдаёт временный token, который потребляется write-операцией. При провале фаза не записывается. Авторы приводят отклонённые ошибки: reserved SQL keyword в колонке, binding к ещё не смонтированному компоненту, action с неверным property.

Агент работает с контрактами платформы (table, container, input, query), а не изобретает свою frontend-модель на каждый запрос. Паттерн переносим на любой MCP-сервер в IDE: узкий валидированный API вместо свободного codegen.

Счётчик токенов в кейсе (approximate budget, не API bill): первый крупный ход ~190k; Page 2 и mutations ~84k; Response Desk ~51k. Снижение за счёт reuse модели данных и структуры, та же логика, что и при итерации «Add another relevant page» без нового ТЗ.

В кейсе нет Cursor, rules или skills IDE, только Codex / Claude Code как агенты. Но контур применим шире: brief → агент → пофазная сборка с lint-before-write вместо одного «сгенерируй всё»; итерация короткой командой на существующей модели данных, без переписывания brief; разделение ролей (агент для крупных фаз, ручные правки в GUI платформы для мелочей: «Once your app is ready, the next change does not have to go through Codex.»). Если ваша платформа или MCP-сервер не даёт контрактов и lint перед write, агентный цикл повторяет ту же ловушку, что и codegen: быстрый v1 и дорогое сопровождение. Проверка на практике: не «сколько строк сгенерировал Codex», а выдерживает ли приложение третью страницу и десятую правку без нового ТЗ.

Codegen против абстракций: две ставки на AI app building

Автор противопоставляет два пути:

Путь Суть Trade-off в кейсе
Codegen-агент Больше React/кода на выходе Каждое приложение, отдельный codebase для поддержки
ToolJet MCP Агент оперирует готовыми абстракциями платформы Выход в модели ToolJet; поддержка через visual builder, GUI/SQL, дальнейшие MCP-итерации

Ключевые тезисы подхода ToolJet:

  • Internal tools часто живут дольше первого автора; сопровождать их будет тот, кто понимает бизнес-процесс, а не React.
  • После MCP-сборки не обязательно снова звать агента: мелкий UI в visual builder, крупная фича снова через MCP, потому что агент уже «видит» структуру.
  • Генерация дешевеет; maintainability при росте числа приложений становится узким местом.

Формулировка из источника: «One is to keep making the agent better at producing code. … The other option is to give the agent better abstractions to work with. ToolJet MCP follows the second approach.»


Источники