# Изменения и устаревшее

> Что изменилось в ревизии 2026-07-28 и какие возможности MCP признаны устаревшими. Страница нужна, чтобы отличать актуальные материалы от устаревших.

Ревизия MCP 2026-07-28 · проверено 03.10.2026 · https://mcpprotocol.ru/changes/

## Главное в ревизии 2026-07-28

Ревизия вышла 28 июля 2026 года и заменила 2025-11-25. Это самое существенное изменение протокола со времён появления авторизации, поэтому часть материалов о более ранних ревизиях устарела.

1. **Сессии удалены.** Заголовок `Mcp-Session-Id` убран из Streamable HTTP, списки больше не зависят от соединения. Состояние между вызовами передаётся явными идентификаторами, которые выдаёт сервер.
2. **Протокол без состояния.** Рукопожатие `initialize` удалено, каждый запрос несёт версию протокола и возможности клиента в `_meta`. Несовпадение версий даёт ошибку `UnsupportedProtocolVersion`.
3. **Метод `server/discover`.** Сервер обязан поддерживать его, клиент может вызвать до любых других запросов.
4. **Поток `subscriptions/listen`.** Он заменил отдельный адрес GET и подписку на ресурсы: клиент подписывается на нужные типы уведомлений.
5. **Удалены `ping`, `logging/setLevel` и `notifications/roots/list_changed`.** Уровень журнала задаётся в каждом запросе.
6. **Tasks вынесены в расширение** `io.modelcontextprotocol/tasks`: опрос через `tasks/get`, новый метод `tasks/update`, метод `tasks/list` удалён.
7. **Многошаговые запросы (MRTR)** заменили запросы сервера к клиенту для опроса пользователя, обращения к модели и получения каталогов.
8. **Обязательное поле `resultType`** в результатах: `complete` или `input_required`.
9. **Возобновление потока SSE удалено.** Прерванный ответ означает потерю запроса, клиент отправляет его заново с новым идентификатором.

## Остальные изменения

- Поле `extensions` в возможностях клиента и сервера для необязательных расширений.
- Договорённости об OpenTelemetry: поля `traceparent`, `tracestate`, `baggage` в `_meta`.
- Список инструментов должен отдаваться в стабильном порядке, чтобы клиенты могли его кэшировать.
- Заголовки `Mcp-Method` и `Mcp-Name` обязательны для запросов POST; через `x-mcp-header` можно выносить в заголовки параметры инструментов.
- Поля `ttlMs` и `cacheScope` обязательны в результатах списков и чтения ресурса.
- Код ошибки «ресурс не найден» заменён с `-32002` на `-32602`.
- Схемы `inputSchema` и `outputSchema` допускают любые ключевые слова JSON Schema 2020-12, структурированный результат может быть любым значением JSON.
- Уведомление об окончании запроса данных у пользователя удалено: клиент узнаёт результат, повторяя исходный запрос.
- Введена политика распределения кодов ошибок: диапазон от -32020 до -32099 зарезервирован за спецификацией.
- Изменения авторизации: параметр `iss`, `application_type` при динамической регистрации, привязка учётных данных клиента к серверу авторизации (подробности на странице [«Авторизация»](https://mcpprotocol.ru/authorization/)).

## Что устарело

Эти возможности остаются в спецификации, но запланированы к удалению. Минимальное окно — двенадцать месяцев. Новые реализации не должны их использовать.

**Устаревшие возможности MCP на ревизию 2026-07-28**

| Возможность | Что использовать вместо |
|---|---|
| Roots (корневые каталоги) [УСТАРЕЛО]устарело | Пути в параметрах инструментов, адреса ресурсов или настройки сервера |
| Sampling (сэмплинг) [УСТАРЕЛО]устарело | Прямая работа с интерфейсом поставщика модели |
| Logging (журналирование) [УСТАРЕЛО]устарело | Вывод в stderr для stdio или OpenTelemetry |
| Транспорт HTTP+SSE [УСТАРЕЛО]устарело | Streamable HTTP |
| Значения includeContext «thisServer» и «allServers» [УСТАРЕЛО]устарело | Не указывать поле или использовать «none»; значения удалят не позднее самого Sampling |
| Динамическая регистрация клиента (DCR) [УСТАРЕЛО]устарело | Документы метаданных клиента (CIMD); DCR остаётся для совместимости |

> Перечень устаревших возможностей ведётся в самой спецификации. Эта таблица отражает его на 03.10.2026.

## Как читать материалы о прежних ревизиях

Если в статье или документации встречаются перечисленные ниже понятия, она описывает ревизию 2025-11-25 или более раннюю:

**Признаки устаревшего описания**

| Признак в тексте | Что с ним теперь |
|---|---|
| Рукопожатие `initialize` и `initialized` | Удалено |
| Заголовок `Mcp-Session-Id`, «сессия MCP» | Удалены |
| Запросы `elicitation/create`, `sampling/createMessage`, `roots/list` от сервера | Заменены многошаговыми запросами |
| Метод `ping`, `logging/setLevel` | Удалены |
| Tasks как часть ядра, `tasks/result`, `tasks/list` | Вынесены в расширение, заменены опросом |
| Возобновление SSE по `Last-Event-ID` | Удалено |
| Регистрация клиентов через DCR как основной способ | Устарело в пользу CIMD |

