Создание или покупка инфраструктуры 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 должен оставаться источником истины для бизнес-правил и авторизации
- Предпочтительнее использовать сосредоточенный набор операций, чем создавать каждый инструмент вручную
- Предпочтительна аутентификация с прямым перенаправлением, чем отдельная система учетных данных
- Необходимы услуги хостинга тестов, логов, аналитики и версионирования
- Владение полным слоем хостинга и инфраструктуры не является приоритетом
Подход становится менее эффективным, если требуется локальный сервер stdio, код свободного формата, запускаемый на сервере, или любой другой способ передачи данных вместо Streamable HTTP. Командам с формальными требованиями к инфраструктуре, соответствию стандартам или доступности также следует тщательно изучить текущий диапазон возможностей продукта, поскольку 0mcp не предлагает ни формального SLA, ни официальной сертификации безопасности. Установление четких границ — это часть ответственного принятия решений. Платформу следует выбирать для решения конкретных задач, которые она действительно может решить, а не за способности, которые у нее никогда не были заявлены.
Пять вопросов, на которые следует ответить первыми
Является ли существующий API уже подходящим интерфейсом продукта? Четкие процедуры работы, схемы данных, механизмы аутентификации и полезные ответы делают рабочий процесс API-то-MCP хорошей отправной точкой. Если в API отсутствуют основные бизнес-операции, замена слоя MCP не поможет восполнить этот недостаток продукта.
Насколько большое количество пользовательского поведения требуется в рабочем процессе ИИ? Когда каждая функция четко соответствует операции API, платформа сокращает объем работ по реализации. Однако сложная оркестрация, новые бизнес-правила или агрегация данных, отсутствующие в API, могут потребовать разработки на заказ.
Кто будет управлять конечной точкой через шесть месяцев? Необходимо определить ответственного за решение проблем, управление учетными данными, изменения в API, качество инструментов, задержки и процедуры возврата к предыдущему состоянию. В отсутствие четкого ответственного еще один самоуправляемый сервис может принести больше рисков, чем пользы.
Какую модель развертывания нуждаются в клиенты? Если локальный stdio является обязательным, следует разрабатывать решение внутри организации или рассмотреть другую платформу.
Что должно охватываться механизмами контроля здесь? Он делится на несколько слоев: бизнес-правила, определение того, кто может просматривать какие данные, выбор предоставляемых функций, инфраструктура в основе и любой пользовательский код во время выполнения. Команда может сосредоточиться на первых трех слоях и передать остальные два другим специалистам.
Допускается гибридный подход
Выбор не обязательно должен быть окончательным или дихотомичным. Компания, использующая модель SaaS, может предоставлять простые функции, основанные на API, через платформу, одновременно разрабатывая пользовательские сервисы MCP для рабочих процессов с специализированной логикой. Таким образом она может выяснить, какие инструменты действительно нужны пользователям, прежде чем вкладывать средства в более крупную внутреннюю платформу, а также оставить первоначальный API и механизмы авторизации без изменений, пробуя новые решения в сфере искусственного интеллекта.
Важна четкая структура: список управляемых возможностей, список пользовательских, указанный владелец для каждой среды выполнения и согласованный способ тестирования изменений.
Настоящий вопрос — принадлежность
Выбор между самостоятельной разработкой и покупкой инфраструктуры MCP сводится к вопросу принадлежности. Разработка собственного сервера оправдана, когда необходимо пользовательское поведение, строгий контроль развертывания или стратегическое владение платформой, что стоит усилий по инженерной работе и операционному обслуживанию. Выбирайте управляемую платформу, когда существующий API уже содержит необходимые возможности для использования, и команда предпочтет сосредоточить усилия на его внедрении, а не на создании еще одного уровня инфраструктуры.