От монолита до MCP: как Model Context Protocol изменил нашу архитектуру
Мы начинали как REST API с 10 эндпоинтами. Сейчас у нас 70 MCP-инструментов через 3 сервиса с тройным транспортом. MCP дал нам то, чего REST не мог: стандартный способ для AI самостоятельно находить и использовать инструменты. AI становится клиентом, а не вами.
От монолита до MCP: как Model Context Protocol изменил нашу архитектуру
REST API отлично работает, когда клиент — человек. Когда клиент — AI, нужен другой протокол.
Почему REST недостаточно для AI
REST API работает так: разработчик читает документацию, пишет код интеграции, хардкодит эндпоинты. Работает идеально для веб-приложений.
Но когда ваш «клиент» — это LLM, который должен сам решить, какой инструмент вызвать:
- REST не имеет стандартного tool discovery
- Нет встроенного описания параметров для AI
- Каждая интеграция — это кастомный код
- Batch, streaming, cost estimation — всё отдельно
Что даёт MCP
Model Context Protocol — это стандарт от Anthropic для взаимодействия AI с внешними инструментами.
Tool Discovery
GET /api/tools → полный каталог с JSON Schema для каждого параметра
AI получает список всех 70 инструментов с описаниями, типами параметров, ограничениями — и сам выбирает, что вызвать.
Стандартизированная схема
Каждый инструмент описан одинаково:
- name — уникальный идентификатор
- description — что делает (с подсказками стоимости)
- inputSchema — JSON Schema параметров
- outputSchema — формат результата
Три транспорта
stdio для локальных клиентов, HTTP для веба, SSE для стриминга — один и тот же набор инструментов через любой протокол.
Наша миграция
До: REST Monolith
- 10 эндпоинтов с захардкоженной логикой
- Каждый фронтенд-компонент знает конкретный URL
- Добавить инструмент = добавить роут + контроллер + документацию
После: MCP Architecture
- 70 инструментов через BaseToolHandler
- AI сам выбирает инструменты по описанию
- Добавить инструмент = добавить handler класс + регистрация одной строкой
Ключевое изменение мышления
REST: вы проектируете API для разработчика, который напишет код.
MCP: вы проектируете API для AI, который сам решит, когда и что вызвать.
Это меняет всё — от именования до описаний, от структуры параметров до формата ошибок. AI нужны чёткие описания, cost hints, примеры — вещи, которые в REST документации, а в MCP — прямо в схеме.
MCP — не серебряная пуля. Но для AI-first продуктов это лучший стандарт, который сейчас существует.