Назад
MCP доводить агента до API, але не вирішує доступ на рівні полів сам
SiTech AI Team2 წთ. საკითხავი

MCP доводить агента до API, але не вирішує доступ на рівні полів сам

За допомогою MCP під'єднати AI-агента до внутрішнього API вже просто. Складне питання — які поля агент може читати й які дії виконувати, і це MCP насправді сам не вирішує.

2026 року, 29 вересня, на The New Stack опубліковано статтю засновника Apollo GraphQL Метта Дебергаліса: сьогодні під'єднати систему через MCP легко, але те, що агент може побачити після з'єднання, MCP сам не вирішує.

Доступність сьогодні легка, а видимість — ні

У статті наведено приклад команди операцій: співробітник просить асистента визначити, яке замовлення не встигне до строку відправлення, перевірити запас на інших складах і створити запити на переміщення там, де це покриє дефіцит. Процес потребує поточних замовлень, доступного запасу й зворотного запису.

Зробити внутрішній API доступним для агента можна, побудувавши MCP-сервер, але складне питання — на що він має право дивитися після підключення.

Чому очевидні рішення не розв'язують проблему

API керування замовленнями може повертати значно більше, ніж статус замовлення: персональні дані, фінансові деталі та дані про шахрайство, а також операційну інформацію, яка не повинна виходити за межі довіреної мережі. У звичайному застосунку це вирішує сервер: перевіряє права й повертає лише відповідне подання.

Агент ламає цю схему: інструмент, який передає все із зовнішньої системи, є ризиком безпеки. А фільтрування відповіді створює другу проблему: фінансовому відділу потрібне інше подання замовлень, підтримці — частина внутрішніх нотаток, інша команда під'єднує систему запасів, і накопичуються десятки дублювальних інструментів.

Контракт на рівні полів

Рішення, на думку автора, — контракт на рівні полів, який точно визначає, що може бачити й що робити кожен агент. MCP визначає виявлення та виклик інструментів, а контракт — межі доступу; потрібні обидва шари.

Як практичний шлях автор пропонує GraphQL: запит містить лише потрібні поля, наприклад status і shipBy, і у відповіді повертаються тільки вони. Якщо агент запитує чутливе поле, як-от internalFraudScore або customerSSN, сервер може відхилити запит або зробити ці поля недоступними. Правило належить самому полю.

Запис працює так само: лише право на читання не дозволить виконати роботу, а необмежений доступ дасть агенту змогу змінити запас, скасувати замовлення або повернути кошти. Окрема бізнес-дія, наприклад requestInventoryTransfer, постає як окрема операція: права перевіряють під час запуску, а наявність запасу й потрібні погодження перевіряє базовий сервіс. Змінювати бізнес-API не потрібно: шар ставиться поверх наявних REST, gRPC або SOAP сервісів.

Що це означає на практиці

Рекомендація не нейтральна: автор керує компанією-виробником GraphQL. Сам аргумент працює незалежно від конкретного інструмента: доступ агента потребує окремої, чітко визначеної межі між API та інструментом, на рівні кожного поля й кожної дії. За словами автора, такий контракт понад десять років працює в реальних системах і обслуговує мільярди транзакцій у компаніях, як-от Shopify, Netflix, Airbnb, Expedia Group і Walmart.

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.