Як це працює
Технічний огляд для служби ІТ, безпеки й тих, хто погоджує підключення: учасники, шлях запиту, захист, дані, навантаження й вимоги до бази.
Коротко
AI-агент читає базу BAS з правами користувача й під журналом
Munin MCP з'єднує базу BAS з AI-агентом, наприклад Claude чи ChatGPT. Керівник або фінансист питає агента звичайною мовою, агент сам знаходить у BAS потрібні звіти й дані й відповідає, звідки взято кожну цифру. У базу встановлюється розширення, основна конфігурація не змінюється.
Відповідь на управлінське питання приходить у розмові з агентом, і кожну цифру можна звірити зі звітом BAS.
Чотири гарантії
Лише читання
Інструментів запису немає. Запит на зміну даних відхиляють і шлюз, і розширення в базі.
Права користувача BAS
Агент працює від імені того, хто його підключив, і бачить не більше за нього. Права перевіряє платформа, профіль обмежень звужує їх ще.
Дані лишаються в BAS
Дані зберігаються у вашій базі. Шлюз передає агенту прочитане для відповіді й не тримає даних довше, ніж триває видача відповіді. Журнал ведеться без значень даних.
Кожен виклик у журналі
Шлюз записує, хто, з якого агента й до якої бази звернувся, яким інструментом і з яким результатом. Значень даних у журналі немає.
Шлюз розміщено в Hetzner Cloud, Гельсінкі, Фінляндія (ЄС). Агенти входять через OAuth 2.1, усі з'єднання шифруються (TLS).
Хто з ким з'єднаний
Три учасники, і з'єднання завжди відкриває ваша база
Агент підключається до шлюзу Munin за звичайною адресою. База BAS сама відкриває захищене з'єднання до шлюзу, тож на сервері BAS назовні не відчинено нічого.
AI-агент
Claude, ChatGPT або власний агент із підтримкою MCP
Шлюз Munin
- Пускає лише підтверджених агентів
- Передає запит у потрібну базу
- Стежить за лімітами й веде журнал
Ваша база BAS
- Розширення Munin; основна конфігурація не змінюється
- Виконує запити з правами користувача
- Усі дані лишаються в BAS
- На сервері BAS нічого не відчинено назовні
- Без VPN і веб-публікації бази
Шлях одного запиту
Від питання до відповіді за п'ять кроків
Ви питаєте агента. Агент обирає інструмент, шлюз перевіряє доступ і ліміти, BAS виконує виклик від вашого імені з вашими правами, і відповідь повертається з джерелом і застереженнями.
1Ви
Питання
Ви питаєте агента звичайною мовою, наприклад: «Яка маржа за вересень?»
2AI-агент
Обирає інструмент
Агент вирішує, що потрібно: штатний звіт, пошук документа чи запит на читання.
3Шлюз Munin
Перевіряє доступ і ліміти
Шлюз пускає лише агента з дійсним входом до цієї бази, перевіряє ліміти, записує виклик у журнал і передає його в базу.
4Ваша BAS
Виконує від вашого імені
База виконує виклик у сеансі користувача, який підключив агента. Платформа застосовує його права, розширення — профіль обмежень.
5AI-агент
Відповідь із джерелом
Відповідь називає звіт чи регістр, період і відбори та попереджає, якщо, наприклад, місяць ще не закрито.
Навіщо тут шлюз
Шлюз підказує агенту, тож база отримує лише запит на дані
Чому агент не говорить з базою напряму? Подивіться, як він виконує прохання «покажи залишки на основному складі».
Питання користувача «Покажи залишки на основному складі»
help
Шлюз
Шлюз дає огляд бази й правила мови запитів.
meta_search «остатки»
Шлюз
Шлюз дає список регістрів із залишками.
meta_describe РегистрНакопления.ЗапасыНаСкладах
Шлюз
Шлюз дає поля, віртуальні таблиці та їхні параметри.
query_run запит агента
База BAS
База виконує запит і повертає таблицю залишків.
query_run запит із помилкою
Якщо помилка
Відповідь містить правильні імена полів, і агент виправляє запит сам.
Що це дає
Менше контексту й токенів
Агент не тягне в контекст усю структуру бази, а бере лише потрібний зріз. Це економить контекст моделі й вартість токенів.
Менше навантаження на базу
Опис своєї будови база передає шлюзу один раз після кожної зміни конфігурації. Далі на питання про будову відповідає шлюз, а базі дістаються лише запити на дані.
Помилки виправляються без людини
Помилка в запиті повертається з правильними іменами полів, тож агент виправляє запит сам.
Можливості шлюзу розвиваються: нові знання й підказки для агента з'являються на шлюзі без оновлення вашої бази.
Хто ви для системи
Агент працює від вашого імені, але пароля не знає
Окремих облікових записів у Munin немає. Хто ви і що вам можна, визначає ваш обліковий запис у BAS.
Як агент входить
Ви додаєте адресу бази в агенті. Агент відкриває сторінку входу Munin, і вона показує короткий одноразовий код.
Ви вводите код у формі «Підключити AI» у своїй BAS. Форма показує, який агент просить доступ.
Ви натискаєте «Дозволити». Агент отримує доступ лише до цієї бази й лише від вашого імені.
OAuth 2.1
Агенти входять лише через OAuth 2.1, статичних ключів доступу немає. Код входу діє 5 хвилин і лише для одного входу. Строк підключення ви обираєте самі, за замовчуванням 90 днів.
Пароль BAS не залишає базу
Вхід не передає пароля взагалі. Ні агент, ні Munin його не бачать.
Роль «Право роботи з AI»
Підключити агента може лише користувач, якому відповідальний у базі видав цю роль.
Профіль обмежень
У формі «Підключити AI» користувач закриває об'єкти й поля, лишає лише потрібні організації чи склади, обмежує кількість рядків. Профіль лише звужує права користувача.
Захист
Чому агент нічого не зламає
Агента стримують кілька незалежних рівнів захисту. Кожен працює сам по собі й не покладається на інші.
Немає інструментів запису
Серед інструментів агента немає жодного, що змінює дані. Запит на зміну відхиляють і шлюз, і розширення в базі.
Запити лише на читання й перевіряються
Запит агента виконується тільки на читання, з лімітом часу й рядків. Його перевіряють і шлюз, і розширення в базі, а запит, що не пройшов перевірку, не виконується.
Безпечний режим платформи
Код, що виконує інструменти агента, працює в безпечному режимі платформи й ніколи не отримує привілейованого режиму.
Права й RLS користувача
Дані читаються в сеансі користувача, тож платформа застосовує його ролі й обмеження на рівні записів (RLS). Профіль обмежень звужує їх ще.
Агент читає дані лише через платформу BAS. Прямого доступу до сервера баз даних у нього немає.
Інструменти агента
П'ять видів інструментів, усі лише на читання
Агент бачить невеликий набір загальних інструментів. Вони працюють з конфігураціями BAS, що відповідають вимогам нижче, а доповнення під конфігурацію додають знання про неї.
Довідка
Огляд бази, з чого почати, довідка за темами: продажі й маржа, гроші, склад, борги, мова запитів.
helpЗвіти
Штатні звіти, доступні користувачу, з періодом і відборами. Агент обирає їх першими.
report_listreport_runПошук і картки
Пошук у довідниках і документах за назвою, кодом, номером чи періодом; картка об'єкта з реквізитами й рухами.
object_findobject_getСтруктура
Пошук об'єктів бази за назвою чи синонімом і опис їхньої будови: поля, віртуальні таблиці, параметри.
meta_searchmeta_describeЗапити на читання
Довільний запит мовою запитів BAS, коли звіту немає. Лише читання, з лімітом рядків і часу, і відповідь каже, що цифра не зі штатного звіту.
query_run
Дані
Де які дані зберігаються
Дані зберігаються у вашій базі. Шлюз не тримає даних довше, ніж триває видача відповіді; у нього лише те, що потрібно для входу, журналу без значень даних і підказок агенту. AI-провайдер бачить тільки те, що агент прочитав для відповіді.
Ваша база BAS
- Усі облікові дані
- Права користувачів і профілі обмежень
Шлюз Munin
- Реєстр баз, користувачів і підключень
- Опис будови конфігурації (довідники, документи, регістри, поля) — без самих даних
- Лише хеші токенів і кодів входу
- Журнал викликів без значень даних
- Паролів BAS немає
AI-провайдер
- Лише те, що агент прочитав для відповіді
- Закрите профілем обмежень сюди не потрапляє
- Усі з'єднання шифруються (TLS): агент і шлюз — HTTPS, база і шлюз — захищений WebSocket.
- Тому важливий профіль обмежень: що в ньому закрито, до моделі не потрапить.
Навантаження й ліцензії
Скільки агент навантажує базу
Агент працює поруч зі звичайними користувачами BAS, тому навантаження обмежене з обох боків: на шлюзі й у базі.
У простої тихо
Поки агент нічого не питає, база тримає одне з'єднання зі шлюзом, без сеансів і фонових завдань.
Ліміти на кожен виклик
Кожен виклик має тайм-аут і ліміт рядків.
Один важкий виклик за раз
Одночасно в базі виконується не більше одного важкого виклику агента.
Ліцензія як за звичайного входу
Коли агент працює, у базі відкривається сеанс від імені користувача, і він займає ліцензію клієнта. Після кількох хвилин без викликів сеанс закривається сам.
Перший виклик після паузи
Після паузи перша відповідь іде кілька секунд, поки відкривається сеанс.
Контроль
Як вимкнути агента
Вимкнути агента можна з самої BAS, без звернення до нас.
Відкликати своє підключення
У формі «Підключити AI» користувач бачить свої активні підключення (агент, дата, остання активність) і відкликає будь-яке.
Вимикач AI для всієї бази
Користувач із повними правами одним прапорцем вимикає AI в базі: з'єднання агентів закриваються, нові не відкриваються.
Блокування в BAS
Користувач, якого заблокували або видалили в BAS, втрачає доступ агента. Шлюз регулярно перевіряє це в базі.
Журнал викликів
Кожен виклик записано: хто, з якого агента, до якої бази, яким інструментом, з яким результатом і скільки він тривав.
Вимоги
Що потрібно від бази
- Платформа 8.3.27 або новіша
- Конфігурація на керованих формах з БСП 3.1 або новішою
- Розширення встановлює хостинг або адміністратор, основна конфігурація не змінюється
- Вихідне з'єднання з сервера BAS до шлюзу; вхідні порти й веб-публікація не потрібні
- AI-агент із підтримкою MCP і входу через OAuth 2.1: Claude, ChatGPT або власний
Питання від вашої служби ІТ чи безпеки?
Напишіть у Telegram: відповімо на питання про захист, дані й вимоги та розповімо, що потрібно для вашої конфігурації.
Або напишіть на пошту hello@munin-mcp.dev