MCP (Model Context Protocol) был создан Anthropic в ноябре 2024 года как стандартный способ подключения языковых моделей к внешним системам — от простых локальных инструментов до удалённых серверов. Первая версия спецификации (2024–11-05) не содержала никаких упоминаний об аутентификации: каждый разработчик реализовывал её как хотел. Однако с появлением remote‑серверов безопасность стала критичной.
В марте 2025 года вышла ревизия 2025–03-26, которая ввела OAuth 2.1 — но с неоднозначным решением: MCP‑сервер сам выполнял роль авторизационного сервера (AS). Это означало, что он должен был выписывать токены, обрабатывать регистрацию клиентов и хранить состояние, что противоречило архитектуре stateless и усложняло масштабирование. Эксперты по аутентификации, такие как Аарон Пареки из Okta и Кристиан Поста, опубликовали разгромные статьи, указав на смешение ролей AS и RS (resource server), необходимость token chaining и проблемы с отзывом токенов.
| Версия спеки | Дата | Аутентификация | Ключевое изменение |
|---|---|---|---|
| 2024–11-05 | Ноябрь 2024 | Отсутствует | Первая версия без упоминания авторизации |
| 2025–03-26 | Март 2025 | OAuth 2.1 (MCP-сервер как AS) | Введение OAuth 2.1, но MCP-сервер выполняет роль авторизационного сервера |
| 2025–06-18 | Июнь 2025 | OAuth 2.1 (MCP-сервер как RS) | MCP-сервер становится ресурсным сервером, RFC 9728 и RFC 8707 обязательны, token passthrough запрещён |
| 2025–11-25 | Ноябрь 2025 | OAuth 2.1 опционально | CIMD заменяет DCR как способ регистрации клиентов |
Реакция сообщества не заставила себя ждать: два пулл‑реквеста (PR #338 и PR #734) перестроили аутентификационную спецификацию. Уже в июне 2025 года ревизия 2025–06-18 внесла тектонические изменения: MCP‑сервер стал исключительно ресурсным сервером, а выписка токенов была делегирована внешним авторизационным серверам (Keycloak, Hydra, Okta, Entra). RFC 9728 (Protected Resource Metadata) и RFC 8707 (Resource Indicators) стали обязательными, а token passthrough был полностью запрещён.
Релиз марта 2025 ввёл OAuth 2.1, но ошибочно сделал MCP‑сервер собственным авторизационным сервером.
Текущая стабильная версия спецификации (2025–11-25) закрепила этот подход, но с новым поворотом: Dynamic Client Registration (DCR) был заменён на Client ID Metadata Documents (CIMD) как стандартный способ регистрации клиентов. Разница в том, что при CIMD авторизационный сервер сам забирает метаданные клиента по URL, а не ждёт их от клиента.
На момент написания статьи (июль 2026) аутентификация остаётся опциональной, но крупные агенты реализуют её по‑разному. Ожидается, что следующая ревизия спецификации, которая выйдет через три недели, сделает аутентификацию обязательной для серверов, заявляющих о её поддержке, а OAuth 2.1 может стать требованием по умолчанию.

