Перейти к основному содержимому

Интеграция AI-агента

MultiProg предоставляет стандартный MCP-сервер (Model Context Protocol) для внешних AI-агентов. MCP-клиент подключается к MultiProg, получает список доступных инструментов и вызывает операции через обычную MCP-модель.

Поддерживаются MCP-клиенты вроде Claude, Cursor, GLM, opencode и другие инструменты, умеющие подключать MCP-серверы.

Внутри используется тот же mp.* API, что доступен в Script Console (см. Scripting): программирование, hex-буфер, файлы, база таргетов, контрольные суммы и backend-операции.

Settings > AI Agent Integration

Диалог Settings → AI Agent Integration управляет интеграцией AI-агента: включение MCP-сервера, параметры подключения, auth-токен и копирование готовой инструкции для внешнего агента.

Где включается

Settings → AI Agent Integration открывает диалог настройки. Включите интеграцию, скопируйте starter prompt и передайте его своему AI-клиенту.

Диалог настроек

  • Enable Agent MCP server — главный тумблер интеграции.
  • Auth token — 64-символьный hex-токен на пользователя, обязательный для авторизованного доступа. Кнопки: Show / Hide, Copy, Regenerate. Регенерация отзывает клиентов, которые ещё используют старый токен.
  • Copy starter prompt for external agent — генерирует готовый брифинг для AI-клиента: как подключиться к MCP-серверу MultiProg, какие ограничения учитывать и с чего начать интроспекцию API.
  • Apply / Close — Apply применяет настройки без перезапуска.

Токен лежит по пути %APPDATA%/KuragaTech/MultiProg/agent_token (NTFS DACL — только текущий пользователь). Обращайтесь с ним как с session secret: не коммитьте в исходники и не публикуйте в ответах агента.

Быстрый старт

  1. Открыть Settings → AI Agent Integration.
  2. Включить MCP-сервер MultiProg.
  3. Нажать Copy starter prompt for external agent.
  4. Вставить prompt в AI-клиент, подключенный к MCP-серверу MultiProg.
  5. Дописать задачу и отправить агенту.

Стартовый prompt должен помочь агенту:

  • подключиться к MCP-серверу MultiProg;
  • посмотреть доступные инструменты и ресурсы MCP;
  • использовать mp.* API через опубликованные MCP-инструменты;
  • учитывать auth-токен и ограничения безопасности;
  • не вызывать модальные mp.ui.*-диалоги в автономном режиме;
  • для операций записи явно разрешать аппаратные записи через mp.app.allow_hw_writes(true).

Связь со Script Console

  • Тот же Lua-движок, тот же mp.* API — всё, что можно сделать в Script Console, можно вызвать через MCP-интеграцию.
  • Script Console запускает скрипты, введённые пользователем в GUI.
  • MCP-сервер выполняет задания, которые приходят от внешнего AI-агента.
  • В одно время выполняется только один скрипт. Если Script Console уже занята, запрос агента должен дождаться освобождения движка; то же правило работает в обратную сторону.

Безопасность

Граница доверия

MCP-клиент, которому вы дали доступ к серверу MultiProg и auth-токену, может выполнять код от имени MultiProg. Подключайте только доверенные клиенты и не передавайте токен третьим лицам.

  • Auth-токен лежит под %APPDATA%, где NTFS DACL ограничивает доступ только вашим пользователем.
  • --agent-mode по умолчанию блокирует деструктивные операции; чтобы прошить железо, скрипт должен явно вызвать mp.app.allow_hw_writes(true).
  • Операция Erase всегда требует подтверждения пользователя. mp.backend.erase и mp.backend.erase_blocks поднимают синхронный модальный диалог подтверждения в GUI на каждый вызов («Script requested mp.backend.erase() on target XXX — Allow this erase?»), даже после mp.app.allow_hw_writes(true) и даже вне --agent-mode. Флага-обхода нет. Erase стирает калибровку, серийники и pairing-данные, которых может не быть в вашем HEX, поэтому требуется человек у клавиатуры. Отмена возвращает {false, "erase canceled by user"}.
  • Стандартные Lua os.* и io.* в движке песочничены — для работы с файловой системой и процессами используется mp.file.*, mp.app.list_dir, mp.app.run_process.

Полный протокол

MCP-клиент получает список доступных инструментов и ресурсов от MCP-сервера MultiProg. Для Lua API смотрите раздел Scripting и справочник API.

Примечание для пользователей старых версий

До версии 2.3.7 интеграция AI-агента работала через файловый IPC-мост: агент писал JSON-запросы в папку, MultiProg выполнял Lua и писал результат обратно. Начиная с 2.3.7 основным способом интеграции является стандартный MCP-сервер MultiProg.