MCP в продакшене: паттерны интеграции, которые масштабируются
Разрыв между демкой и деплоем
Демки MCP выглядят магически. За последние четыре месяца я развернул MCP-архитектуры в трёх enterprise-средах. Протокол сам по себе элегантен. Проблемы продакшена — всё вокруг него: надёжность транспорта, аутентификация, наблюдаемость и удивительно сложная задача оркестрации нескольких MCP-серверов одновременно.
Выбор транспорта: stdio vs. SSE vs. WebSocket
stdio — транспорт по умолчанию, идеален для локальной разработки. Проблема: жизненный цикл сервера привязан к клиентскому процессу. HTTP с SSE — рабочая лошадка продакшена — обеспечивает независимость процессов и горизонтальное масштабирование. WebSocket нужен только когда серверу требуется отправлять проактивные сообщения.
Аутентификация и авторизация
Используем трёхуровневую модель: аутентификация транспорта (mTLS), аутентификация сессии (сессионный токен) и авторизация на уровне инструментов (ACL на инструмент). Реализация всех трёх уровней добавляет около 2-3 дней разработки на MCP-сервер.
Оркестрация нескольких серверов
Используем паттерн роутер-прокси. MCP-роутер агрегирует списки инструментов, маршрутизирует вызовы и обрабатывает health checks. Пинг каждого бэкенд-сервера каждые 30 секунд — три последовательных сбоя удаляют из таблицы маршрутизации.
Обработка ошибок в масштабе
Частота ошибок: 3-8% в нормальной работе, 15-20% во время инцидентов. Транзиентные сетевые ошибки (~40%) автоматически повторяются. Ошибки валидации (~25%) нет — возвращается понятное сообщение. ИИ нужно понимать причину сбоя, а не только сам факт.
Наблюдаемость
Отслеживать задержку вызовов инструментов, частоту ошибок, здоровье серверов. Распространять trace ID от клиента через роутер к бэкенд-серверам.
Эволюция схемы инструментов
Версионировать имена инструментов (query_customers_v2). Роутер обрабатывает версионную маршрутизацию. Поддерживать обратную совместимость минимум один релизный цикл.
MCP — правильная абстракция для интеграции AI-инструментов, но продакшен требует серьёзной работы над инфраструктурой.