Створення чи придбання інфраструктури MCP: посібник з ухвалення рішень для команд SaaS
Порівняння внутрішнього сервера MCP з керованою платформою: реальне навантаження, автентифікація, рівні контролю, межі придатності, гібридний підхід та п’ять запитань, які потрібно вирішити спочатку.
Джерела: Build or Buy: How SaaS Teams Should Approach MCP Infrastructure
Для компанії типу SaaS перше рішення щодо MCP зазвичай постає у вигляді технічного запитання: чи слід команді створити власний сервер MCP, чи орендувати керовану платформу? Більш конкретне запитання — які етапи життєвого циклу MCP компанія хоче контролювати.
Створення сервера власними силами дає команді повний контроль над кодом, його поведінкою під час роботи, місцем розгортання та аспектами безпеки. Це також створює постійну відповідальність за розробку інструментів, обробку автентифікації, хостинг, тестування, моніторинг, реагування на інциденти, відстеження змін у API та версіонування. Керована платформа дозволяє відмовитися від частини контролю над реалізацією в обмін на швидший доступ до хостованого сервера та меншу кількість інфраструктури для утримання.
Жоден з варіантів за замовчуванням не є правильним. Вибір залежить від наявної API, можливостей, які потрібно зробити доступними, типу кінцевих точок, яких очікують клієнти, та кількості часу на розробку, що залишається після запуску.
Що насправді охоплює це рішення
Сервер MCP — це більше, ніж просто набір функцій-обробників. Це інтерфейс для роботи з ШІ, вбудований у існуючий продукт, і повне рішення може включати:
- перетворення операцій API на інструменти, ресурси чи запити
- створення назв, описів та схем вхідних даних
- надсилання ключів API, токенів Bearer чи облікових даних OAuth під час виконання
- розгортання кінцевої точки, до якої можуть під’єднатися клієнти
- тестування процесу виявлення, викликів, некоректних даних та процедур автентифікації
- збір журналів та даних про використання
- боротьба з помилками та змінами у вищестоячих API
Команда, яка оцінює вартість лише створення першого сервера, може недооцінити всі витрати на його розробку. Команда, яка враховує лише зручність керованого сервісу, може не помітити втрати контролю та прав власності на продукт.
Розробка власними силами: повний контроль, постійна власність
Самостійне написання сервера має сенс, коли MCP стає ключовою частиною стратегії платформи. Тоді команда вирішує:
- як реалізовувати кожну функціональність
- чи інструмент має обробляти один виклик API чи координувати кілька кроків
- як забезпечувати автентифікацію та права доступу
- який спосіб передачі даних та яка конфігурація хостингу обрати
- як формувати повідомлення про помилки для клієнтів
- що записувати в журнал та що приховувати
- як інтегрувати сервер у внутрішні системи розгортання та безпеки
Такий контроль є корисним тоді, коли шар MCP мусить виконувати завдання, які неможливо здійснити за допомогою готових рішень для перетворення API у MCP. Він також підходить для організацій, які вже мають команду з розробки платформи, що відповідає за спільні середовища виконання, можливості моніторингу, дотримання стандартів та реагування на інциденти.
Однак відповідальність триває значно довше, ніж протягом першої реалізації. Сервер потрібно підтримувати протягом усього часу, поки продукт продовжує змінюватися.
Справжня навантаженість внутрішнього сервера
Інженерія
На початковому етапі можуть бути такі завдання, як вибір SDK MCP, відповідність операцій API, визначення схем інструментів, переклад запитів та написання тестів. Більш складні сценарії вимагають створення власних механізмів оркестрації, обробки стану, повторних спроб, пагінації та формування відповідей.
Зусилля зростають у міру збільшення розміру API, а також тоді, коли робочий процес, орієнтований на ШІ, не повністю узгоджується з окремими кінцевими точками. Написати простий обгорток легко, тоді як добре спроєктований інтерфейс продукту може вимагати значно більше часу.
Хостинг та розгортання
Сервер має працювати там, де можуть до нього дістатися клієнти MCP. Команда обирає спосіб передачі даних, налаштовує змінні середовища та мережеве з’єднання, вирішує проблеми масштабування та втручається, коли з’єднання чи виклики до верхнього рівня перериваються. Процес випуску також має значення. Сервер, який працює лише на ноутбуці одного інженера, є прототипом, а не надійною інтеграцією.
Аутентифікація та обробка даних
Під час роботи системи правильний API-ключ, токен Bearer або облікові дані OAuth мають надійти до базового API, і ці секрети потребують ретельного оброблення, періодичної заміни, визначення обмежень та чітко встановленої поведінки у разі збоїв. Також хтось має вирішити, які метадані запитів, результати та деталі помилок будуть записуватися в журнали, що впливає як на модель безпеки, так і на експлуатаційні витрати.
Тестування та можливість спостереження
Набір тестів має перевіряти можливості підключення, виявлення структур даних, правильні та неправильні вхідні дані, відхилення авторизації, проблеми на вищих рівнях, таймаути та спосіб обробки відповідей. Після запуску має існувати достатньо телеметричних даних, щоб відповісти на такі запитання:
- Які інструменти використовуються?
- Які операції найчастіше зазнають невдач?
- Чи походить затримка від сервера MCP чи від самого API?
- Чи надсилають клієнти некоректні вхідні дані?
- Чи змінила якась версія API поведінку існуючого інструменту?
Або команда створює це самостійно, або поєднує кілька існуючих систем.
Технічне обслуговування та версіонування
Основний API буде змінюватися. Змінюються параметри, деякі операції виходять з ужитку, правила безпеки посилюються, а схеми відповідей отримують або втрачають поля, тож конфігурація MCP мусить адаптуватися під це. Для зрілої системи необхідні перевірка коду, тестові середовища, версіоноване розгортання, можливість скасування змін та звичка підтримувати точність описів інструментів.
Внутрішнє розроблення забезпечує контроль, але ціною є необхідність брати на себе відповідальність за кожне з цих рішень протягом усього терміну існування інтеграції.
Керовані платформи: менше інфраструктури для підтримки
Керована платформа MCP ґрунтується на іншій концепції. У компанії, що пропонує SaaS-рішення, вже є API, і вона хоче, щоб лише обрані функції були доступні через клієнтів MCP, не бажаючи створювати повний рівень операцій. Зазвичай процес виконання завдань пройшовши через такі етапи:
- імпортувати визначення API
- виявити доступні операції
- обрати функціонал, який потрібно зробити доступним
- налаштувати інструменти, ресурси та запити
- розмістити кінцеву точку MCP
- протестувати інтерфейс
- контролювати та оновлювати конфігурацію
Платформа не бере на себе функції SaaS-продукту. Бізнес-логіка, права користувачів, межі тенантів, пагінація та обмеження швидкості залишаються у оригінальному API. Зменшується лише обсяг роботи з інфраструктурою, пов’язаної з інтерфейсом MCP.
Відповідальність за елементи
- Мапування API. Усередині компанії команда пише та підтримує шар перекладу. На платформі вона імпортує визначення API та перевіряє виявлені операції.
Отже, порівняння полягає не у коді проти відсутності коду, а у інфраструктурі, якою володіє команда, проти інфраструктури, якою керує хтось інший.
Приклад керованого шляху: 0mcp
0mcp — це платформа, призначена для команд SaaS із наявною визначенням API, які хочуть мати хостований сервер MCP без необхідності керування всією стеком MCP. Її робочий процес включає:
- імпорт підтримуваної визначення Swagger або OpenAPI, або колекції Postman
- виявлення кінцевих точок та операцій
- вибір функцій API, які стають доступними
- створення або коригування інструментів, ресурсів та запитів
- перефразування назв та описів функцій
- тестування хостованого сервера
- надсилання ключа API, токена Bearer або облікових даних OAuth до оригінального API
- зберігання версій конфігурації, перегляд змін та відновлення попередньої версії
Він надає послуги генерованого сервера через Streamable HTTP та самостійно здійснює його хостинг. Наразі не підтримуються локальні сервери MCP типу stdio. Це краще підходить командам, яким потрібен хостований віддалений кінцевий пункт, ніж командам, для яких основною потребою є локальний процес поруч із десктопним додатком.
Яку автентифікацію платформа може та не може замінити
Керована платформа ніколи не повинна замінювати модель авторизації всередині API SaaS. API продовжує вирішувати, чи є облікові дані дійсними, якому користувачеві вони належать, які записи він може читати та які дії може виконувати.
За допомогою 0mcp облікові дані надходять через клієнт MCP та передаються до оригінального API з кожним запитом, причому платформа їх не зберігає. Команда все одно мусить належним чином налаштувати автентифікацію API, використовувати облікові дані з мінімальними правами та тестувати відхилені запити.
Контроль має різний ступінь
Звичайна заперечення щодо керованої платформи — це втрата контролю. Ця турбота є обґрунтованою, але її потрібно уточнити. З самостійно побудованим сервером команда контролює деталі реалізації. З такою платформою вона контролює вибір функцій, які платформа підтримує для користувачів:
- які операції API є доступними
Він не контролює довільний код, який виконується під час роботи платформи, і платформа не є заміною для користувацької бізнес-логіки. Робочий процес, який потребує спеціальної організації виконання, яку не підтримує існуючий API, краще розробити власноруч.
Цей поділ є корисним сам по собі. Функціональні можливості, які базуються на API, можуть бути розміщені у керованому сервісі, тоді як користувацький код призначений для тих частин продукту, які його дійсно потребують.
Ситуації, коли краще розробляти власно
Розробляйте власноруч, якщо справедливі кілька з наступних умов:
- MCP є стратегічною функціональністю, яку компанія хоче глибоко опанувати.
- Інструменти мають працювати так, щоб це виходило за межі простого копіювання існуючих операцій API.
stdio або механізм передачі даних, якого бракує у платформі.Створення власного рішення не робить його автоматично безпечнішим чи надійнішим. Це дозволяє команді спроектувати такі властивості, але їх все одно потрібно послідовно реалізувати та експлуатувати.
Ситуації, коли краще використовувати платформу
Керована платформа, подібна до цієї, є практичним рішенням у таких випадках:
- продукт вже надає корисні можливості API
- команда хоче якнайшвидше отримати сервер MCP у хостингу
- існуючий API має залишатися джерелом істини для бізнес-правил та авторизації
- краще використовувати зосереджений набір операцій, ніж створювати кожен інструмент вручну
- краще використовувати механізм автентифікації типу pass-through, ніж окрему систему облікових даних
- необхідні послуги хостингу тестів, журналів подій, аналітики та версіонування
- не потрібно контролювати весь рівень хостингу та інфраструктури
Підходженість знижується, якщо потрібен локальний сервер stdio, код у вільному форматі, який працює на сервері, або будь-який інший спосіб передачі даних, окрім хостованого Streamable HTTP. Команди з формальною інфраструктурою, вимогами щодо конформності чи доступності також повинні уважно перевірити поточний діапазон можливостей продукту, оскільки 0mcp не пропонує ні формальних умов обслуговування, ні офіційних сертифікатів безпеки. Визначення таких меж є частиною відповідального рішення. Платформу слід обирати за те, що вона дійсно може вирішити, а не за функції, які їй ніколи не претендували приписувати.
П’ять запитань, на які потрібно відповісти спочатку
Чи є існуючий API вже правильним інтерфейсом продукту? Чіткі операції, схеми, механізми автентифікації та корисні відповіді роблять процес переходу від API до MCP міцною відправною точкою. Якщо основні бізнес-операції відсутні в API, зміна шару MCP не заповнить цю прогалину продукту.
Скільки коригувань поведінки потребує робочий процес ШІ? Коли кожна функція чітко відповідає операції API, це скорочує обсяг роботи з реалізації. Складна оркестрація, нові бізнес-правила чи агрегація даних, яких бракує в API, можуть вимагати індивідуальної розробки.
Хто буде керувати кінцевою точкою через шість місяців? Вкажіть відповідальну особу за інциденти, облікові дані, зміни в API, якість інструментів, затримки та відкати. Без чіткого власника ще один самокерований сервіс може створити більше ризиків, ніж користі.
Яку модель розгортання потребують клієнти? Якщо місцевий stdio є обов’язковим, розробляйте його власноруч або розгляньте іншу платформу.
Що має контролювати цей механізм? Він складається з кількох шарів: бізнес-правила, визначення того, хто може бачити які дані, вибір доступних функцій, інфраструктура в основі та будь-який спеціальний код під час виконання. Команда може опікуватися першими трьома шарами та передати роботу з іншими двома іншій стороні.
Допускається гібридний підхід
Вибір не обов’язково має бути остаточним чи або-або. Компанія типу SaaS може надавати прості функції, підтримувані API, через платформу, водночас створюючи спеціалізовані сервіси MCP для робочих процесів із складною логікою. Вона може з’ясувати, які інструменти насправді потрібні користувачам, перш ніж інвестувати у більш масштабну внутрішню платформу, а також залишити оригінальний API та його механізми авторизації недоторканими, пробуючи нові рішення у сфері штучного інтелекту.
Важливо мати чіткі межі: список керованих можливостей, список власних, визначеного власника для кожного середовища виконання та узгоджений спосіб тестування змін.
Справжнє питання — це власність
Вибір між створенням та купівлею інфраструктури MCP зводиться до питання власності. Самостійне написання сервера є обґрунтованим, коли власна логіка функціонування, суворий контроль розгортання чи стратегічна власність платформи варті зусиль з інженерії та операційного управління. Вибирайте керовану платформу, коли існуючий API вже містить потрібні можливості для використання, а команда краще спрямує свої зусилля на її впровадження, ніж на утримання ще одного рівня інфраструктури.