[{"data":1,"prerenderedAt":75},["ShallowReactive",2],{"wiki-mcp-what-is-mcp-ru":3},{"meta":4,"html":8,"headings":9,"words":74},{"title":5,"description":6,"published":7,"updated":7,"sourceUpdated":7},"Что такое MCP (Model Context Protocol)","MCP - открытый протокол, который подключает ИИ-приложения к инструментам и данным. Архитектура, примитивы, транспорты, спецификация 2026-07-28 и безопасность.","2026-11-03","\u003Cp>\u003Cstrong>Model Context Protocol (MCP)\u003C/strong> - открытый протокол, который стандартизирует подключение ИИ-приложений к внешним инструментам, источникам данных и сервисам. Приложение с поддержкой MCP работает с любым MCP-сервером, будь то доступ к файловой системе, базе данных, баг-трекеру или платёжному API, без отдельной интеграции для каждой пары «приложение - сервис».\u003C/p>\n\u003Cp>MCP представила компания Anthropic в ноябре 2024 года. С декабря 2025 года протокол развивается в Agentic AI Foundation, входящем в Linux Foundation. Текущая версия спецификации - \u003Cstrong>2026-07-28\u003C/strong>.\u003C/p>\n\u003Ch2 id=\"кратко\" class=\"wiki-heading\">Кратко\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"кратко\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cdiv class=\"wiki-table wiki-table--cols-2\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Параметр\u003C/th>\n\u003Cth>Значение\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Тип\u003C/td>\n\u003Ctd>Открытый протокол прикладного уровня, клиент-сервер\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Формат сообщений\u003C/td>\n\u003Ctd>JSON-RPC 2.0\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Транспорты\u003C/td>\n\u003Ctd>stdio для локальных серверов, Streamable HTTP для удалённых\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Примитивы сервера\u003C/td>\n\u003Ctd>Инструменты (tools), ресурсы (resources), промпты (prompts)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Текущая спецификация\u003C/td>\n\u003Ctd>2026-07-28\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Управление проектом\u003C/td>\n\u003Ctd>Agentic AI Foundation (Linux Foundation) с декабря 2025 года\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Официальные SDK\u003C/td>\n\u003Ctd>TypeScript, Python, Go, C# (Tier 1); также Java, Kotlin, Rust, Swift, PHP и другие\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch2 id=\"какую-задачу-решает-mcp\" class=\"wiki-heading\">Какую задачу решает MCP\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"какую-задачу-решает-mcp\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Языковая модель работает только с тем текстом, который получила. Чтобы прочитать файл, выполнить запрос к базе данных или создать задачу, модели нужно приложение, которое обращается к внешним системам от её имени и возвращает результаты в её контекст. Провайдеры моделей поддерживают это через \u003Cstrong>function calling\u003C/strong> (его также называют tool use): приложение описывает функции в JSON Schema, модель возвращает запрос на вызов одной из них, приложение выполняет вызов.\u003C/p>\n\u003Cp>Function calling определяет, как модель просит о вызове. Откуда берутся сами инструменты, он не определяет. До MCP у каждого ИИ-приложения был свой формат плагинов или интеграций, и интеграцию с одним и тем же сервисом писали отдельно под каждое приложение. При N приложениях и M сервисах это до N × M интеграций, у каждой свой код, своя аутентификация и своя поддержка.\u003C/p>\n\u003Cp>MCP заменяет это одним контрактом. Сервис один раз реализует MCP-сервер, приложение один раз реализует MCP-клиент, и любая совместимая пара работает вместе: N + M реализаций вместо N × M.\u003C/p>\n\u003Cp>Идея взята из \u003Cstrong>Language Server Protocol (LSP)\u003C/strong>, который решил ту же задачу для редакторов кода и языков программирования: один языковой сервер работает в любом редакторе с поддержкой LSP. MCP повторяет подход LSP к обмену сообщениями и использует тот же формат сообщений, JSON-RPC 2.0.\u003C/p>\n\u003Ch2 id=\"история\" class=\"wiki-heading\">История\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"история\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cdiv class=\"wiki-table wiki-table--cols-2\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Дата\u003C/th>\n\u003Cth>Событие\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>25 ноября 2024\u003C/td>\n\u003Ctd>Anthropic публикует MCP как открытый стандарт вместе с SDK для Python и TypeScript и набором эталонных серверов. Авторы - David Soria Parra и Justin Spahr-Summers\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Март 2025\u003C/td>\n\u003Ctd>Спецификация 2025-03-26: транспорт Streamable HTTP и авторизация на основе OAuth 2.1. OpenAI переходит на MCP, начиная с Agents SDK\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Апрель 2025\u003C/td>\n\u003Ctd>Google объявляет о поддержке MCP в моделях Gemini и Gemini SDK\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Май 2025\u003C/td>\n\u003Ctd>Microsoft на конференции Build 2025 объявляет о поддержке MCP в своих платформах\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Июнь 2025\u003C/td>\n\u003Ctd>Спецификация 2025-06-18: структурированный результат инструментов и elicitation\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Сентябрь 2025\u003C/td>\n\u003Ctd>Предварительная версия официального MCP Registry\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Ноябрь 2025\u003C/td>\n\u003Ctd>Спецификация 2025-11-25: экспериментальные задачи (tasks), OAuth Client ID Metadata Documents\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Декабрь 2025\u003C/td>\n\u003Ctd>Anthropic передаёт MCP в Agentic AI Foundation (AAIF) - фонд Linux Foundation, основанный Anthropic, Block и OpenAI\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Январь 2026\u003C/td>\n\u003Ctd>MCP Apps, первое официальное расширение: интерактивные интерфейсы, которые отдают MCP-серверы\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>28 июля 2026\u003C/td>\n\u003Ctd>Спецификация 2026-07-28: ядро протокола становится stateless (без состояния)\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch2 id=\"архитектура\" class=\"wiki-heading\">Архитектура\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"архитектура\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Ch3 id=\"участники\" class=\"wiki-heading\">Участники\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"участники\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>В MCP три роли:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Хост (host)\u003C/strong> - ИИ-приложение, с которым работает пользователь: чат-ассистент, IDE, агент. Хост ведёт диалог с моделью и решает, что модели разрешено делать. Примеры: Claude Desktop, Claude Code, Visual Studio Code, ChatGPT.\u003C/li>\n\u003Cli>\u003Cstrong>Клиент (client)\u003C/strong> - компонент внутри хоста, который держит соединение с одним MCP-сервером. Для каждого сервера хост создаёт отдельный клиент.\u003C/li>\n\u003Cli>\u003Cstrong>Сервер (server)\u003C/strong> - программа, которая предоставляет контекст и действия: инструменты, данные, шаблоны промптов. Сервер может быть обёрткой над файловой системой, базой данных, API SaaS-сервиса или внутренним сервисом компании.\u003C/li>\n\u003C/ul>\n\u003Cdiv class=\"wiki-code wiki-code--plain\">\u003Cpre>\u003Ccode>Хост (ИИ-приложение)\n |\n +-- MCP-клиент 1 --- stdio ------------- MCP-сервер: файловая система (локальный)\n +-- MCP-клиент 2 --- stdio ------------- MCP-сервер: база данных (локальный)\n +-- MCP-клиент 3 --- Streamable HTTP --- MCP-сервер: баг-трекер (удалённый)\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Модель не подключается к серверам. Она видит в своём контексте описания доступных инструментов и возвращает запрос на вызов одного из них. Хост решает, выполнять ли запрос, отправляет его через нужный клиент и возвращает результат модели. Контроль над тем, что может делать модель, остаётся у хоста и пользователя.\u003C/p>\n\u003Cp>Сервер, который работает процессом на машине пользователя, называют \u003Cstrong>локальным\u003C/strong>. Сервер, который работает как сетевой сервис, называют \u003Cstrong>удалённым\u003C/strong>. Локальный сервер обычно обслуживает одного клиента, удалённый - многих.\u003C/p>\n\u003Ch3 id=\"уровни\" class=\"wiki-heading\">Уровни\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"уровни\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Протокол состоит из двух уровней:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Уровень данных (data layer)\u003C/strong> определяет сообщения JSON-RPC 2.0 и их смысл: обнаружение возможностей, примитивы, уведомления, ошибки.\u003C/li>\n\u003Cli>\u003Cstrong>Транспортный уровень (transport layer)\u003C/strong> определяет доставку сообщений: соединение, разбиение потока на сообщения, авторизацию.\u003C/li>\n\u003C/ul>\n\u003Cp>Одни и те же сообщения JSON-RPC идут по любому транспорту, поэтому логика сервера не зависит от того, как он развёрнут.\u003C/p>\n\u003Ch2 id=\"примитивы\" class=\"wiki-heading\">Примитивы\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"примитивы\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Примитивы - это то, что стороны предлагают друг другу. Спецификация определяет три примитива сервера:\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-4\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Примитив\u003C/th>\n\u003Cth>Что это\u003C/th>\n\u003Cth>Кто решает использовать\u003C/th>\n\u003Cth>Методы\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Инструменты (tools)\u003C/td>\n\u003Ctd>Функции, которые выполняют действия: запрос к базе данных, создание задачи, вызов внешнего API\u003C/td>\n\u003Ctd>Модель, с разрешения хоста\u003C/td>\n\u003Ctd>\u003Ccode>tools/list\u003C/code>, \u003Ccode>tools/call\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Ресурсы (resources)\u003C/td>\n\u003Ctd>Данные для контекста: содержимое файлов, записи базы данных, документы. Каждый ресурс идентифицируется URI\u003C/td>\n\u003Ctd>Приложение\u003C/td>\n\u003Ctd>\u003Ccode>resources/list\u003C/code>, \u003Ccode>resources/read\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Промпты (prompts)\u003C/td>\n\u003Ctd>Многоразовые шаблоны инструкций для модели, часто с параметрами\u003C/td>\n\u003Ctd>Пользователь, например через слеш-команду\u003C/td>\n\u003Ctd>\u003Ccode>prompts/list\u003C/code>, \u003Ccode>prompts/get\u003C/code>\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Инструмент описывается именем, заголовком для человека, описанием и JSON Schema входных параметров (\u003Ccode>inputSchema\u003C/code>). Инструмент может объявить и схему своего результата (\u003Ccode>outputSchema\u003C/code>). Модель выбирает инструмент и заполняет аргументы по имени, описанию и схеме. Поэтому текст описаний - часть интерфейса: неточное описание приводит к неверным или пропущенным вызовам, даже когда код инструмента работает правильно.\u003C/p>\n\u003Cp>Сторона клиента предоставляет примитивы, через которые сервер может что-то запросить у хоста:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Elicitation\u003C/strong> (запрос данных у пользователя): сервер просит пользователя ввести недостающие данные или подтвердить действие (\u003Ccode>elicitation/create\u003C/code>).\u003C/li>\n\u003Cli>\u003Cstrong>Sampling\u003C/strong> (устарел в 2026-07-28): сервер просит модель клиента сгенерировать ответ (\u003Ccode>sampling/createMessage\u003C/code>). Новые реализации обращаются к API провайдеров моделей напрямую.\u003C/li>\n\u003Cli>\u003Cstrong>Roots\u003C/strong> (устарел): клиент сообщает серверу, с какими каталогами можно работать. Теперь пути передают параметрами инструментов или в конфигурации сервера.\u003C/li>\n\u003Cli>\u003Cstrong>Logging\u003C/strong> (устарел): сообщения журнала от сервера к клиенту. Заменён стандартным потоком ошибок для stdio-серверов и OpenTelemetry.\u003C/li>\n\u003C/ul>\n\u003Cp>Устаревшая возможность продолжает работать не меньше двенадцати месяцев. Этот минимальный срок - часть формальной политики вывода функций из употребления, которую ввела версия 2026-07-28.\u003C/p>\n\u003Cp>Кроме того, протокол определяет вспомогательные механизмы: уведомления, отчёт о прогрессе длительных операций, отмену, постраничную выдачу списков и \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"caching-hints\">подсказки для кеширования\u003C/span> результатов. Каждому примитиву сервера посвящена отдельная статья: \u003Ca href=\"/ru/wiki/mcp/mcp-tools\" class=\"wiki-link wiki-link--article\">инструменты\u003C/a>, \u003Ca href=\"/ru/wiki/mcp/mcp-resources\" class=\"wiki-link wiki-link--article\">ресурсы и шаблоны ресурсов\u003C/a>, \u003Ca href=\"/ru/wiki/mcp/mcp-prompts\" class=\"wiki-link wiki-link--article\">промпты\u003C/a>.\u003C/p>\n\u003Ch2 id=\"как-проходит-запрос\" class=\"wiki-heading\">Как проходит запрос\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"как-проходит-запрос\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Ch3 id=\"обнаружение-возможностей\" class=\"wiki-heading\">Обнаружение возможностей\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"обнаружение-возможностей\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>С версии 2026-07-28 MCP не хранит состояние (stateless): каждый запрос содержит всё, что нужно серверу для его обработки. Версия протокола, данные о клиенте и его возможности передаются в поле \u003Ccode>_meta\u003C/code> каждого запроса.\u003C/p>\n\u003Cp>Чтобы узнать, что поддерживает сервер, клиент может отправить \u003Ccode>server/discover\u003C/code>. Этот метод обязан реализовать каждый сервер; клиент может его пропустить и сразу отправлять другие запросы.\u003C/p>\n\u003Cdiv class=\"wiki-code\" data-language=\"json\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">JSON\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 1,\n  &quot;method&quot;: &quot;server/discover&quot;,\n  &quot;params&quot;: {\n    &quot;_meta&quot;: {\n      &quot;io.modelcontextprotocol/protocolVersion&quot;: &quot;2026-07-28&quot;,\n      &quot;io.modelcontextprotocol/clientInfo&quot;: { &quot;name&quot;: &quot;example-client&quot;, &quot;version&quot;: &quot;1.0.0&quot; },\n      &quot;io.modelcontextprotocol/clientCapabilities&quot;: { &quot;elicitation&quot;: {} }\n    }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>В ответе - поддерживаемые версии протокола и возможности сервера. Ответ можно кешировать:\u003C/p>\n\u003Cdiv class=\"wiki-code\" data-language=\"json\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">JSON\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 1,\n  &quot;result&quot;: {\n    &quot;resultType&quot;: &quot;complete&quot;,\n    &quot;supportedVersions&quot;: [&quot;2026-07-28&quot;],\n    &quot;capabilities&quot;: { &quot;tools&quot;: { &quot;listChanged&quot;: true }, &quot;resources&quot;: {} },\n    &quot;_meta&quot;: {\n      &quot;io.modelcontextprotocol/serverInfo&quot;: { &quot;name&quot;: &quot;example-server&quot;, &quot;version&quot;: &quot;1.0.0&quot; }\n    },\n    &quot;ttlMs&quot;: 3600000,\n    &quot;cacheScope&quot;: &quot;public&quot;\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Если сервер не поддерживает запрошенную версию, он отклоняет запрос с ошибкой \u003Ccode>UnsupportedProtocolVersionError\u003C/code> и списком версий, которые поддерживает. Клиент повторяет запрос с версией, которую поддерживают обе стороны.\u003C/p>\n\u003Ch3 id=\"вызов-инструмента\" class=\"wiki-heading\">Вызов инструмента\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"вызов-инструмента\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Типичный цикл выглядит так:\u003C/p>\n\u003Col>\n\u003Cli>Хост запрашивает список инструментов у каждого подключённого сервера (\u003Ccode>tools/list\u003C/code>) и добавляет их описания в контекст модели.\u003C/li>\n\u003Cli>Пользователь задаёт вопрос. Модель решает, что нужен инструмент, и возвращает вызов с аргументами.\u003C/li>\n\u003Cli>Хост проверяет разрешения, при необходимости спрашивает подтверждение у пользователя и отправляет \u003Ccode>tools/call\u003C/code> через клиент нужного сервера.\u003C/li>\n\u003Cli>Сервер выполняет действие и возвращает результат в виде массива \u003Ccode>content\u003C/code>: текст, изображения, \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"resource-link\">ссылки на ресурсы\u003C/span>, структурированные данные.\u003C/li>\n\u003Cli>Хост передаёт результат модели, и модель продолжает ответ.\u003C/li>\n\u003C/ol>\n\u003Cp>Запрос и ответ шагов 3 и 4:\u003C/p>\n\u003Cdiv class=\"wiki-code\" data-language=\"json\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">JSON\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 3,\n  &quot;method&quot;: &quot;tools/call&quot;,\n  &quot;params&quot;: {\n    &quot;name&quot;: &quot;weather_current&quot;,\n    &quot;arguments&quot;: { &quot;location&quot;: &quot;San Francisco&quot;, &quot;units&quot;: &quot;imperial&quot; },\n    &quot;_meta&quot;: {\n      &quot;io.modelcontextprotocol/protocolVersion&quot;: &quot;2026-07-28&quot;,\n      &quot;io.modelcontextprotocol/clientInfo&quot;: { &quot;name&quot;: &quot;example-client&quot;, &quot;version&quot;: &quot;1.0.0&quot; },\n      &quot;io.modelcontextprotocol/clientCapabilities&quot;: { &quot;elicitation&quot;: {} }\n    }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cdiv class=\"wiki-code\" data-language=\"json\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">JSON\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 3,\n  &quot;result&quot;: {\n    &quot;resultType&quot;: &quot;complete&quot;,\n    &quot;content&quot;: [\n      { &quot;type&quot;: &quot;text&quot;, &quot;text&quot;: &quot;Current weather in San Francisco: 68°F, partly cloudy&quot; }\n    ]\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Ошибка, которая произошла во время работы инструмента, возвращается внутри результата с \u003Ccode>isError: true\u003C/code>: модель её видит и может исправить вызов. \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"protocol-error\">Ошибки протокола\u003C/span>, например неизвестный метод или неверные параметры, возвращаются как ошибки JSON-RPC.\u003C/p>\n\u003Ch3 id=\"когда-серверу-нужны-дополнительные-данные\" class=\"wiki-heading\">Когда серверу нужны дополнительные данные\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"когда-серверу-нужны-дополнительные-данные\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>В прежних версиях сервер мог посреди обработки отправить запрос клиенту, например задать вопрос пользователю. Для этого требовалось долгоживущее соединение с одним и тем же экземпляром сервера.\u003C/p>\n\u003Cp>Спецификация 2026-07-28 заменяет этот механизм на \u003Cstrong>Multi Round-Trip Requests (MRTR)\u003C/strong>, многоэтапные запросы. Сервер отвечает на \u003Ccode>tools/call\u003C/code>, \u003Ccode>resources/read\u003C/code> или \u003Ccode>prompts/get\u003C/code> результатом типа \u003Ccode>input_required\u003C/code>. В поле \u003Ccode>inputRequests\u003C/code> перечислено, чего не хватает серверу, а в поле \u003Ccode>requestState\u003C/code> может лежать непрозрачное для клиента состояние:\u003C/p>\n\u003Cdiv class=\"wiki-code\" data-language=\"json\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">JSON\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 1,\n  &quot;result&quot;: {\n    &quot;resultType&quot;: &quot;input_required&quot;,\n    &quot;inputRequests&quot;: {\n      &quot;github_login&quot;: {\n        &quot;method&quot;: &quot;elicitation/create&quot;,\n        &quot;params&quot;: {\n          &quot;mode&quot;: &quot;form&quot;,\n          &quot;message&quot;: &quot;Please provide your GitHub username&quot;,\n          &quot;requestedSchema&quot;: {\n            &quot;type&quot;: &quot;object&quot;,\n            &quot;properties&quot;: { &quot;name&quot;: { &quot;type&quot;: &quot;string&quot; } },\n            &quot;required&quot;: [&quot;name&quot;]\n          }\n        }\n      }\n    },\n    &quot;requestState&quot;: &quot;AEAD-protected blob&quot;\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Клиент собирает ответы, например спрашивает пользователя, и повторяет исходный запрос с новым \u003Ccode>id\u003C/code>, ответами в \u003Ccode>inputResponses\u003C/code> и неизменённым \u003Ccode>requestState\u003C/code>. Повторный запрос может обработать любой экземпляр сервера. Поскольку \u003Ccode>requestState\u003C/code> проходит через клиента, сервер обязан считать его недоверенными входными данными и защищать его целостность, если от него зависят авторизация или бизнес-логика.\u003C/p>\n\u003Ch3 id=\"уведомления\" class=\"wiki-heading\">Уведомления\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"уведомления\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Сервер может сообщить клиенту об изменениях, например о том, что изменился список инструментов (\u003Ccode>notifications/tools/list_changed\u003C/code>). Уведомления клиент получает только по подписке: он открывает долгоживущий поток \u003Ccode>subscriptions/listen\u003C/code> и перечисляет нужные типы уведомлений. Доставка не гарантирована, поэтому клиенты также периодически запрашивают списки заново.\u003C/p>\n\u003Cp>Результаты \u003Ccode>tools/list\u003C/code>, \u003Ccode>prompts/list\u003C/code>, \u003Ccode>resources/list\u003C/code> и \u003Ccode>resources/read\u003C/code> содержат подсказки для кеширования: \u003Ccode>ttlMs\u003C/code> (сколько результат остаётся актуальным) и \u003Ccode>cacheScope\u003C/code> (кто может использовать его повторно). Спецификация рекомендует возвращать инструменты в детерминированном порядке, это сохраняет стабильность кеша промптов модели.\u003C/p>\n\u003Ch2 id=\"транспорты\" class=\"wiki-heading\">Транспорты\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"транспорты\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Ch3 id=\"stdio\" class=\"wiki-heading\">stdio\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"stdio\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Хост запускает сервер как дочерний процесс. Сообщения JSON-RPC идут через стандартные потоки ввода и вывода, по одному сообщению на строку; стандартный поток ошибок используется для журнала. Этот транспорт применяют для локальных серверов: сети нет, учётные данные сервер берёт из окружения процесса, например из переменных окружения.\u003C/p>\n\u003Ch3 id=\"streamable-http\" class=\"wiki-heading\">Streamable HTTP\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"streamable-http\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Сервер - это HTTP-эндпоинт. Клиент отправляет каждое сообщение HTTP-запросом POST. Сервер отвечает JSON или открывает поток Server-Sent Events, когда ему нужно отправить несколько сообщений, например отчёты о прогрессе.\u003C/p>\n\u003Cp>С версии 2026-07-28 запросы несут заголовки с методом и именем инструмента, ресурса или промпта. Шлюзы, ограничители частоты запросов и межсетевые экраны веб-приложений могут маршрутизировать и учитывать трафик, не разбирая тело JSON:\u003C/p>\n\u003Cdiv class=\"wiki-code\" data-language=\"http\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">HTTP\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>POST /mcp HTTP/1.1\nContent-Type: application/json\nMCP-Protocol-Version: 2026-07-28\nMcp-Method: tools/call\nMcp-Name: search_issues\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Сессии на уровне протокола и заголовка \u003Ccode>Mcp-Session-Id\u003C/code> больше нет, поэтому удалённый сервер может работать за обычным балансировщиком нагрузки с распределением по кругу (round-robin), без привязки клиента к экземпляру и общего хранилища сессий, в том числе на бессерверных платформах.\u003C/p>\n\u003Cp>Старый транспорт \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"http-sse-transport\">HTTP+SSE\u003C/span> из первой версии спецификации объявлен устаревшим, вместо него используется \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"streamable-http\">Streamable HTTP\u003C/span>. Оба транспорта, их заголовки и требования описаны в статье \u003Ca href=\"/ru/wiki/mcp/mcp-transports\" class=\"wiki-link wiki-link--article\">Транспорты MCP\u003C/a>.\u003C/p>\n\u003Ch2 id=\"спецификация-2026-07-28\" class=\"wiki-heading\">Спецификация 2026-07-28\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"спецификация-2026-07-28\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Мейнтейнеры называют 2026-07-28 самой крупной редакцией протокола с момента запуска. Основные изменения по сравнению с 2025-11-25:\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Область\u003C/th>\n\u003Cth>До 2025-11-25 включительно\u003C/th>\n\u003Cth>2026-07-28\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Начало работы\u003C/td>\n\u003Ctd>Рукопожатие \u003Ccode>initialize\u003C/code> / \u003Ccode>initialized\u003C/code>, которое открывает сессию\u003C/td>\n\u003Ctd>Рукопожатия нет, каждый запрос самодостаточен\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Сессия\u003C/td>\n\u003Ctd>Заголовок \u003Ccode>Mcp-Session-Id\u003C/code>\u003C/td>\n\u003Ctd>Удалён\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Возможности сторон\u003C/td>\n\u003Ctd>Передаются один раз во время \u003Ccode>initialize\u003C/code>\u003C/td>\n\u003Ctd>Передаются в \u003Ccode>_meta\u003C/code> каждого запроса; метод \u003Ccode>server/discover\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Запросы от сервера к клиенту\u003C/td>\n\u003Ctd>Сервер отправляет их во время обработки\u003C/td>\n\u003Ctd>Multi Round-Trip Requests\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Длительные операции\u003C/td>\n\u003Ctd>Экспериментальные задачи в ядре\u003C/td>\n\u003Ctd>Расширение Tasks \u003Ccode>io.modelcontextprotocol/tasks\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Маршрутизация HTTP\u003C/td>\n\u003Ctd>Метод только внутри тела JSON\u003C/td>\n\u003Ctd>Заголовки \u003Ccode>Mcp-Method\u003C/code> и \u003Ccode>Mcp-Name\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Списки\u003C/td>\n\u003Ctd>Без подсказок для кеширования\u003C/td>\n\u003Ctd>\u003Ccode>ttlMs\u003C/code>, \u003Ccode>cacheScope\u003C/code>, детерминированный порядок инструментов\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Вывод функций из употребления\u003C/td>\n\u003Ctd>Формальной политики нет\u003C/td>\n\u003Ctd>Не меньше двенадцати месяцев; roots, sampling и logging объявлены устаревшими\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Версия также формализовала \u003Cstrong>расширения\u003C/strong> (extensions): необязательные возможности, которые клиент и сервер должны явно поддержать и которые развиваются вне ядра протокола. Среди официальных расширений:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Tasks\u003C/strong>: асинхронное выполнение длительных операций. Инструмент возвращает идентификатор задачи, клиент опрашивает её статус (\u003Ccode>tasks/get\u003C/code>) и забирает результат позже.\u003C/li>\n\u003Cli>\u003Cstrong>MCP Apps\u003C/strong>: интерактивные интерфейсы. Сервер связывает инструмент с ресурсом \u003Ccode>ui://\u003C/code>, а хост отображает его в изолированном iframe. Хосты без поддержки расширения показывают текст или структурированные данные.\u003C/li>\n\u003Cli>\u003Cstrong>Enterprise-Managed Authorization\u003C/strong>: доступ к серверам выдают администраторы через корпоративного провайдера учётных записей, и пользователи подключаются автоматически при входе.\u003C/li>\n\u003C/ul>\n\u003Cp>Больше всего изменений при миграции требуют серверы, которые опирались на идентификатор сессии. Состояние, которое нужно приложению между вызовами, передаётся явно: например, инструмент возвращает идентификатор, а модель передаёт его аргументом следующего вызова. Изменения и миграция с 2025-11-25 описаны в статье \u003Ca href=\"/ru/wiki/mcp/stateless-mcp\" class=\"wiki-link wiki-link--article\">MCP без состояния\u003C/a>, механизм расширений и официальные расширения - в статье \u003Ca href=\"/ru/wiki/mcp/mcp-extensions\" class=\"wiki-link wiki-link--article\">Расширения MCP\u003C/a>.\u003C/p>\n\u003Ch2 id=\"безопасность-и-авторизация\" class=\"wiki-heading\">Безопасность и авторизация\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"безопасность-и-авторизация\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Авторизация в MCP необязательна. Для серверов на HTTP, которым она нужна, спецификация определяет авторизацию на основе \u003Cstrong>OAuth 2.1\u003C/strong>. MCP-сервер выступает сервером ресурсов OAuth: клиент получает токен доступа у \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"authorization-server\">сервера авторизации\u003C/span> и передаёт его в заголовке \u003Ccode>Authorization\u003C/code> каждого запроса. Сервер принимает только токены, выданные для него. Спецификация 2026-07-28 добавила требования, которые закрывают известные пути атак:\u003C/p>\n\u003Cul>\n\u003Cli>клиент обязан проверить издателя ответа авторизации (\u003Ccode>iss\u003C/code>, RFC 9207), прежде чем обменять код авторизации на токен;\u003C/li>\n\u003Cli>учётные данные клиента привязаны к издателю, который их выдал, и не используются с другим сервером авторизации;\u003C/li>\n\u003Cli>динамическая регистрация клиентов (Dynamic Client Registration) объявлена устаревшей, вместо неё используются \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"client-id-metadata-document\">Client ID Metadata Documents\u003C/span>.\u003C/li>\n\u003C/ul>\n\u003Cp>Сервер не должен передавать токен, полученный от клиента, дальше в другие сервисы (\u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"token-passthrough\">token passthrough\u003C/span> запрещён): для вызовов других API он получает собственные токены. Серверы на \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"stdio\">stdio\u003C/span> не используют OAuth и берут учётные данные из окружения. Полная схема описана в статье \u003Ca href=\"/ru/wiki/mcp/mcp-authorization\" class=\"wiki-link wiki-link--article\">Авторизация в MCP\u003C/a>.\u003C/p>\n\u003Cp>Спецификация требует, чтобы хост получал явное согласие пользователя перед вызовом инструмента, и считает описания инструментов от недоверенных серверов недоверенными данными. Известные классы рисков:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Отравление инструментов (tool poisoning)\u003C/strong>: инструкции, скрытые в описаниях инструментов. Модель их читает, а пользователь обычно не видит. Это разновидность \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"prompt-injection\">prompt injection\u003C/span>, публично описанная в апреле 2025 года.\u003C/li>\n\u003Cli>\u003Cstrong>Prompt injection через данные\u003C/strong>: текст, который вернул инструмент или ресурс (веб-страница, письмо, задача в трекере), может содержать инструкции, адресованные модели.\u003C/li>\n\u003Cli>\u003Cstrong>Confused deputy («запутавшийся заместитель»)\u003C/strong>: прокси-сервер с широкими правами выполняет действие для пользователя, у которого не должно быть к нему доступа.\u003C/li>\n\u003Cli>\u003Cstrong>Уязвимости реализаций\u003C/strong>: например, CVE-2025-6514 в пакете \u003Ccode>mcp-remote\u003C/code> (CVSS 9.6) позволяла вредоносному серверу выполнять команды на машине пользователя, а CVE-2025-49596 в MCP Inspector возникла из-за отсутствия аутентификации по умолчанию.\u003C/li>\n\u003C/ul>\n\u003Cp>Риски и меры защиты от них описаны в статье \u003Ca href=\"/ru/wiki/mcp/mcp-security\" class=\"wiki-link wiki-link--article\">Безопасность MCP\u003C/a>.\u003C/p>\n\u003Ch2 id=\"экосистема\" class=\"wiki-heading\">Экосистема\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"экосистема\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Cstrong>SDK.\u003C/strong> SDK уровня Tier 1 (TypeScript, Python, Go и C#) поддержали 2026-07-28 к моменту выхода спецификации. Официальные SDK есть также для Java, Kotlin, Rust, Swift, PHP и других языков.\u003C/li>\n\u003Cli>\u003Cstrong>MCP Inspector\u003C/strong> - инструмент разработчика: подключается к серверу, показывает его примитивы, вызывает инструменты и отображает сообщения. Его применение в тестировании описано в статье \u003Ca href=\"/ru/wiki/mcp/testing-mcp-servers\" class=\"wiki-link wiki-link--article\">Тестирование MCP-серверов\u003C/a>.\u003C/li>\n\u003Cli>\u003Cstrong>MCP Registry\u003C/strong> (\u003Ca href=\"https://registry.modelcontextprotocol.io\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">registry.modelcontextprotocol.io\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a>) - официальный каталог общедоступных серверов, предварительная версия запущена в сентябре 2025 года. Каталог хранит метаданные, а не код: каждая запись - файл \u003Ccode>server.json\u003C/code> с уникальным именем в обратной DNS-нотации (например, \u003Ccode>io.github.user/server-name\u003C/code>) и расположением пакета в npm, PyPI, Docker Hub или адресом удалённого сервера. API каталога открыт, поэтому компании могут держать собственные закрытые каталоги в том же формате. Публикация сервера описана в статье \u003Ca href=\"/ru/wiki/mcp/publishing-to-mcp-registry\" class=\"wiki-link wiki-link--article\">Публикация MCP-сервера в MCP Registry\u003C/a>.\u003C/li>\n\u003Cli>\u003Cstrong>Хосты.\u003C/strong> MCP поддерживают Claude, ChatGPT, Visual Studio Code, Cursor и многие другие ИИ-приложения и фреймворки для агентов.\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"mcp-и-смежные-технологии\" class=\"wiki-heading\">MCP и смежные технологии\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"mcp-и-смежные-технологии\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cdiv class=\"wiki-table wiki-table--cols-4\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>\u003C/th>\n\u003Cth>Function calling\u003C/th>\n\u003Cth>MCP\u003C/th>\n\u003Cth>REST или GraphQL API\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Уровень\u003C/td>\n\u003Ctd>Возможность API модели\u003C/td>\n\u003Ctd>Протокол между ИИ-приложением и внешними системами\u003C/td>\n\u003Ctd>Интерфейс сервиса для программ\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Кто описывает инструменты\u003C/td>\n\u003Ctd>Разработчик приложения, в каждом запросе к модели\u003C/td>\n\u003Ctd>Автор сервера, один раз\u003C/td>\n\u003Ctd>Разработчик сервиса\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Обнаружение во время работы\u003C/td>\n\u003Ctd>Нет\u003C/td>\n\u003Ctd>Да: \u003Ccode>tools/list\u003C/code>, уведомления об изменениях\u003C/td>\n\u003Ctd>Обычно через документацию или OpenAPI\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Повторное использование в разных ИИ-приложениях\u003C/td>\n\u003Ctd>Нет\u003C/td>\n\u003Ctd>Да\u003C/td>\n\u003Ctd>Каждое ИИ-приложение интегрируется отдельно\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>MCP не заменяет function calling: хост по-прежнему использует function calling своей модели, чтобы модель могла выбрать инструмент. MCP определяет, откуда берутся инструменты и как они вызываются.\u003C/p>\n\u003Cp>API протокол тоже не заменяет. Типичный MCP-сервер - это слой над существующим API, который адаптирует его для модели: отбирает операции, которые стоит открыть, описывает их понятным языком, упрощает параметры и приводит результаты к виду, удобному для контекста модели. Как проектируется такой слой, описано в статье \u003Ca href=\"/ru/wiki/mcp/mcp-server-for-existing-api\" class=\"wiki-link wiki-link--article\">MCP-сервер поверх существующего API\u003C/a>.\u003C/p>\n\u003Cp>Протокол \u003Cstrong>Agent2Agent (A2A)\u003C/strong> решает другую задачу: он связывает агентов между собой, а MCP связывает агента с инструментами и данными. Эти протоколы используют вместе.\u003C/p>\n\u003Ch2 id=\"термины\" class=\"wiki-heading\">Термины\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"термины\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cdiv class=\"wiki-table wiki-table--cols-2\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Термин\u003C/th>\n\u003Cth>Значение\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>MCP-хост\u003C/td>\n\u003Ctd>ИИ-приложение, которое работает с моделью и подключается к MCP-серверам\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>MCP-клиент\u003C/td>\n\u003Ctd>Компонент хоста, который держит соединение с одним сервером\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>MCP-сервер\u003C/td>\n\u003Ctd>Программа, которая предоставляет инструменты, ресурсы и промпты\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Инструмент (tool)\u003C/td>\n\u003Ctd>Функция, которую модель может вызвать через хост\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Ресурс (resource)\u003C/td>\n\u003Ctd>Данные с URI, которые приложение может добавить в контекст\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Промпт (prompt)\u003C/td>\n\u003Ctd>Шаблон инструкции, который вызывает пользователь\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Elicitation\u003C/td>\n\u003Ctd>Запрос сервера на дополнительные данные от пользователя\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Возможность (capability)\u003C/td>\n\u003Ctd>Функция, поддержку которой объявляет клиент или сервер\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>_meta\u003C/code>\u003C/td>\n\u003Ctd>Поле запроса с версией протокола, данными о клиенте и его возможностями\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>MRTR\u003C/td>\n\u003Ctd>Multi Round-Trip Requests: сервер отвечает \u003Ccode>input_required\u003C/code>, клиент повторяет запрос с ответами\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Расширение (extension)\u003C/td>\n\u003Ctd>Необязательная возможность вне ядра протокола, например Tasks или MCP Apps\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch2 id=\"источники\" class=\"wiki-heading\">Источники\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"источники\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https://modelcontextprotocol.io/specification/2026-07-28\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Спецификация Model Context Protocol, версия 2026-07-28\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://modelcontextprotocol.io/docs/2026-07-28/learn/architecture\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Обзор архитектуры\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://modelcontextprotocol.io/specification/2026-07-28/basic/patterns/mrtr\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Multi Round-Trip Requests\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://blog.modelcontextprotocol.io/posts/2026-07-28/\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">The 2026-07-28 Specification, блог MCP\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://www.anthropic.com/news/model-context-protocol\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Introducing the Model Context Protocol, Anthropic, 25 ноября 2024\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://blog.modelcontextprotocol.io/posts/2025-09-08-mcp-registry-preview/\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Introducing the MCP Registry, блог MCP, 8 сентября 2025\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003C/ul>\n",[10,14,17,20,23,27,30,33,36,39,42,45,48,51,53,56,59,62,65,68,71],{"id":11,"level":12,"text":13},"кратко",2,"Кратко",{"id":15,"level":12,"text":16},"какую-задачу-решает-mcp","Какую задачу решает MCP",{"id":18,"level":12,"text":19},"история","История",{"id":21,"level":12,"text":22},"архитектура","Архитектура",{"id":24,"level":25,"text":26},"участники",3,"Участники",{"id":28,"level":25,"text":29},"уровни","Уровни",{"id":31,"level":12,"text":32},"примитивы","Примитивы",{"id":34,"level":12,"text":35},"как-проходит-запрос","Как проходит запрос",{"id":37,"level":25,"text":38},"обнаружение-возможностей","Обнаружение возможностей",{"id":40,"level":25,"text":41},"вызов-инструмента","Вызов инструмента",{"id":43,"level":25,"text":44},"когда-серверу-нужны-дополнительные-данные","Когда серверу нужны дополнительные данные",{"id":46,"level":25,"text":47},"уведомления","Уведомления",{"id":49,"level":12,"text":50},"транспорты","Транспорты",{"id":52,"level":25,"text":52},"stdio",{"id":54,"level":25,"text":55},"streamable-http","Streamable HTTP",{"id":57,"level":12,"text":58},"спецификация-2026-07-28","Спецификация 2026-07-28",{"id":60,"level":12,"text":61},"безопасность-и-авторизация","Безопасность и авторизация",{"id":63,"level":12,"text":64},"экосистема","Экосистема",{"id":66,"level":12,"text":67},"mcp-и-смежные-технологии","MCP и смежные технологии",{"id":69,"level":12,"text":70},"термины","Термины",{"id":72,"level":12,"text":73},"источники","Источники",2520,1793718888549]