[{"data":1,"prerenderedAt":109},["ShallowReactive",2],{"wiki-mcp-mcp-extensions-ru":3},{"meta":4,"html":8,"headings":9,"words":108},{"title":5,"description":6,"published":7,"updated":7,"sourceUpdated":7},"Расширения MCP","Расширения MCP - необязательные функции вне ядра протокола: идентификаторы, согласование, стадии, Tasks, MCP Apps, Enterprise-Managed Authorization, Skills.","2026-11-03","\u003Cp>\u003Cstrong>Расширение MCP (MCP extension)\u003C/strong> - необязательное дополнение к спецификации Model Context Protocol, которое определяет возможности (capabilities) за пределами ядра протокола. У расширения есть уникальный идентификатор и собственный документ, а работает оно, только если поддержку объявили и клиент, и сервер. Спецификация называет три назначения расширений: модульные функции, например аутентификация, специализированные, например логика отдельной отрасли, и экспериментальные, которые обкатывают перед возможным включением в ядро.\u003C/p>\n\u003Cp>Механизм расширений определил SEP-2133, а поле \u003Ccode>extensions\u003C/code> в возможностях стало частью схемы протокола в версии спецификации 2026-07-28. Первое официальное расширение, MCP Apps, объявлено 26 января 2026 года. Официальные расширения разрабатываются в репозиториях организации Model Context Protocol на GitHub. Общее устройство протокола описано в статье \u003Ca href=\"/ru/wiki/mcp/what-is-mcp\" class=\"wiki-link wiki-link--article\">Что такое MCP\u003C/a>, а модель возможностей в каждом запросе, на которую опираются расширения, - в статье \u003Ca href=\"/ru/wiki/mcp/stateless-mcp\" 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\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>\u003Ccode>{vendor-prefix}/{extension-name}\u003C/code>, префикс в обратной DNS-нотации\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Официальный префикс\u003C/td>\n\u003Ctd>\u003Ccode>io.modelcontextprotocol\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Согласование\u003C/td>\n\u003Ctd>Поле \u003Ccode>extensions\u003C/code> в возможностях клиента и сервера\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Стадии\u003C/td>\n\u003Ctd>Experimental, Beta, Stable; возможен перенос в ядро\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Официальные репозитории\u003C/td>\n\u003Ctd>Репозитории \u003Ccode>ext-\u003C/code> организации \u003Ccode>modelcontextprotocol\u003C/code> на GitHub\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Определяющие документы\u003C/td>\n\u003Ctd>SEP-2133 (механизм), SEP-3392 (жизненный цикл)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Официальные расширения\u003C/td>\n\u003Ctd>MCP Apps, Tasks, OAuth Client Credentials, Enterprise-Managed Authorization, Skills over MCP, Server Cards\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Состояние в SDK по умолчанию\u003C/td>\n\u003Ctd>Выключены, нужно явное включение\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\u003Cp>Каждую функцию ядра спецификации обязан реализовать каждый SDK. Часть функций нужна только в отдельных средах, например при корпоративном управлении учётными записями, а часть ещё не устоялась.\u003C/p>\n\u003Cp>Расширения отделяют такие функции от ядра. Расширение развивают его собственные мейнтейнеры, а реализации подключают его, только когда оно им нужно.\u003C/p>\n\u003Cp>Экспериментальные задачи версии 2025-11-25 находились в ядре, и опыт реализации выявил проблемы с их рукопожатием (handshake), блокирующим методом \u003Ccode>tasks/result\u003C/code> и областью видимости \u003Ccode>tasks/list\u003C/code>. SEP-2663 вынес их в расширение, чтобы дать функции время развиваться независимо от ядра. MCP Apps прошли обратный путь: MCP-UI и OpenAI Apps SDK выработали разные подходы к интерактивным результатам, а расширение объединило их.\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-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>4 июня 2025\u003C/td>\n\u003Ctd>Создан SEP-990, основа Enterprise-Managed Authorization\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>21 ноября 2025\u003C/td>\n\u003Ctd>Создан SEP-1865 «MCP Apps - Interactive User Interfaces for MCP»\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>25 ноября 2025\u003C/td>\n\u003Ctd>Спецификация 2025-11-25 с экспериментальными задачами в ядре\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>26 января 2026\u003C/td>\n\u003Ctd>MCP Apps, первое официальное расширение: редакция 2026-01-26 его спецификации\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>23 апреля 2026\u003C/td>\n\u003Ctd>Создан SEP-2640 «Skills Extension»\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>27 апреля 2026\u003C/td>\n\u003Ctd>Создан SEP-2663 «Tasks Extension»\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>28 июля 2026\u003C/td>\n\u003Ctd>Спецификация 2026-07-28: поле \u003Ccode>extensions\u003C/code> в возможностях, задачи перенесены в \u003Ccode>io.modelcontextprotocol/tasks\u003C/code>, редакции расширений авторизации привязаны к 2026-07-28\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>25 сентября 2026\u003C/td>\n\u003Ctd>Создан SEP-3392 «Extension Lifecycle»: стадии Experimental, Beta и Stable\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\u003Cp>Расширение обозначается строкой вида \u003Ccode>{vendor-prefix}/{extension-name}\u003C/code>. Идентификатор подчиняется правилам для ключей \u003Ccode>_meta\u003C/code>, но префикс в нём обязателен. Префикс - последовательность меток через точку; это должно быть перевёрнутое доменное имя, которым владеет автор: компания с доменом \u003Ccode>example.com\u003C/code> использует \u003Ccode>com.example/my-extension\u003C/code>. Любой префикс, у которого вторая метка - \u003Ccode>modelcontextprotocol\u003C/code> или \u003Ccode>mcp\u003C/code>, зарезервирован за MCP.\u003C/p>\n\u003Cp>В таблице - идентификаторы официальных расширений.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Расширение\u003C/th>\n\u003Cth>Идентификатор\u003C/th>\n\u003Cth>Репозиторий\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>MCP Apps\u003C/td>\n\u003Ctd>\u003Ccode>io.modelcontextprotocol/ui\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>ext-apps\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Tasks\u003C/td>\n\u003Ctd>\u003Ccode>io.modelcontextprotocol/tasks\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>ext-tasks\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>OAuth Client Credentials\u003C/td>\n\u003Ctd>\u003Ccode>io.modelcontextprotocol/oauth-client-credentials\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>ext-auth\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Enterprise-Managed Authorization\u003C/td>\n\u003Ctd>\u003Ccode>io.modelcontextprotocol/enterprise-managed-authorization\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>ext-auth\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Skills over MCP\u003C/td>\n\u003Ctd>\u003Ccode>io.modelcontextprotocol/skills\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>ext-skills\u003C/code>\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Идентификатор не меняется, когда расширение переходит на другую стадию. Несовместимое изменение тоже сохраняет идентификатор. Новый идентификатор, например \u003Ccode>io.modelcontextprotocol/my-extension-v2\u003C/code>, вводят, только если старое и новое поведение должны сосуществовать в одной версии протокола. Изначально SEP-2133 требовал нового идентификатора для каждого несовместимого изменения; SEP-3392 заменил это правило.\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>Поддержка объявляется в поле \u003Ccode>extensions\u003C/code> возможностей: это словарь, где ключ - идентификатор, а значение - объект настроек. Пустой объект означает поддержку без настроек. Схему своих настроек определяет каждое расширение. В протоколе без состояния клиент объявляет расширения в каждом запросе, внутри \u003Ccode>_meta[&quot;io.modelcontextprotocol/clientCapabilities&quot;]\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;tools/call&quot;,\n  &quot;params&quot;: {\n    &quot;name&quot;: &quot;get_weather&quot;,\n    &quot;arguments&quot;: { &quot;location&quot;: &quot;New York&quot; },\n    &quot;_meta&quot;: {\n      &quot;io.modelcontextprotocol/protocolVersion&quot;: &quot;2026-07-28&quot;,\n      &quot;io.modelcontextprotocol/clientCapabilities&quot;: {\n        &quot;extensions&quot;: {\n          &quot;io.modelcontextprotocol/ui&quot;: { &quot;mimeTypes&quot;: [&quot;text/html;profile=mcp-app&quot;] },\n          &quot;io.modelcontextprotocol/tasks&quot;: {}\n        }\n      }\n    }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\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;result&quot;: {\n    &quot;resultType&quot;: &quot;complete&quot;,\n    &quot;supportedVersions&quot;: [&quot;2026-07-28&quot;],\n    &quot;capabilities&quot;: {\n      &quot;tools&quot;: {},\n      &quot;resources&quot;: {},\n      &quot;extensions&quot;: {\n        &quot;io.modelcontextprotocol/ui&quot;: {},\n        &quot;io.modelcontextprotocol/skills&quot;: { &quot;directoryRead&quot;: true }\n      }\n    },\n    &quot;ttlMs&quot;: 3600000,\n    &quot;cacheScope&quot;: &quot;public&quot;\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Сервер не должен считать, что поддержка, объявленная в предыдущем запросе, действует и для следующего.\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>До версии 2026-07-28 многие SDK уже передавали расширения в \u003Ccode>capabilities.extensions\u003C/code> запроса и ответа \u003Ccode>initialize\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>_meta\u003C/code>, настройки и значения \u003Ccode>resultType\u003C/code>. Набор значений \u003Ccode>resultType\u003C/code>, которые принимает клиент, - это значения ядра плюс значения расширений, объявленных в возможностях. Например, Tasks резервирует префикс методов \u003Ccode>tasks/\u003C/code>, префикс уведомлений \u003Ccode>notifications/tasks/\u003C/code> и значение \u003Ccode>resultType\u003C/code> \u003Ccode>&quot;task&quot;\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\u003Cp>\u003Cstrong>Официальные расширения\u003C/strong> находятся в репозиториях организации \u003Ccode>modelcontextprotocol\u003C/code> на GitHub с префиксом \u003Ccode>ext-\u003C/code> и используют префикс \u003Ccode>io.modelcontextprotocol\u003C/code>. В каждом репозитории файл \u003Ccode>MAINTAINERS.md\u003C/code> перечисляет мейнтейнеров расширений (Extension Maintainers), а каждое расширение связано с рабочей группой (Working Group) или группой по интересам (Interest Group). За основными мейнтейнерами (Core Maintainers) остаётся право изменить, объявить устаревшим или удалить любое официальное расширение.\u003C/p>\n\u003Cp>\u003Cstrong>Экспериментальные расширения\u003C/strong> - путь обкатки идей для рабочих групп и групп по интересам. Они находятся в каталоге \u003Ccode>specification/experimental/\u003C/code> репозитория \u003Ccode>ext-\u003C/code> или в репозитории с префиксом \u003Ccode>experimental-ext-\u003C/code>. Опубликованные пакеты обязаны показывать экспериментальный статус, а реализациям следует фиксировать тег или коммит, потому что две редакции не обязаны быть совместимыми.\u003C/p>\n\u003Cp>Расширения, разработанные вне организации MCP, управление проекта MCP не признаёт; SEP-2133 называет их неофициальными. Им следует использовать как префикс перевёрнутый домен автора, а согласуются они по тем же правилам.\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>SEP-3392 определяет стадии расширения. Стадию показывает каталог, в котором лежит его спецификация: \u003Ccode>specification/experimental/\u003C/code>, \u003Ccode>specification/beta/\u003C/code> или \u003Ccode>specification/stable/\u003C/code>.\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>Experimental\u003C/td>\n\u003Ctd>Любые и в любой момент\u003C/td>\n\u003Ctd>Добавляет мейнтейнер расширения\u003C/td>\n\u003Ctd>Ничего; расширение может исчезнуть\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Beta\u003C/td>\n\u003Ctd>Любые, несовместимые редко и с документацией\u003C/td>\n\u003Ctd>SEP типа Extensions Track\u003C/td>\n\u003Ctd>Реальное использование; описанные несовместимые изменения\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Stable\u003C/td>\n\u003Ctd>Только с новой версией ядра протокола\u003C/td>\n\u003Ctd>Второй SEP типа Extensions Track\u003C/td>\n\u003Ctd>Поведение неизменно в пределах версии протокола\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Core\u003C/td>\n\u003Ctd>Как для ядра спецификации\u003C/td>\n\u003Ctd>SEP типа Standards Track\u003C/td>\n\u003Ctd>Как для ядра спецификации\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Изменения одобряют мейнтейнеры расширения без проверки основными мейнтейнерами. Расширению на стадии Beta, которое вносит несовместимое изменение, следует добавить или увеличить строку \u003Ccode>revision\u003C/code> в объекте настроек, чтобы другая сторона могла заметить расхождение. Расширение на стадии Stable публикуется неизменяемыми редакциями, привязанными к версиям ядра протокола, например \u003Ccode>specification/stable/&lt;name&gt;/2026-07-28/\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>Расширение начинается со стадии Experimental. Для перехода в Beta авторы подают SEP типа Extensions Track и указывают, должно ли расширение стать Stable или войти в ядро. До рассмотрения нужна хотя бы одна эталонная реализация в официальном SDK, а решение о принятии принимают основные мейнтейнеры. Для перехода в Stable второму SEP нужны две независимые совместимые реализации, одна на стороне клиента и одна на стороне сервера, и сценарий проверки соответствия.\u003C/p>\n\u003Cp>SEP типа Standards Track может перенести расширение в ядро в версии протокола R. Для запросов с версией R и новее функция становится поведением ядра; для более ранних версий продолжает действовать расширение.\u003C/p>\n\u003Ch3 id=\"поддержка-в-sdk\" class=\"wiki-heading\">Поддержка в SDK\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"поддержка-в-sdk\" 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>Поддержка расширений не требуется для соответствия протоколу, и мейнтейнеры SDK сами решают, какие расширения реализовать. По умолчанию расширения выключены, и разработчик должен включить их явно.\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\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>OAuth Client Credentials\u003C/td>\n\u003Ctd>Stable\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Enterprise-Managed Authorization\u003C/td>\n\u003Ctd>Stable\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>MCP Apps\u003C/td>\n\u003Ctd>Stable\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Tasks\u003C/td>\n\u003Ctd>Beta, с планом переноса в ядро\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Skills over MCP\u003C/td>\n\u003Ctd>Beta, назначение не указано\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Server Cards\u003C/td>\n\u003Ctd>Beta, назначение не указано\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch2 id=\"tasks\" class=\"wiki-heading\">Tasks\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"tasks\" 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>Расширение \u003Cstrong>Tasks\u003C/strong> позволяет серверу ответить на \u003Ccode>tools/call\u003C/code> идентификатором задачи вместо итогового результата. \u003Cstrong>Задача (task)\u003C/strong> - долговременный конечный автомат, который хранит состояние выполнения запроса и обозначается идентификатором \u003Ccode>taskId\u003C/code>, созданным сервером. Клиент опрашивает задачу и забирает результат позже, в том числе после переподключения. В текущей редакции задачу может создать только \u003Ccode>tools/call\u003C/code>.\u003C/p>\n\u003Cp>Создавать ли задачу, решает сервер. Клиент объявляет расширение в возможностях своих запросов и обязан обрабатывать обе формы результата; отдельного флага для создания задачи нет. Сервер не должен возвращать задачу клиенту, который не объявил расширение.\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>_meta\u003C/code> опущено для краткости. Длительный вызов возвращает результат с \u003Ccode>resultType: &quot;task&quot;\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;task&quot;,\n    &quot;taskId&quot;: &quot;786512e2-9e0d-44bd-8f29-789f320fe840&quot;,\n    &quot;status&quot;: &quot;working&quot;,\n    &quot;statusMessage&quot;: &quot;Build started.&quot;,\n    &quot;createdAt&quot;: &quot;2026-08-10T10:30:00Z&quot;,\n    &quot;lastUpdatedAt&quot;: &quot;2026-08-10T10:30:00Z&quot;,\n    &quot;ttlMs&quot;: 3600000,\n    &quot;pollIntervalMs&quot;: 5000\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Сервер не должен отправлять этот результат, пока задача не создана надёжно, то есть пока \u003Ccode>tasks/get\u003C/code> с возвращённым идентификатором не начнёт выполняться успешно. \u003Ccode>ttlMs\u003C/code> - срок жизни от создания или \u003Ccode>null\u003C/code>, если срок не ограничен. \u003Ccode>pollIntervalMs\u003C/code> - рекомендуемый интервал опроса; серверы могут ограничивать клиентов, которые опрашивают чаще. Клиент опрашивает задачу через \u003Ccode>tasks/get\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;: 2,\n  &quot;method&quot;: &quot;tasks/get&quot;,\n  &quot;params&quot;: { &quot;taskId&quot;: &quot;786512e2-9e0d-44bd-8f29-789f320fe840&quot; }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>В \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"streamable-http\">Streamable HTTP\u003C/span> клиент ставит в заголовок \u003Ccode>Mcp-Name\u003C/code> запросов \u003Ccode>tasks/get\u003C/code>, \u003Ccode>tasks/update\u003C/code> и \u003Ccode>tasks/cancel\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\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Статус\u003C/th>\n\u003Cth>Значение\u003C/th>\n\u003Cth>Дополнительное поле\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>\u003Ccode>working\u003C/code>\u003C/td>\n\u003Ctd>Запрос обрабатывается\u003C/td>\n\u003Ctd>Нет\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>input_required\u003C/code>\u003C/td>\n\u003Ctd>Серверу нужны данные от клиента\u003C/td>\n\u003Ctd>\u003Ccode>inputRequests\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>completed\u003C/code>\u003C/td>\n\u003Ctd>Запрос завершён; конечный статус\u003C/td>\n\u003Ctd>\u003Ccode>result\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>failed\u003C/code>\u003C/td>\n\u003Ctd>При выполнении произошла ошибка JSON-RPC; конечный статус\u003C/td>\n\u003Ctd>\u003Ccode>error\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>cancelled\u003C/code>\u003C/td>\n\u003Ctd>Задача отменена; конечный статус\u003C/td>\n\u003Ctd>Нет\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Результат инструмента (tool) с \u003Ccode>isError: true\u003C/code> - это задача в статусе \u003Ccode>completed\u003C/code> с ошибкой внутри \u003Ccode>result\u003C/code>. Статус \u003Ccode>failed\u003C/code> предназначен только для \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"protocol-error\">ошибок протокола\u003C/span>.\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>tasks/get\u003C/code> возвращает \u003Ccode>status: &quot;input_required&quot;\u003C/code> и словарь \u003Ccode>inputRequests\u003C/code> в формате \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"mrtr\">Multi Round-Trip Requests\u003C/span>. Клиент отвечает запросом \u003Ccode>tasks/update\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;: 6,\n  &quot;method&quot;: &quot;tasks/update&quot;,\n  &quot;params&quot;: {\n    &quot;taskId&quot;: &quot;786512e2-9e0d-44bd-8f29-789f320fe840&quot;,\n    &quot;inputResponses&quot;: {\n      &quot;approve_deploy&quot;: { &quot;action&quot;: &quot;accept&quot;, &quot;content&quot;: { &quot;approved&quot;: true } }\n    }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Сервер подтверждает его пустым результатом с \u003Ccode>resultType: &quot;complete&quot;\u003C/code>. Подтверждение согласовано в конечном счёте: статус, который видит \u003Ccode>tasks/get\u003C/code>, может измениться позже. Каждый ключ \u003Ccode>inputRequests\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;: 9,\n  &quot;result&quot;: {\n    &quot;resultType&quot;: &quot;complete&quot;,\n    &quot;taskId&quot;: &quot;786512e2-9e0d-44bd-8f29-789f320fe840&quot;,\n    &quot;status&quot;: &quot;completed&quot;,\n    &quot;createdAt&quot;: &quot;2026-08-10T10:30:00Z&quot;,\n    &quot;lastUpdatedAt&quot;: &quot;2026-08-10T10:52:00Z&quot;,\n    &quot;ttlMs&quot;: 3600000,\n    &quot;pollIntervalMs&quot;: 5000,\n    &quot;result&quot;: {\n      &quot;content&quot;: [{ &quot;type&quot;: &quot;text&quot;, &quot;text&quot;: &quot;Deployed build 1842 to staging.&quot; }],\n      &quot;isError&quot;: false\n    }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\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>tasks/cancel\u003C/code> сообщает о намерении отменить задачу. Сервер обязан подтвердить запрос, но не обязан останавливать работу, и задача ещё может дойти до \u003Ccode>completed\u003C/code>. Вместо опроса клиент может открыть \u003Ccode>subscriptions/listen\u003C/code> с фильтром \u003Ccode>taskIds\u003C/code> и получать \u003Ccode>notifications/tasks\u003C/code> с полным состоянием задачи.\u003C/p>\n\u003Ch3 id=\"отличия-от-2025-11-25\" class=\"wiki-heading\">Отличия от 2025-11-25\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"отличия-от-2025-11-25\" 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>Экспериментальные задачи версии 2025-11-25 несовместимы с расширением на уровне сообщений. Блокирующий метод \u003Ccode>tasks/result\u003C/code> и \u003Ccode>tasks/list\u003C/code> удалены, параметр \u003Ccode>task\u003C/code> в \u003Ccode>tools/call\u003C/code> игнорируется, а объявления возможностей \u003Ccode>tasks.requests.*\u003C/code>, \u003Ccode>tasks.cancel\u003C/code> и \u003Ccode>tasks.list\u003C/code> заменены идентификатором расширения. Идентификаторы задач должны быть трудно угадываемыми, а каждый запрос к задаче проходит проверку авторизации.\u003C/p>\n\u003Ch2 id=\"mcp-apps\" class=\"wiki-heading\">MCP Apps\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"mcp-apps\" 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>\u003Cstrong>MCP Apps\u003C/strong> (\u003Ccode>io.modelcontextprotocol/ui\u003C/code>) позволяют серверу передать интерактивный HTML-интерфейс, который хост (host) отображает прямо в диалоге. Расширение соединяет два примитива: \u003Cstrong>UI-ресурс\u003C/strong> (resource) со схемой URI \u003Ccode>ui://\u003C/code> и MIME-типом \u003Ccode>text/html;profile=mcp-app\u003C/code> и инструмент, который ссылается на этот ресурс в \u003Ccode>_meta.ui.resourceUri\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;name&quot;: &quot;get_weather&quot;,\n  &quot;description&quot;: &quot;Get current weather for a location&quot;,\n  &quot;inputSchema&quot;: {\n    &quot;type&quot;: &quot;object&quot;,\n    &quot;properties&quot;: { &quot;location&quot;: { &quot;type&quot;: &quot;string&quot; } }\n  },\n  &quot;_meta&quot;: {\n    &quot;ui&quot;: {\n      &quot;resourceUri&quot;: &quot;ui://weather-server/dashboard&quot;,\n      &quot;visibility&quot;: [&quot;model&quot;, &quot;app&quot;]\n    }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Хост получает интерфейс через \u003Ccode>resources/read\u003C/code>, возможно ещё до вызова инструмента. Содержимое ресурса может включать \u003Ccode>_meta.ui.csp\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;: 4,\n  &quot;result&quot;: {\n    &quot;resultType&quot;: &quot;complete&quot;,\n    &quot;contents&quot;: [\n      {\n        &quot;uri&quot;: &quot;ui://weather-server/dashboard&quot;,\n        &quot;mimeType&quot;: &quot;text/html;profile=mcp-app&quot;,\n        &quot;text&quot;: &quot;&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;body&gt;...&lt;/body&gt;&lt;/html&gt;&quot;,\n        &quot;_meta&quot;: { &quot;ui&quot;: { &quot;csp&quot;: { &quot;connectDomains&quot;: [&quot;https://api.example.com&quot;] } } }\n      }\n    ],\n    &quot;ttlMs&quot;: 3600000,\n    &quot;cacheScope&quot;: &quot;public&quot;\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>\u003Ccode>visibility\u003C/code> определяет, кто может вызывать инструмент. Значение \u003Ccode>&quot;model&quot;\u003C/code> делает его доступным модели, \u003Ccode>&quot;app&quot;\u003C/code> - интерфейсу того же сервера. Инструмент только с \u003Ccode>[&quot;app&quot;]\u003C/code> исключается из списка инструментов модели. Ресурсы и инструменты разобраны в статьях \u003Ca href=\"/ru/wiki/mcp/mcp-resources\" class=\"wiki-link wiki-link--article\">Ресурсы MCP\u003C/a> и \u003Ca href=\"/ru/wiki/mcp/mcp-tools\" class=\"wiki-link wiki-link--article\">Инструменты MCP\u003C/a>.\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>Интерфейс работает в изолированном iframe без доступа к DOM, cookie и хранилищу хоста. Веб-хост помещает его за промежуточный прокси-фрейм песочницы на другом источнике (origin). Если ресурс не объявил CSP, хост применяет строгие правила по умолчанию, которые запрещают внешние соединения, и не должен разрешать необъявленные домены.\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>Интерфейс и хост обмениваются сообщениями JSON-RPC 2.0 через \u003Ccode>postMessage\u003C/code>. Спецификация описывает это как диалект MCP, в котором интерфейс выступает клиентом хоста.\u003C/p>\n\u003Cdiv class=\"wiki-code wiki-code--plain\">\u003Cpre>\u003Ccode>Host (AI application)\n |\n +-- MCP client ------ tools/call, resources/read ------ MCP server\n |\n +-- sandbox proxy (separate origin)\n       |\n       +-- iframe with the interface --- postMessage, JSON-RPC\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Обмен начинается с \u003Ccode>ui/initialize\u003C/code> и \u003Ccode>ui/notifications/initialized\u003C/code>. Хост передаёт аргументы инструмента в \u003Ccode>ui/notifications/tool-input\u003C/code>, а результат - в \u003Ccode>ui/notifications/tool-result\u003C/code>. Интерфейс может вызывать инструменты своего сервера через \u003Ccode>tools/call\u003C/code>; хост пересылает такие вызовы и может запросить подтверждение пользователя. Ещё интерфейс может отправить сообщение в чат через \u003Ccode>ui/message\u003C/code>, добавить данные в контекст модели через \u003Ccode>ui/update-model-context\u003C/code> и попросить хост открыть ссылку через \u003Ccode>ui/open-link\u003C/code>. Перед удалением интерфейса хост отправляет \u003Ccode>ui/resource-teardown\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>Хост без поддержки MCP Apps считает инструмент обычным и показывает его текстовый результат. Поэтому инструмент обязан возвращать осмысленный \u003Ccode>content\u003C/code>, даже когда у него есть интерфейс, а серверам следует предусматривать текстовое поведение для каждого инструмента с интерфейсом.\u003C/p>\n\u003Ch2 id=\"enterprise-managed-authorization\" class=\"wiki-heading\">Enterprise-Managed Authorization\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"enterprise-managed-authorization\" 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>Enterprise-Managed Authorization\u003C/strong> (\u003Ccode>io.modelcontextprotocol/enterprise-managed-authorization\u003C/code>) делает корпоративного провайдера учётных записей (identity provider, IdP) местом, где решается доступ к \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"mcp-server\">MCP-серверам\u003C/span>. Без расширения каждый пользователь авторизует каждый клиент на каждом сервере отдельно. С расширением администраторы задают в IdP, какие пользователи могут работать с какими клиентами, серверами и правами (scopes). Основы авторизации в MCP через OAuth описаны в статье \u003Ca href=\"/ru/wiki/mcp/mcp-authorization\" class=\"wiki-link wiki-link--article\">Авторизация в MCP\u003C/a>.\u003C/p>\n\u003Cp>Расширение - профиль черновика IETF Identity Assertion JWT Authorization Grant. Процесс состоит из трёх шагов:\u003C/p>\n\u003Col>\n\u003Cli>Пользователь входит в \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"mcp-client\">MCP-клиент\u003C/span> через корпоративный IdP по OpenID Connect или SAML, и клиент сохраняет подтверждение личности (identity assertion).\u003C/li>\n\u003Cli>Клиент отправляет в IdP запрос обмена токенов (RFC 8693) с \u003Ccode>requested_token_type\u003C/code>, равным \u003Ccode>urn:ietf:params:oauth:token-type:id-jag\u003C/code>. IdP проверяет свои политики и возвращает Identity Assertion JWT Authorization Grant (ID-JAG).\u003C/li>\n\u003Cli>Клиент предъявляет ID-JAG \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"authorization-server\">серверу авторизации\u003C/span> MCP-сервера как грант JWT bearer (RFC 7523) и получает токен доступа.\u003C/li>\n\u003C/ol>\n\u003Cp>Клиент не перенаправляет пользователя на сервер авторизации MCP-сервера. О поддержке профиля он узнаёт по значению \u003Ccode>urn:ietf:params:oauth:grant-profile:id-jag\u003C/code> в поле \u003Ccode>authorization_grant_profiles_supported\u003C/code> метаданных сервера авторизации. IdP видит только выдачу токена, но не сам трафик MCP.\u003C/p>\n\u003Cp>В том же репозитории находится \u003Cstrong>OAuth Client Credentials\u003C/strong> (\u003Ccode>io.modelcontextprotocol/oauth-client-credentials\u003C/code>) - расширение для доступа между машинами без участия пользователя, например из конвейеров CI и фоновых сервисов.\u003C/p>\n\u003Ch2 id=\"skills-over-mcp\" class=\"wiki-heading\">Skills over MCP\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"skills-over-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>Skills over MCP\u003C/strong> (\u003Ccode>io.modelcontextprotocol/skills\u003C/code>) позволяют серверу публиковать Agent Skills - каталоги с файлом \u003Ccode>SKILL.md\u003C/code> и вспомогательными файлами. SEP-2640 имеет статус Final, а страница обзора расширений относит расширение к стадии Beta. Сервер, который его объявляет, обязан также объявить \u003Ccode>resources\u003C/code> и реализовать \u003Ccode>skills/list\u003C/code> и \u003Ccode>skills/get\u003C/code>; файлы читаются через \u003Ccode>resources/read\u003C/code> по URI \u003Ccode>skill://\u003C/code>.\u003C/p>\n\u003Cp>Чтение \u003Ccode>SKILL.md\u003C/code> не активирует скил. Хост загружает его через собственный механизм загрузки скилов, который проверяет содержимое и при необходимости запрашивает подтверждение пользователя. Расширение требует, чтобы хост считал содержимое скилов недоверенными данными; риски инструкций в таком содержимом разобраны в статье \u003Ca href=\"/ru/wiki/ai-testing/prompt-injection\" class=\"wiki-link wiki-link--article\">Prompt injection\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>Если одна сторона поддерживает расширение, а другая нет, поддерживающая сторона обязана либо вернуться к поведению ядра, либо отклонить запрос с ошибкой. Расширениям следует описывать своё резервное поведение. В таблице - поведение, которое определяет каждое официальное расширение.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Расширение\u003C/th>\n\u003Cth>Сторона без поддержки\u003C/th>\n\u003Cth>Определённое поведение\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Tasks\u003C/td>\n\u003Ctd>Клиент\u003C/td>\n\u003Ctd>Сервер возвращает обычный результат; методы задач возвращают \u003Ccode>-32021\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>MCP Apps\u003C/td>\n\u003Ctd>Хост\u003C/td>\n\u003Ctd>Инструмент работает как текстовый\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Enterprise-Managed Authorization\u003C/td>\n\u003Ctd>Клиент\u003C/td>\n\u003Ctd>Сервер возвращается к авторизации ядра или отклоняет клиента\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Skills over MCP\u003C/td>\n\u003Ctd>Сервер\u003C/td>\n\u003Ctd>Клиент не отправляет \u003Ccode>skills/list\u003C/code> и \u003Ccode>skills/get\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Любое\u003C/td>\n\u003Ctd>Клиент получает неизвестный \u003Ccode>resultType\u003C/code>\u003C/td>\n\u003Ctd>Результат для клиента недопустим\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Единого кода ошибки для всех расширений спецификация не определяет.\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 три механизма. В таблице они сравниваются.\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>Где описана\u003C/td>\n\u003Ctd>Ядро спецификации\u003C/td>\n\u003Ctd>Документ расширения в репозитории \u003Ccode>ext-\u003C/code>\u003C/td>\n\u003Ctd>Не описана\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Где объявляется\u003C/td>\n\u003Ctd>Именованная возможность, например \u003Ccode>tools\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>capabilities.extensions\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>capabilities.experimental\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Идентификатор\u003C/td>\n\u003Ctd>Имя поля в схеме\u003C/td>\n\u003Ctd>\u003Ccode>vendor-prefix/name\u003C/code>\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>Зависит от стадии\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\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Изменения функции ядра проходят через SEP, которые одобряют основные мейнтейнеры, а вывод её из употребления подчиняется политике жизненного цикла функций, описанной в статье \u003Ca href=\"/ru/wiki/mcp/stateless-mcp\" class=\"wiki-link wiki-link--article\">MCP без состояния\u003C/a>.\u003C/p>\n\u003Cp>Поле \u003Ccode>experimental\u003C/code> в \u003Ccode>ClientCapabilities\u003C/code> и \u003Ccode>ServerCapabilities\u003C/code> содержит нестандартные возможности в виде словаря имён и объектов. Схема не определяет для них ни процесса, ни префикса, ни документа, тогда как у экспериментального расширения есть рабочая группа, репозиторий и путь к стадии Beta.\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>Необязательное дополнение к спецификации вне ядра протокола, объявляемое в возможностях\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Идентификатор расширения\u003C/td>\n\u003Ctd>Строка вида \u003Ccode>vendor-prefix/name\u003C/code>, которая обозначает расширение в возможностях\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Официальное расширение\u003C/td>\n\u003Ctd>Расширение в репозитории \u003Ccode>ext-\u003C/code> организации MCP с префиксом \u003Ccode>io.modelcontextprotocol\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Экспериментальное расширение\u003C/td>\n\u003Ctd>Расширение на стадии обкатки без обещаний стабильности, связанное с рабочей группой или группой по интересам\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Стадия расширения\u003C/td>\n\u003Ctd>Уровень зрелости расширения: Experimental, Beta или Stable\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Задача\u003C/td>\n\u003Ctd>Долговременное состояние длительного запроса, которое клиент опрашивает по \u003Ccode>taskId\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>UI-ресурс\u003C/td>\n\u003Ctd>Ресурс с URI \u003Ccode>ui://\u003C/code>, который содержит HTML-интерфейс для MCP Apps\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>ID-JAG\u003C/td>\n\u003Ctd>Identity Assertion JWT Authorization Grant: токен корпоративного IdP, который обменивают на токен доступа\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Скил\u003C/td>\n\u003Ctd>Каталог с \u003Ccode>SKILL.md\u003C/code> и вспомогательными файлами, который отдаёт расширение Skills\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/extensions/overview\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Extensions Overview\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/versioning\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Versioning and Compatibility: согласование расширений, спецификация 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/specification/2026-07-28/changelog\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Key Changes, спецификация 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://github.com/modelcontextprotocol/specification/blob/main/schema/2026-07-28/schema.ts\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Схема TypeScript, версия 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/seps/2133-extensions\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">SEP-2133: Extensions\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/seps/3392-extension-lifecycle\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">SEP-3392: Extension Lifecycle\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/extensions/tasks/overview\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Tasks\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/seps/2663-tasks-extension\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">SEP-2663: Tasks Extension\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://github.com/modelcontextprotocol/ext-tasks/blob/main/schema/2026-07-28/schema.ts\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Схема расширения MCP Tasks, версия 2026-07-28, GitHub\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/extensions/apps/overview\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">MCP Apps\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://github.com/modelcontextprotocol/ext-apps/blob/main/specification/2026-01-26/apps.mdx\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Спецификация MCP Apps, редакция 2026-01-26, GitHub\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-01-26-mcp-apps/\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">MCP Apps - Bringing UI Capabilities To MCP Clients, блог MCP, 26 января 2026\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/extensions/auth/enterprise-managed-authorization\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Enterprise-Managed Authorization\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://github.com/modelcontextprotocol/ext-auth/blob/main/specification/stable/enterprise-managed-authorization/2026-07-28/enterprise-managed-authorization.mdx\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Спецификация Enterprise-Managed Authorization, редакция 2026-07-28, GitHub\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/extensions/skills/overview\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Skills\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, 28 июля 2026\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,26,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105],{"id":11,"level":12,"text":13},"кратко",2,"Кратко",{"id":15,"level":12,"text":16},"какую-задачу-решают-расширения","Какую задачу решают расширения",{"id":18,"level":12,"text":19},"история","История",{"id":21,"level":12,"text":22},"идентификаторы-расширений","Идентификаторы расширений",{"id":24,"level":12,"text":25},"согласование","Согласование",{"id":27,"level":28,"text":29},"объявление-поддержки",3,"Объявление поддержки",{"id":31,"level":28,"text":32},"версии-с-рукопожатием","Версии с рукопожатием",{"id":34,"level":28,"text":35},"что-могут-добавлять-расширения","Что могут добавлять расширения",{"id":37,"level":12,"text":38},"официальные-экспериментальные-и-сторонние-расширения","Официальные, экспериментальные и сторонние расширения",{"id":40,"level":12,"text":41},"жизненный-цикл-и-управление","Жизненный цикл и управление",{"id":43,"level":28,"text":44},"стадии","Стадии",{"id":46,"level":28,"text":47},"создание-и-перенос-в-ядро","Создание и перенос в ядро",{"id":49,"level":28,"text":50},"поддержка-в-sdk","Поддержка в SDK",{"id":52,"level":28,"text":53},"текущие-стадии","Текущие стадии",{"id":55,"level":12,"text":56},"tasks","Tasks",{"id":58,"level":28,"text":59},"назначение","Назначение",{"id":61,"level":28,"text":62},"создание-и-опрос-задачи","Создание и опрос задачи",{"id":64,"level":28,"text":65},"статусы","Статусы",{"id":67,"level":28,"text":68},"ввод-во-время-выполнения","Ввод во время выполнения",{"id":70,"level":28,"text":71},"отмена-и-уведомления","Отмена и уведомления",{"id":73,"level":28,"text":74},"отличия-от-2025-11-25","Отличия от 2025-11-25",{"id":76,"level":12,"text":77},"mcp-apps","MCP Apps",{"id":79,"level":28,"text":80},"составные-части","Составные части",{"id":82,"level":28,"text":83},"песочница","Песочница",{"id":85,"level":28,"text":86},"обмен-между-интерфейсом-и-хостом","Обмен между интерфейсом и хостом",{"id":88,"level":28,"text":89},"резервное-поведение","Резервное поведение",{"id":91,"level":12,"text":92},"enterprise-managed-authorization","Enterprise-Managed Authorization",{"id":94,"level":12,"text":95},"skills-over-mcp","Skills over MCP",{"id":97,"level":12,"text":98},"поведение-без-поддержки-расширения","Поведение без поддержки расширения",{"id":100,"level":12,"text":101},"расширение-функция-ядра-и-экспериментальная-возможность","Расширение, функция ядра и экспериментальная возможность",{"id":103,"level":12,"text":104},"термины","Термины",{"id":106,"level":12,"text":107},"источники","Источники",2524,1793718889451]