initialize/initialized и механизм заголовка Mcp-Session-Id удалены. Клиентам и серверам, рассчитанным на версию 2025-11-25, может потребоваться миграция.MCP (Model Context Protocol) — открытый стандарт подключения ИИ-приложений к внешним системам: базам данных, файлам, API, инструментам и рабочим процессам.
Материал рассчитан на разработчиков и технических специалистов, которым нужно выбрать транспорт, понять модель безопасности или подключить готовый MCP-сервер.
Какую задачу решает MCP
Без общего протокола каждое ИИ-приложение требует собственного коннектора к каждому сервису. При N приложениях и M системах потенциально возникает N×M интеграций со своими форматами запросов, авторизацией и обработкой ошибок.
MCP стандартизирует взаимодействие клиента и сервера. Совместимость всё равно зависит от поддерживаемой версии спецификации, набора возможностей и реализации безопасности.
Участники MCP
| Участник | Роль | Пример |
| MCP Host | ИИ-приложение, которое управляет подключениями | Редактор кода или настольный ИИ-клиент |
| MCP Client | Компонент хоста, который обращается к конкретному серверу | Встроенный MCP-клиент приложения |
| MCP Server | Программа, предоставляющая инструменты и контекст | Сервер файловой системы, GitHub или базы данных |
Один хост может обращаться к нескольким серверам. Изоляция подключений, полномочий и состояния определяется реализацией хоста и серверов.
Уровень данных и транспорт
MCP кодирует сообщения с помощью JSON-RPC 2.0. Методы протокола описывают вызовы инструментов, чтение ресурсов, получение промптов и служебное взаимодействие.
| Транспорт | Как работает | Когда подходит |
| STDIO | Клиент запускает локальный сервер как подпроцесс и обменивается JSON-RPC-сообщениями через stdin и stdout | Локальные инструменты и доступ к данным на той же машине |
| Streamable HTTP | Клиент отправляет запросы по HTTP; сервер может вернуть JSON или поток событий | Удалённые серверы, облачные сервисы и подключения с авторизацией |
В версии 2026-07-28 запросы через Streamable HTTP должны включать заголовки Mcp-Method и Mcp-Name. В них передаются название метода и имя инструмента, когда запрос обращается к инструменту. Это позволяет шлюзам, ограничителям запросов и WAF маршрутизировать и учитывать запросы без разбора JSON-тела.
Устаревший транспорт HTTP+SSE официально депрекейтнут. Для него предусмотрен переходный период не менее 12 месяцев после релиза 2026-07-28.
Примитивы сервера
Сервер предоставляет три основных типа объектов.
| Примитив | Кто управляет | Что делает | Пример |
| Tools | Модель через клиент | Выполняют действие или получают данные | query_database, создание задачи, запрос к API |
| Resources | Приложение | Передают структурированный контекст | Содержимое файла, схема БД, история Git |
| Prompts | Пользователь | Предоставляют готовые шаблоны взаимодействия | Команда меню или шаблон анализа |
Что изменилось в версии 2026-07-28
Вместо рукопожатия — самодостаточные запросы
В предыдущей версии соединение начиналось с initialize и initialized, а HTTP-сервер мог выдать Mcp-Session-Id. В версии 2026-07-28 этот обмен и механизм протокольного идентификатора сессии удалены.
Каждый запрос самодостаточен: версия протокола указывается отдельно, а в _meta передаются сведения о клиенте и его возможностях. Необязательный вызов server/discover позволяет заранее узнать возможности сервера. Прикладное состояние при необходимости хранится отдельно, например в виде явного идентификатора, который возвращает инструмент.
Несколько раундов без постоянного соединения
Механизм Multi Round-Trip Requests (MRTR), то есть несколько раундов обмена, позволяет инструменту запросить недостающие данные или подтверждение пользователя. Сервер отвечает с resultType: "input_required", а клиент повторяет исходный вызов с ответами в inputResponses.
MRTR заменяет прежние инициированные сервером вызовы elicitation/create, sampling/createMessage и roots/list, для которых требовался открытый двунаправленный поток.
Кеширование списков
Ответы tools/list, prompts/list, resources/list и resources/read содержат ttlMs и cacheScope. Клиент получает явные правила кеширования каталогов и ресурсов.
Расширения и депрекации
Tasks перенесены из экспериментального ядра в расширение io.modelcontextprotocol/tasks. Для долгих операций предусмотрены tasks/get и tasks/update. Уведомления об изменениях переходят на поток subscriptions/listen, на который клиент подписывается по типам событий.
Roots, Sampling и Logging депрекейтнуты. Они сохраняют совместимость как минимум в течение двенадцати месяцев после релиза, но новым реализациям не следует строить на них архитектуру.
Авторизация и границы доверия
Авторизация в MCP остаётся необязательной. Спецификация авторизации применяется к HTTP-транспортам и основана на OAuth 2.1. Для STDIO реализациям не следует применять эту спецификацию: учётные данные получают из окружения.
Версия 2026-07-28 усилила защиту OAuth:
- клиент должен проверять параметр издателя (
iss) в ответе авторизационного сервера до обмена кода; - учётные данные клиента привязываются к выдавшему их авторизационному серверу;
- Dynamic Client Registration (DCR) формально депрекейтнут в пользу Client ID Metadata Documents (CIMD), но пока сохраняется для обратной совместимости;
- сервер обязан принимать только токены, предназначенные именно для него, и не должен передавать входящий токен стороннему API.
Для Streamable HTTP сервер обязан проверять заголовок Origin; документация рекомендует корректную аутентификацию и при локальном запуске привязку к 127.0.0.1, а не ко всем интерфейсам.
Полезные сценарии
| Задача | Подключение | Наблюдаемый результат | Ограничение |
| Дать ассистенту контекст из задач и документов | ИИ-хост и серверы рабочих систем | Клиент обнаруживает ресурсы и инструменты, затем использует их в ответе | Доступ ограничивается правами подключённых учётных записей |
| Помочь агенту работать с кодом и ошибками | Редактор с серверами репозитория, мониторинга и БД | Агент получает структуру проекта и может вызвать разрешённые инструменты | Операции записи требуют особенно узких полномочий |
| Запускать автоматизации из диалога | ИИ-агент и MCP-сервер системы автоматизации | Готовый процесс запускается через вызов инструмента | Нужно отдельно контролировать побочные эффекты и повторные вызовы |
Быстрый старт с локальным сервером
Ниже приведён условный пример конфигурации для клиента, который поддерживает формат mcpServers. Название пакета, способ запуска и совместимость с версией протокола нужно сверить с документацией выбранного клиента перед запуском. В рамках этой проверки пример не запускался.
1. Выберите отдельную тестовую папку
Не открывайте серверу весь домашний каталог. Начните с папки без секретов и рабочих данных.
2. Добавьте сервер в конфигурацию клиента
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/your-name/Documents/mcp-test"
]
}
}
}3. Перезапустите клиент и проверьте результат
Откройте список MCP-серверов. Сервер должен отображаться как подключённый, а клиент — показывать предоставленные им инструменты или ресурсы. Затем попросите прочитать заранее созданный тестовый файл. Если клиент не видит сервер, проверьте путь, наличие Node.js, журнал запуска и совместимость версий.
Что делать, если подключение не работает
- Сервер не запускается: выполните команду запуска отдельно и проверьте stderr, версию среды выполнения и имя пакета.
- Нет инструментов или ресурсов: проверьте возможности сервера через доступный клиенту механизм обнаружения и убедитесь, что версии протокола совместимы.
- HTTP-запрос отклонён: проверьте
MCP-Protocol-Version,Mcp-Method,Mcp-Name,Originи заголовок авторизации. - OAuth возвращает ошибку: проверьте metadata авторизационного сервера, redirect URI, PKCE, запрошенные scopes и привязку токена к MCP-серверу.
- Повторный запрос теряет контекст: не рассчитывайте на
Mcp-Session-Idв версии 2026-07-28; передавайте прикладной идентификатор состояния явно. - Старый клиент перестал подключаться: уточните, какую версию спецификации поддерживают обе стороны, и используйте руководство по миграции соответствующего SDK.
SDK
В официальном релизе 2026-07-28 указано, что новую версию поддерживают четыре SDK первого уровня (Tier 1): TypeScript, Python, Go и C#. Rust SDK поддерживает новую версию в статусе beta.
При обновлении проверьте миграционные заметки выбранного SDK. Основные несовместимые изменения связаны с удалением initialize, протокольных сессий и прежней модели инициированных сервером запросов.
Официальные источники
- Релиз спецификации MCP 2026-07-28 — stateless-ядро, MRTR, кеширование, авторизация и депрекации
- Примитивы MCP в спецификации 2025-11-25 — tools, resources и prompts
- Транспорты MCP 2025-11-25 — STDIO и Streamable HTTP
- Авторизация MCP 2025-11-25 — OAuth 2.1 и требования безопасности
- Документация MCP
- Официальный реестр MCP-серверов
Следующий шаг
Notion MCP — официальный сервер Notion для подключения ИИ-агентов
Если вы выбираете MCP для рабочего контура, полезно заранее определить допустимые данные, операции записи и точки подтверждения пользователя.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov



