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

Четвёртая часть цикла: справочная страница

Четвёртая часть цикла: справочная страница

Model Context Protocol двадцать месяцев, и за это время у него было пять редакций спецификации. Они рассыпаны по трём моим же статьям, а это плохое место для списка, поэтому вот они в одной таблице.

Собирать их стоит не ради аккуратности. Дело в том, что форма списка приводит довод, которого не приводит ни одна отдельная строка, и довод такой: читайте не добавленное, а убранное. Все, кто публикует список изменений, хотят, чтобы вы смотрели в левую колонку. Правая — это то место, где протокол сам говорит, в чём ошибся.

Таблица

У каждой редакции ниже свой якорь, чтобы можно было сослаться на строку, а не на страницу.

РедакцияДобавленоЗабрано обратноЧто это значило
2024-11-05JSON-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

Базовая редакция, опубликованная на три недели раньше анонса, который сделал её публичной, — отсюда расхождение между строками версий и датой запуска. JSON-RPC в качестве конверта: формат, вторая версия которого вышла в 2010-м и не менялась с 2013-го, взят с полки именно потому, что спорить в нём уже не о чем. Два транспорта. И отход от всего, что было раньше: список возможностей запрашивается во время работы программы, а не читается заранее программистом.

В первой редакции ничего не забирают, но стоит заметить, что в ней уже было, — потому что две вещи из трёх тихо перестали иметь значение. Серверы поставляют инструменты. Ресурсы и промпты существуют и встречаются редко, у меня в том числе.

2025-03-26

На пятом месяце заменяется транспорт. Появляется Streamable HTTP — один адрес, в который пишут и из которого читают, умеющий держать соединение открытым, — а HTTP+SSE, использовавший два адреса, с этой редакции устарел. Если руководство, которое вы читаете, использует два адреса, оно устарело и в остальном.

Транспорт, который заменили, и тот, что пришёл на смену

Транспорт, который заменили, и тот, что пришёл на смену

В той же редакции приходит OAuth 2.1 с обязательным PKCE — момент, когда MCP перестаёт быть удобством для локальной машины и становится тем, что можно выставить наружу. И приходит батчинг, ради строки о котором эта страница отчасти и существует.

2025-06-18

Структурированный ответ: инструмент теперь может вернуть второй регистр рядом с прозой — один для чтения моделью, другой для действий программы. Полезно, недраматично.

И убирается батчинг, не проживший трёх месяцев. Это самый дешёвый урок во всём списке и первое, что я показал бы человеку, собирающемуся строить на молодом протоколе. Возможность, которая вышла в марте и удалена в июне, никогда не была несущей. На ней ничего не построили, поэтому ничего и не сломалось, и спецификация могла свободно признать ошибку. Именно эта свобода потом заканчивается.

2025-11-25

Иконки, значения по умолчанию в схемах и переход на JSON Schema 2020-12. Хозяйственные работы. Судя по списку изменений, забрано здесь ничего не было, и это делает данную редакцию единственной из пяти, которая читается как нормальный релиз устоявшегося протокола.

Я всё равно включаю её в таблицу: таблица из одних драматичных редакций врала бы о темпе. Четыре редакции из пяти за двадцать месяцев изменили что-то структурное. Одна — нет.

2026-07-28

Самая большая переработка за историю протокола, и список изменений читается как одно движение: убрано всё, что предполагало, что две стороны помнят друг друга.

Сессий больше нет, а вместе с ними нет и рукопожатия, которым открывалось каждое соединение. Состояние переезжает в аргументы, которые сервер сам же и выдаёт: клиент возвращает то, что ему дали, и ответить может любой экземпляр сервера. Версия и возможности, о которых раньше договаривались один раз, теперь едут в каждом запросе. Восстановление оборванного потока тоже убрано — раньше клиент переподключался и просил то, что пропустил, теперь спрашивает заново с начала. Протокол проще, повторной работы больше; этот размен редакция совершает раз за разом.

Что забрала редакция 28 июля

Что забрала редакция 28 июля

Простыми словами: MCP стал stateless. Это второе ограничение REST по Филдингу, принятое с опозданием на двадцать месяцев протоколом, который начинал с противоположной посылки. Всё остальное в редакции из этого следует. Подсказки кэширования — потому что серверу без памяти можно сказать, что переспрашивать пока не нужно. Маршрутные заголовки — потому что прокси должен уметь направить запрос, не разбирая тело, а в MCP любой вызов идёт на один и тот же адрес со словами tools/call, и снаружи все конверты выглядят одинаково. Это те свойства, которые добавляют, когда протоколу предстоит встреча с обычной инфраструктурой.

Четыре возможности не удалены, а объявлены устаревшими, с годом на переход: обращение сервера к модели, доступ к папкам, логирование на уровне протокола и динамическая регистрация клиента. У первых трёх общее одно — каждая предполагала долгие отношения между двумя процессами. Четвёртая была самой удобной частью потока авторизации и самой злоупотребляемой.

28 июля ничего не сломалось. Редакция вышла как Release Candidate, а не как окончательный стандарт, реализующие её SDK — в бете, серверы под сессионную модель продолжают работать. Неприятная половина того же факта: руководства продолжают учить рукопожатию, и разрыв между тем, что написано в спецификации, и тем, что делают инструменты, сейчас самый широкий за всю историю протокола.

О чём говорит форма списка

Возможность, удалённая на седьмом месяце, — это исправление. Переписывание основ на двадцатом означает, что основы были неверны, а это новость другого рода.

Моё прочтение, и с ним можно спорить: разворот запоздалый и правильный. Сессии в протоколе, который живёт между двумя чужими процессами, были ошибкой с самого начала. Стороны выкатываются, перезапускаются, масштабируются и обновляются по разным расписаниям, а общая память между ними — обязательство, которое в итоге всегда несёт кто-то один.

Практический вывод для тех, кто строит сейчас, — не «подождите». Вывод такой: закладывайте переписывание. Пять редакций за двадцать месяцев, последняя убрала основы. Что бы вы ни выпустили в этом квартале, планируйте вернуться к этому в течение года — с той поправкой, что направление движения обнадёживает: в сторону упрощения, а не наоборот.

Версия для копирования

Чтобы вставить в issue или в чат, где скриншот бесполезен:

text
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 публикуется на 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 года.