# Редакция 2026-07-28: протокол без состояния

> 28 июля 2026 вышла редакция MCP 2026-07-28: без рукопожатия initialize и без сессий, с многошаговыми запросами, новыми заголовками, кэшем списков и расширениями.

Страница: https://mcpdoc.ru/blog/stateless-core-revision/
Указатель сайта: https://mcpdoc.ru/llms.txt

- **Рубрика:** Спецификация

- **Дата события:** 28 июля 2026

- **Опубликовано на сайте:** 4 октября 2026

- **Источник:** [github.com](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/blog/content/posts/2026-07-28-spec-ga/index.md)

Редакция `2026-07-28` спецификации MCP вышла 28 июля 2026: в этот день проект объявил о выпуске в своём блоге и опубликовал выпуск с такой меткой в репозитории спецификации. Главное в ней - протокол больше не хранит состояние: рукопожатия и сессий нет.

## Что изменилось

- Обмен `initialize`/`initialized` и заголовок `Mcp-Session-Id` убраны (SEP-2575, SEP-2567).
- Появился запрос `server/discover`. Для сервера он обязателен: по списку изменений сервер должен его реализовать. Для клиента он не обязателен: клиент может вызвать его перед любым другим запросом, но может и не вызывать.
- Многошаговые запросы, MRTR (SEP-2322), заменили запросы от сервера `elicitation/create`, `sampling/createMessage` и `roots/list`. Сервер возвращает `resultType: "input_required"`, клиент повторяет исходный вызов и прикладывает ответы в `inputResponses`.
- Запросы Streamable HTTP обязаны нести заголовки `Mcp-Method` и `Mcp-Name` (SEP-2243).
- Ответы `tools/list`, `prompts/list`, `resources/list` и `resources/read` несут поля `ttlMs` и `cacheScope` (SEP-2549).
- Уведомления об изменениях переехали с прежней точки HTTP GET в один поток `subscriptions/listen`. Клиент подписывается на каждый вид уведомлений отдельно.
- Закреплена модель расширений. Задачи вышли из экспериментального ядра в расширение `io.modelcontextprotocol/tasks` (SEP-2663).

Что объявлено устаревшим:

- Roots, Sampling и Logging (SEP-2577). Они работают и будут работать ещё не меньше двенадцати месяцев.
- Dynamic Client Registration - в пользу CIMD. Для обратной совместимости DCR продолжает работать.
- Старый транспорт HTTP+SSE: запись называет его официально устаревшим и отводит на уход год.

## Кого это касается

Авторов серверов: в новой редакции сервер обязан реализовать `server/discover`, а запросы Streamable HTTP приходят с заголовками `Mcp-Method` и `Mcp-Name`.

Авторов клиентов: вместо ответа на встречный запрос сервера клиент повторяет свой вызов с ответами в `inputResponses`.

Тех, кто выбирает SDK: по записи, в день выпуска на редакции `2026-07-28` работали все четыре SDK первого уровня (Tier 1) - TypeScript, Python, Go и C#. Rust SDK поддерживает новую редакцию в бета-версии.

Тех, кто пользуется Roots, Sampling, Logging, DCR или HTTP+SSE: они не выключены, но помечены устаревшими. Запись советует не брать Roots, Sampling и Logging в новые реализации.

## Как это выглядит сейчас

Правила работы без состояния собраны на странице [«Ядро без состояния»](https://mcpdoc.ru/protocol/stateless/), а запрос `server/discover` разобран на странице [«Обнаружение: server/discover»](https://mcpdoc.ru/protocol/discovery/). Что менять в своей программе, описано на странице [«Переход на редакцию 2026-07-28»](https://mcpdoc.ru/protocol/migration/). Сроки по устаревшим возможностям ведёт страница [«Что устарело в MCP»](https://mcpdoc.ru/protocol/deprecations/).

## Источники

- [Запись блога MCP о выпуске редакции 2026-07-28](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/blog/content/posts/2026-07-28-spec-ga/index.md)
- [Список изменений редакции 2026-07-28](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2026-07-28/changelog.mdx)
- [Выпуск 2026-07-28 в репозитории спецификации](https://github.com/modelcontextprotocol/modelcontextprotocol/releases/tag/2026-07-28)
