21 мая команда Model Context Protocol опубликовала release candidate спецификации 2026-07-28 — по их же формулировке, самую большую ревизию протокола с момента запуска. Финальная версия выходит 28 июля, между RC и релизом — десять недель, за которые мейнтейнеры SDK и клиентов должны прогнать изменения на реальных нагрузках.
Главное изменение: протокол стал stateless на уровне ядра. Исчезают хендшейк initialize и заголовок Mcp-Session-Id; метаданные клиента едут в _meta в каждом запросе. Практический эффект — удалённый MCP-сервер, которому раньше нужны были sticky-сессии, общее хранилище состояния и разбор тела запроса на гейтвее, теперь живёт за обычным round-robin балансировщиком. Транспорт Streamable HTTP требует заголовки Mcp-Method и Mcp-Name, чтобы гейтвеи и rate-limiter'ы маршрутизировали и считали лимиты, не заглядывая внутрь JSON-RPC. Ответы на list- и read-запросы теперь несут ttlMs и cacheScope: клиент может законно кэшировать tools/list.
Из расширений добавились два заметных. MCP Apps позволяет серверу отдавать интерактивный HTML-интерфейс, который клиент рендерит в песочнице-iframe, — при этом действия из UI идут тем же JSON-RPC путём, что и обычные вызовы инструментов, то есть попадают в тот же аудит-лог. Tasks выехал из экспериментального ядра в официальное расширение и переехал на stateless-модель: жизненным циклом длинной задачи управляет клиент через tasks/get, tasks/update и tasks/cancel. Отдельно подтянули авторизацию — шесть правок в сторону OAuth 2.0 и OpenID Connect, включая обязательную проверку параметра iss и объявление application_type. Ещё зафиксировали W3C Trace Context в _meta, так что распределённые трейсы наконец сшиваются между SDK и гейтвеями.
Что делать тем, кто уже держит MCP-серверы в проде. Во-первых, релиз ломающий — планируйте окно на миграцию SDK, а не «обновимся как-нибудь». Во-вторых, если ваша инфраструктура держалась на sticky-сессиях, это шанс её упростить: убрать привязку к инстансу, вынести кэш tools/list на клиента, разгрузить гейтвей. В-третьих, если у вас MCP-сервер как продукт — сейчас удачный момент прогнать RC на стейджинге и отдать баг-репорты, пока десятинедельное окно не закрылось.
Отдельная заметка для тех, кто пишет клиентов: кэширование списков инструментов через ttlMs меняет поведение агента в рантайме. Инструмент, который сервер уже снял с публикации, может ещё жить в кэше клиента — обработку «инструмент исчез» придётся писать явно.
Комментарии