Написано 5 августа 2026 года. Обновлено 19 августа 2026 года. Это единственная страница цикла, которую я собираюсь поддерживать в актуальном виде: редакции только добавляются. Если после указанной даты вышла новая редакция, а в таблице её нет, — отстала таблица, а не спецификация.

Четвёртая часть цикла: справочная страница
Model Context Protocol двадцать месяцев, и за это время у него было пять редакций спецификации. Они рассыпаны по трём моим же статьям, а это плохое место для списка, поэтому вот они в одной таблице.
Собирать их стоит не ради аккуратности. Дело в том, что форма списка приводит довод, которого не приводит ни одна отдельная строка, и довод такой: читайте не добавленное, а убранное. Все, кто публикует список изменений, хотят, чтобы вы смотрели в левую колонку. Правая — это то место, где протокол сам говорит, в чём ошибся.
Таблица
Таблица
У каждой редакции ниже свой якорь, чтобы можно было сослаться на строку, а не на страницу.
| Редакция | Добавлено | Забрано обратно | Что это значило |
|---|---|---|---|
| 2024-11-05 | JSON-RPC как формат сообщений; два транспорта — stdio и HTTP+SSE; три вещи, которые может предложить сервер: инструменты, ресурсы, промпты | — | Основание. Забирать пока нечего |
| 2025-03-26 | Авторизация OAuth 2.1; транспорт Streamable HTTP; батчинг | HTTP+SSE, объявлен устаревшим | Транспорт оказался неверным за пять месяцев |
| 2025-06-18 | Структурированный ответ рядом с текстом, который возвращает инструмент | Батчинг, не проживший и трёх месяцев | Возможность, на которой ничего не стояло |
| 2025-11-25 | Иконки; значения по умолчанию в схемах; JSON Schema 2020-12 | Ничего, что отражено в списке изменений | Единственная тихая редакция из пяти |
| 2026-07-28 | Отдельный вызов «расскажи, что умеешь»; ответ «нужны данные»; подсказки кэширования; заголовки с маршрутной информацией для посредника | Сессии; открывающее рукопожатие; восстановление оборванного потока. Объявлено устаревшим с годом на переход: обращение сервера к модели, доступ к папкам, логирование на уровне протокола, динамическая регистрация клиента | Основы, переписанные на двадцатом месяце |

Те же пять редакций как форма: под осью пусто в начале и густо в конце
2024-11-05
2024-11-05
Базовая редакция, опубликованная на три недели раньше анонса, который сделал её публичной, — отсюда расхождение между строками версий и датой запуска. JSON-RPC в качестве конверта: формат, вторая версия которого вышла в 2010-м и не менялась с 2013-го, взят с полки именно потому, что спорить в нём уже не о чем. Два транспорта. И отход от всего, что было раньше: список возможностей запрашивается во время работы программы, а не читается заранее программистом.
В первой редакции ничего не забирают, но стоит заметить, что в ней уже было, — потому что две вещи из трёх тихо перестали иметь значение. Серверы поставляют инструменты. Ресурсы и промпты существуют и встречаются редко, у меня в том числе.
2025-03-26
2025-03-26
На пятом месяце заменяется транспорт. Появляется Streamable HTTP — один адрес, в который пишут и из которого читают, умеющий держать соединение открытым, — а HTTP+SSE, использовавший два адреса, с этой редакции устарел. Если руководство, которое вы читаете, использует два адреса, оно устарело и в остальном.

Транспорт, который заменили, и тот, что пришёл на смену
В той же редакции приходит OAuth 2.1 с обязательным PKCE — момент, когда MCP перестаёт быть удобством для локальной машины и становится тем, что можно выставить наружу. И приходит батчинг, ради строки о котором эта страница отчасти и существует.
2025-06-18
2025-06-18
Структурированный ответ: инструмент теперь может вернуть второй регистр рядом с прозой — один для чтения моделью, другой для действий программы. Полезно, недраматично.
И убирается батчинг, не проживший трёх месяцев. Это самый дешёвый урок во всём списке и первое, что я показал бы человеку, собирающемуся строить на молодом протоколе. Возможность, которая вышла в марте и удалена в июне, никогда не была несущей. На ней ничего не построили, поэтому ничего и не сломалось, и спецификация могла свободно признать ошибку. Именно эта свобода потом заканчивается.
2025-11-25
2025-11-25
Иконки, значения по умолчанию в схемах и переход на JSON Schema 2020-12. Хозяйственные работы. Судя по списку изменений, забрано здесь ничего не было, и это делает данную редакцию единственной из пяти, которая читается как нормальный релиз устоявшегося протокола.
Я всё равно включаю её в таблицу: таблица из одних драматичных редакций врала бы о темпе. Четыре редакции из пяти за двадцать месяцев изменили что-то структурное. Одна — нет.
2026-07-28
2026-07-28
Самая большая переработка за историю протокола, и список изменений читается как одно движение: убрано всё, что предполагало, что две стороны помнят друг друга.
Сессий больше нет, а вместе с ними нет и рукопожатия, которым открывалось каждое соединение. Состояние переезжает в аргументы, которые сервер сам же и выдаёт: клиент возвращает то, что ему дали, и ответить может любой экземпляр сервера. Версия и возможности, о которых раньше договаривались один раз, теперь едут в каждом запросе. Восстановление оборванного потока тоже убрано — раньше клиент переподключался и просил то, что пропустил, теперь спрашивает заново с начала. Протокол проще, повторной работы больше; этот размен редакция совершает раз за разом.

Что забрала редакция 28 июля
Простыми словами: MCP стал stateless. Это второе ограничение REST по Филдингу, принятое с опозданием на двадцать месяцев протоколом, который начинал с противоположной посылки. Всё остальное в редакции из этого следует. Подсказки кэширования — потому что серверу без памяти можно сказать, что переспрашивать пока не нужно. Маршрутные заголовки — потому что прокси должен уметь направить запрос, не разбирая тело, а в MCP любой вызов идёт на один и тот же адрес со словами tools/call, и снаружи все конверты выглядят одинаково. Это те свойства, которые добавляют, когда протоколу предстоит встреча с обычной инфраструктурой.
Четыре возможности не удалены, а объявлены устаревшими, с годом на переход: обращение сервера к модели, доступ к папкам, логирование на уровне протокола и динамическая регистрация клиента. У первых трёх общее одно — каждая предполагала долгие отношения между двумя процессами. Четвёртая была самой удобной частью потока авторизации и самой злоупотребляемой.
28 июля ничего не сломалось. Редакция вышла как Release Candidate, а не как окончательный стандарт, реализующие её SDK — в бете, серверы под сессионную модель продолжают работать. Неприятная половина того же факта: руководства продолжают учить рукопожатию, и разрыв между тем, что написано в спецификации, и тем, что делают инструменты, сейчас самый широкий за всю историю протокола.
О чём говорит форма списка
О чём говорит форма списка
Возможность, удалённая на седьмом месяце, — это исправление. Переписывание основ на двадцатом означает, что основы были неверны, а это новость другого рода.
Моё прочтение, и с ним можно спорить: разворот запоздалый и правильный. Сессии в протоколе, который живёт между двумя чужими процессами, были ошибкой с самого начала. Стороны выкатываются, перезапускаются, масштабируются и обновляются по разным расписаниям, а общая память между ними — обязательство, которое в итоге всегда несёт кто-то один.
Практический вывод для тех, кто строит сейчас, — не «подождите». Вывод такой: закладывайте переписывание. Пять редакций за двадцать месяцев, последняя убрала основы. Что бы вы ни выпустили в этом квартале, планируйте вернуться к этому в течение года — с той поправкой, что направление движения обнадёживает: в сторону упрощения, а не наоборот.
Версия для копирования
Версия для копирования
Чтобы вставить в issue или в чат, где скриншот бесполезен:
1Редакции спецификации MCP (на 19 августа 2026)
2
32024-11-05 добавлено: JSON-RPC; stdio + HTTP+SSE; инструменты/ресурсы/промпты
4 убрано: —
52025-03-26 добавлено: OAuth 2.1; Streamable HTTP; батчинг
6 убрано: HTTP+SSE (устарел)
72025-06-18 добавлено: структурированный ответ
8 убрано: батчинг (не прожил 3 месяцев)
92025-11-25 добавлено: иконки; значения по умолчанию в схемах; JSON Schema 2020-12
10 убрано: —
112026-07-28 добавлено: отдельный вызов «что умеешь»; ответ «нужны данные»;
12 подсказки кэширования; маршрутные заголовки
13 убрано: сессии; рукопожатие; восстановление потока
14 устарело (год на переход): обращение сервера к модели; доступ к
15 папкам; логирование на уровне протокола; динамическая
16 регистрация клиентаЧего я не утверждаю
Чего я не утверждаю
Таблица перечисляет, что изменилось, а не всё, что изменилось. В каждой редакции есть хозяйственные мелочи, которые я не включил, решив, что на строку о них никто не сошлётся; это моё решение, и с ним можно не согласиться. Там, где написано «забрано ничего», имеется в виду, что в списке изменений ничего не отражено, а не что я построчно сличил тексты спецификаций.
Первоисточник в одном клике, и проверять надо его, а не меня. Страницу буду обновлять по мере выхода редакций — это единственное написанное мной про MCP, что не протухает.
Материал собран из трёх больших статей: откуда взялись MCP и REST, сколько MCP стоит в токенах и из чего на самом деле сделан MCP-сервер.
Источники
Источники
Спецификация MCP публикуется на modelcontextprotocol.io; здесь использованы редакции 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25 и 2026-07-28, а также официальный список изменений последней из них. Roy Fielding, Architectural Styles and the Design of Network-based Software Architectures (2000), глава 5, — про ограничение statelessness. Обновлено 19 августа 2026 года.