[{"data":1,"prerenderedAt":76},["ShallowReactive",2],{"wiki-mcp-mcp-prompts-ru":3},{"meta":4,"html":8,"headings":9,"words":75},{"title":5,"description":6,"published":7,"updated":7,"sourceUpdated":7},"Промпты (prompts) в MCP","Промпт в MCP - шаблон сообщений, который предлагает сервер и вызывает пользователь. prompts/list и prompts/get, аргументы, автодополнение, типы содержимого.","2026-11-03","\u003Cp>\u003Cstrong>Промпт (prompt)\u003C/strong> в Model Context Protocol (MCP) - шаблон сообщений для языковой модели, который предлагает сервер и явно выбирает пользователь. Клиент узнаёт о промптах через \u003Ccode>prompts/list\u003C/code>, заполняет их аргументы и получает готовые сообщения через \u003Ccode>prompts/get\u003C/code>. Затем хост добавляет эти сообщения в диалог с моделью.\u003C/p>\n\u003Cp>Промпты - один из трёх примитивов сервера, наряду с инструментами (tools) и ресурсами (resources). Они входят в спецификацию с её первой версии, 2024-11-05. Текущая версия спецификации - \u003Cstrong>2026-07-28\u003C/strong>; протокол развивается в Agentic AI Foundation, входящем в Linux Foundation. Основные понятия MCP (хост, клиент, сервер, примитивы) описаны в статье \u003Ca href=\"/ru/wiki/mcp/what-is-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>Примитив сервера\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>\u003Ccode>prompts/list\u003C/code>, \u003Ccode>prompts/get\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Связанные методы\u003C/td>\n\u003Ctd>\u003Ccode>completion/complete\u003C/code>, \u003Ccode>subscriptions/listen\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Возможность сервера\u003C/td>\n\u003Ctd>\u003Ccode>prompts\u003C/code>, необязательный флаг \u003Ccode>listChanged\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>Список сообщений с ролями \u003Ccode>user\u003C/code> и \u003Ccode>assistant\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Первая версия\u003C/td>\n\u003Ctd>2024-11-05\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Текущая спецификация\u003C/td>\n\u003Ctd>2026-07-28\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>Автор сервера лучше всех знает, как пользоваться его инструментами и данными. Пользователь ИИ-приложения обычно этого не знает. Без стандартного механизма пользователь пишет инструкции к каждой задаче сам, а знание о том, как работать с сервером, остаётся в его документации.\u003C/p>\n\u003Cp>Промпты переносят эти инструкции в сам сервер. Автор сервера публикует готовые шаблоны для типовых задач своей области, например для ревью кода или сводки по встречам. Документация MCP называет два назначения промптов: параметризованные промпты для предметной области и демонстрация того, как лучше всего использовать сервер.\u003C/p>\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>В таблице - изменения промптов от версии к версии спецификации.\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>2024-11-05\u003C/td>\n\u003Ctd>\u003Ccode>prompts/list\u003C/code> и \u003Ccode>prompts/get\u003C/code>, аргументы, текст, изображения и встроенные ресурсы, уведомления об изменении списка, автодополнение аргументов\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>2025-03-26\u003C/td>\n\u003Ctd>Аудио; возможность \u003Ccode>completions\u003C/code> для автодополнения аргументов\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>2025-06-18\u003C/td>\n\u003Ctd>Поле \u003Ccode>title\u003C/code> для отображаемого имени; \u003Ccode>context\u003C/code> в запросах автодополнения; содержимое сообщений использует общий тип, в который входят ссылки на ресурсы\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>2025-11-25\u003C/td>\n\u003Ctd>Поле \u003Ccode>icons\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>2026-07-28\u003C/td>\n\u003Ctd>Возможность объявляется в \u003Ccode>server/discover\u003C/code>; подсказки для кеширования в \u003Ccode>prompts/list\u003C/code>; уведомления только через \u003Ccode>subscriptions/listen\u003C/code>; \u003Ccode>prompts/get\u003C/code> может запросить дополнительные данные; на HTTP имя промпта передаётся в заголовке \u003Ccode>Mcp-Name\u003C/code>\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch2 id=\"как-работают-промпты\" class=\"wiki-heading\">Как работают промпты\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"как-работают-промпты\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Ch3 id=\"возможность-сервера\" class=\"wiki-heading\">Возможность сервера\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"возможность-сервера\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Сервер, который предлагает промпты, объявляет возможность (capability) \u003Ccode>prompts\u003C/code> в результате \u003Ccode>server/discover\u003C/code>. Необязательный флаг \u003Ccode>listChanged\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;capabilities&quot;: {\n    &quot;prompts&quot;: {\n      &quot;listChanged&quot;: true\n    }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Сервер, объявивший эту возможность, обязан отвечать на \u003Ccode>prompts/list\u003C/code> списком промптов, доступных клиенту в данный момент. Список может быть пустым и может меняться со временем. Он не должен зависеть от соединения или от отправленных ранее запросов. Зависеть от авторизации запроса он может, например от прав (scopes) токена: учётные данные - часть каждого запроса. Клиент, который вызывает \u003Ccode>prompts/list\u003C/code> у сервера без этой возможности, получает ошибку JSON-RPC \u003Ccode>-32601\u003C/code> (Method not found).\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>prompts/list\u003C/code>. Как и в любом запросе версии 2026-07-28, поле \u003Ccode>_meta\u003C/code> содержит версию протокола, данные о клиенте и его возможности. Список выдаётся постранично: если в результате есть \u003Ccode>nextCursor\u003C/code>, клиент передаёт его как \u003Ccode>cursor\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;prompts/list&quot;,\n  &quot;params&quot;: {\n    &quot;_meta&quot;: {\n      &quot;io.modelcontextprotocol/protocolVersion&quot;: &quot;2026-07-28&quot;,\n      &quot;io.modelcontextprotocol/clientInfo&quot;: { &quot;name&quot;: &quot;example-client&quot;, &quot;version&quot;: &quot;1.0.0&quot; },\n      &quot;io.modelcontextprotocol/clientCapabilities&quot;: {}\n    }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cdiv class=\"wiki-code\" data-language=\"json\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">JSON\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 1,\n  &quot;result&quot;: {\n    &quot;resultType&quot;: &quot;complete&quot;,\n    &quot;prompts&quot;: [\n      {\n        &quot;name&quot;: &quot;code_review&quot;,\n        &quot;title&quot;: &quot;Request Code Review&quot;,\n        &quot;description&quot;: &quot;Asks the LLM to analyze code quality and suggest improvements&quot;,\n        &quot;arguments&quot;: [\n          { &quot;name&quot;: &quot;code&quot;, &quot;description&quot;: &quot;The code to review&quot;, &quot;required&quot;: true },\n          { &quot;name&quot;: &quot;language&quot;, &quot;description&quot;: &quot;Programming language of the code&quot; }\n        ],\n        &quot;icons&quot;: [\n          { &quot;src&quot;: &quot;https://example.com/review-icon.svg&quot;, &quot;mimeType&quot;: &quot;image/svg+xml&quot;, &quot;sizes&quot;: [&quot;any&quot;] }\n        ]\n      }\n    ],\n    &quot;ttlMs&quot;: 600000,\n    &quot;cacheScope&quot;: &quot;public&quot;\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Каждый промпт в списке описывается полями:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ccode>name\u003C/code>\u003C/strong>: идентификатор промпта, уникальный в пределах сервера. Клиент указывает его в \u003Ccode>prompts/get\u003C/code>.\u003C/li>\n\u003Cli>\u003Cstrong>\u003Ccode>title\u003C/code>\u003C/strong>: необязательное отображаемое имя для интерфейса. Если его нет, хост показывает \u003Ccode>name\u003C/code>.\u003C/li>\n\u003Cli>\u003Cstrong>\u003Ccode>description\u003C/code>\u003C/strong>: необязательное описание того, что делает промпт.\u003C/li>\n\u003Cli>\u003Cstrong>\u003Ccode>icons\u003C/code>\u003C/strong>: необязательные значки для интерфейса, у каждого URI источника и необязательные тип MIME, размеры и тема.\u003C/li>\n\u003Cli>\u003Cstrong>\u003Ccode>arguments\u003C/code>\u003C/strong>: необязательный список аргументов.\u003C/li>\n\u003Cli>\u003Cstrong>\u003Ccode>_meta\u003C/code>\u003C/strong>: необязательные метаданные.\u003C/li>\n\u003C/ul>\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>Аргумент промпта\u003C/strong> - именованный параметр, который пользователь заполняет до того, как сервер соберёт сообщения. У аргумента есть \u003Ccode>name\u003C/code>, необязательные \u003Ccode>title\u003C/code> и \u003Ccode>description\u003C/code> и необязательный флаг \u003Ccode>required\u003C/code>. Аргумент без \u003Ccode>required: true\u003C/code> необязателен.\u003C/p>\n\u003Cp>JSON Schema у аргументов промпта нет. В \u003Ccode>prompts/get\u003C/code> клиент передаёт их объектом \u003Ccode>arguments\u003C/code>, где каждое значение - строка. Числа, даты и списки тоже передаются строками, а сервер сам их разбирает. У инструментов иначе: их параметры описаны JSON Schema в \u003Ccode>inputSchema\u003C/code>, см. статью \u003Ca href=\"/ru/wiki/mcp/mcp-tools\" class=\"wiki-link wiki-link--article\">Инструменты (tools) в MCP\u003C/a>.\u003C/p>\n\u003Cp>Серверу следует проверять аргументы, прежде чем собирать промпт. Отсутствие обязательного аргумента и неизвестное имя промпта возвращаются ошибкой JSON-RPC \u003Ccode>-32602\u003C/code> (Invalid params).\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>\u003Cstrong>Автодополнение аргументов (completion)\u003C/strong> - механизм, через который сервер предлагает значения аргумента, пока пользователь его вводит. Он определён отдельным вспомогательным механизмом спецификации и работает для аргументов промптов и для параметров \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"resource-template\">шаблонов ресурсов\u003C/span>. Сервер, который его поддерживает, объявляет возможность \u003Ccode>completions\u003C/code>.\u003C/p>\n\u003Cp>Клиент отправляет \u003Ccode>completion/complete\u003C/code> со ссылкой на промпт (\u003Ccode>ref/prompt\u003C/code> и имя промпта), именем аргумента и уже введённым значением. Если у промпта несколько аргументов, клиент может передать уже выбранные значения в \u003Ccode>context.arguments\u003C/code>, чтобы сервер сузил варианты. В примерах ниже поле \u003Ccode>_meta\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;completion/complete&quot;,\n  &quot;params&quot;: {\n    &quot;ref&quot;: { &quot;type&quot;: &quot;ref/prompt&quot;, &quot;name&quot;: &quot;code_review&quot; },\n    &quot;argument&quot;: { &quot;name&quot;: &quot;language&quot;, &quot;value&quot;: &quot;py&quot; }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cdiv class=\"wiki-code\" data-language=\"json\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">JSON\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 2,\n  &quot;result&quot;: {\n    &quot;resultType&quot;: &quot;complete&quot;,\n    &quot;completion&quot;: {\n      &quot;values&quot;: [&quot;python&quot;, &quot;pytorch&quot;, &quot;pyside&quot;],\n      &quot;total&quot;: 10,\n      &quot;hasMore&quot;: true\n    }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Сервер возвращает не больше 100 значений, упорядоченных по релевантности. Необязательное поле \u003Ccode>total\u003C/code> сообщает число всех совпадений, а \u003Ccode>hasMore\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>prompts/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;: 3,\n  &quot;method&quot;: &quot;prompts/get&quot;,\n  &quot;params&quot;: {\n    &quot;name&quot;: &quot;code_review&quot;,\n    &quot;arguments&quot;: {\n      &quot;code&quot;: &quot;def hello():\\n    print('world')&quot;,\n      &quot;language&quot;: &quot;python&quot;\n    },\n    &quot;_meta&quot;: {\n      &quot;io.modelcontextprotocol/protocolVersion&quot;: &quot;2026-07-28&quot;,\n      &quot;io.modelcontextprotocol/clientInfo&quot;: { &quot;name&quot;: &quot;example-client&quot;, &quot;version&quot;: &quot;1.0.0&quot; },\n      &quot;io.modelcontextprotocol/clientCapabilities&quot;: {}\n    }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cdiv class=\"wiki-code\" data-language=\"json\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">JSON\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>{\n  &quot;jsonrpc&quot;: &quot;2.0&quot;,\n  &quot;id&quot;: 3,\n  &quot;result&quot;: {\n    &quot;resultType&quot;: &quot;complete&quot;,\n    &quot;description&quot;: &quot;Code review prompt&quot;,\n    &quot;messages&quot;: [\n      {\n        &quot;role&quot;: &quot;user&quot;,\n        &quot;content&quot;: {\n          &quot;type&quot;: &quot;text&quot;,\n          &quot;text&quot;: &quot;Please review this Python code:\\ndef hello():\\n    print('world')&quot;\n        }\n      }\n    ]\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Результат содержит необязательное описание \u003Ccode>description\u003C/code> и массив \u003Ccode>messages\u003C/code>. На транспорте \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"streamable-http\">Streamable HTTP\u003C/span> клиент дополнительно передаёт имя промпта в заголовке \u003Ccode>Mcp-Name\u003C/code>, чтобы шлюзы могли маршрутизировать запрос, не разбирая тело. Заголовки описаны в статье \u003Ca href=\"/ru/wiki/mcp/mcp-transports\" 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>\u003Cstrong>Сообщение промпта\u003C/strong> - один элемент массива \u003Ccode>messages\u003C/code>: роль \u003Ccode>role\u003C/code> и один блок содержимого \u003Ccode>content\u003C/code>. Роль - \u003Ccode>user\u003C/code> или \u003Ccode>assistant\u003C/code>. Поэтому промпт может содержать сообщения не только от имени пользователя, но и от имени модели.\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>\u003Ccode>text\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>text\u003C/code>\u003C/td>\n\u003Ctd>Обычный текст, самый частый случай\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>image\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>data\u003C/code>, \u003Ccode>mimeType\u003C/code>\u003C/td>\n\u003Ctd>Изображение в base64\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>audio\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>data\u003C/code>, \u003Ccode>mimeType\u003C/code>\u003C/td>\n\u003Ctd>Аудио в base64\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>resource_link\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>uri\u003C/code>, \u003Ccode>name\u003C/code>, \u003Ccode>mimeType\u003C/code>\u003C/td>\n\u003Ctd>Ссылку на ресурс, который клиент может прочитать позже\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>resource\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>resource\u003C/code> с \u003Ccode>uri\u003C/code>, \u003Ccode>mimeType\u003C/code> и \u003Ccode>text\u003C/code> или \u003Ccode>blob\u003C/code>\u003C/td>\n\u003Ctd>Содержимое ресурса, встроенное в сообщение\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>\u003Cstrong>Встроенный ресурс (embedded resource)\u003C/strong> помещает содержимое ресурса сервера прямо в сообщение: документацию, пример кода, файл конфигурации. \u003Cstrong>Ссылка на ресурс (resource link)\u003C/strong> только называет ресурс по URI, а клиент решает, читать ли его через \u003Ccode>resources/read\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;messages&quot;: [\n      {\n        &quot;role&quot;: &quot;user&quot;,\n        &quot;content&quot;: { &quot;type&quot;: &quot;text&quot;, &quot;text&quot;: &quot;Review the following file for correctness and style.&quot; }\n      },\n      {\n        &quot;role&quot;: &quot;user&quot;,\n        &quot;content&quot;: {\n          &quot;type&quot;: &quot;resource&quot;,\n          &quot;resource&quot;: {\n            &quot;uri&quot;: &quot;file:///project/src/main.rs&quot;,\n            &quot;mimeType&quot;: &quot;text/x-rust&quot;,\n            &quot;text&quot;: &quot;fn main() {\\n    println!(\\&quot;Hello\\&quot;);\\n}&quot;\n          }\n        }\n      }\n    ]\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 сервер может ответить на \u003Ccode>prompts/get\u003C/code> не сообщениями, а результатом \u003Ccode>InputRequiredResult\u003C/code>. Это механизм \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"mrtr\">Multi Round-Trip Requests\u003C/span> (MRTR), многоэтапные запросы: сервер перечисляет в \u003Ccode>inputRequests\u003C/code>, чего ему не хватает, например вопрос пользователю через \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"elicitation\">elicitation\u003C/span>. Клиент собирает ответы и повторяет \u003Ccode>prompts/get\u003C/code> с \u003Ccode>inputResponses\u003C/code> и, если сервер его передал, неизменённым \u003Ccode>requestState\u003C/code>. Механизм одинаков для инструментов, ресурсов и промптов и описан в статье \u003Ca href=\"/ru/wiki/mcp/stateless-mcp\" 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>Для промптов спецификация рекомендует стандартные ошибки JSON-RPC:\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>Неизвестное имя промпта\u003C/td>\n\u003Ctd>\u003Ccode>-32602\u003C/code> (Invalid params)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Нет обязательного аргумента\u003C/td>\n\u003Ctd>\u003Ccode>-32602\u003C/code> (Invalid params)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Внутренняя ошибка сервера\u003C/td>\n\u003Ctd>\u003Ccode>-32603\u003C/code> (Internal error)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Сервер не объявил \u003Ccode>prompts\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>-32601\u003C/code> (Method not found)\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>Промпты \u003Cstrong>управляются пользователем (user-controlled)\u003C/strong>: сервер предоставляет их для того, чтобы пользователь выбирал их явно. Спецификация уточняет, что речь о том, кто решает, когда использовать промпт, а не о том, кто пишет его содержимое. Содержимое определяет сервер.\u003C/p>\n\u003Cp>Типичным примером спецификация называет слеш-команды: пользователь вводит \u003Ccode>/\u003C/code> и видит доступные промпты. Документация MCP перечисляет и другие варианты: палитру команд с поиском, отдельные кнопки для частых промптов и контекстные меню. Конкретный интерфейс протокол не предписывает.\u003C/p>\n\u003Cp>В Visual Studio Code, согласно его документации, промпт сервера вызывается вводом \u003Ccode>/&lt;server&gt;.&lt;prompt&gt;\u003C/code> в чате. В общем виде последовательность в хосте такая:\u003C/p>\n\u003Col>\n\u003Cli>Хост запрашивает \u003Ccode>prompts/list\u003C/code> у подключённых серверов и показывает промпты пользователю.\u003C/li>\n\u003Cli>Пользователь выбирает промпт. Хост запрашивает значения его аргументов и может использовать \u003Ccode>completion/complete\u003C/code> для подсказок.\u003C/li>\n\u003Cli>Хост отправляет \u003Ccode>prompts/get\u003C/code> и получает сообщения.\u003C/li>\n\u003Cli>Хост добавляет сообщения в диалог, и модель на них отвечает. При ответе модель может вызывать инструменты того же или других серверов.\u003C/li>\n\u003C/ol>\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\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>listChanged: true\u003C/code>, следует уведомлять клиентов об изменении списка промптов. С версии 2026-07-28 уведомления приходят только тем клиентам, которые их запросили. Клиент открывает долгоживущий поток \u003Ccode>subscriptions/listen\u003C/code> и указывает в фильтре \u003Ccode>promptsListChanged: true\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;: 5,\n  &quot;method&quot;: &quot;subscriptions/listen&quot;,\n  &quot;params&quot;: {\n    &quot;_meta&quot;: {\n      &quot;io.modelcontextprotocol/protocolVersion&quot;: &quot;2026-07-28&quot;,\n      &quot;io.modelcontextprotocol/clientInfo&quot;: { &quot;name&quot;: &quot;example-client&quot;, &quot;version&quot;: &quot;1.0.0&quot; },\n      &quot;io.modelcontextprotocol/clientCapabilities&quot;: {}\n    },\n    &quot;notifications&quot;: { &quot;promptsListChanged&quot;: true }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Сначала сервер подтверждает подписку уведомлением \u003Ccode>notifications/subscriptions/acknowledged\u003C/code>. После этого каждое изменение списка приходит уведомлением с идентификатором подписки, который равен \u003Ccode>id\u003C/code> запроса \u003Ccode>subscriptions/listen\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;method&quot;: &quot;notifications/prompts/list_changed&quot;,\n  &quot;params&quot;: {\n    &quot;_meta&quot;: { &quot;io.modelcontextprotocol/subscriptionId&quot;: 5 }\n  }\n}\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Данных об изменении уведомление не несёт. Клиент заново запрашивает \u003Ccode>prompts/list\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>С версии 2026-07-28 результат \u003Ccode>prompts/list\u003C/code> обязан содержать две \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"caching-hints\">подсказки для кеширования\u003C/span>:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ccode>ttlMs\u003C/code>\u003C/strong>: сколько миллисекунд клиент может считать результат актуальным. Это подсказка, а не гарантия, что список не изменится.\u003C/li>\n\u003Cli>\u003Cstrong>\u003Ccode>cacheScope\u003C/code>\u003C/strong>: кто может использовать результат повторно. \u003Ccode>public\u003C/code> означает, что в результате нет данных конкретного пользователя и общие шлюзы и прокси могут отдавать его любому пользователю. \u003Ccode>private\u003C/code> означает, что результат можно использовать повторно только в том же контексте авторизации.\u003C/li>\n\u003C/ul>\n\u003Cp>Для списка промптов, одинакового для всех пользователей, спецификация называет подходящим значение \u003Ccode>public\u003C/code>. Список, отфильтрованный по правам пользователя, - \u003Ccode>private\u003C/code>. Уведомление об изменении делает кешированный список устаревшим, даже если срок \u003Ccode>ttlMs\u003C/code> ещё не истёк. Каждая страница постраничного списка кешируется отдельно, и у всех страниц одного списка должен быть одинаковый \u003Ccode>cacheScope\u003C/code>.\u003C/p>\n\u003Ch2 id=\"типовые-сценарии\" class=\"wiki-heading\">Типовые сценарии\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"типовые-сценарии\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Спецификация и документация MCP приводят такие виды промптов:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Шаблоны задач предметной области.\u003C/strong> Примеры из документации: ревью кода, планирование отпуска, сводка по встречам, черновик письма.\u003C/li>\n\u003Cli>\u003Cstrong>Демонстрация сервера.\u003C/strong> Промпт показывает, как задумано использовать сервер, и пользователю не нужно сначала изучать его инструменты.\u003C/li>\n\u003Cli>\u003Cstrong>Промпты с контекстом.\u003C/strong> Промпт встраивает ресурс или ссылается на него, например на файл для ревью или документацию API.\u003C/li>\n\u003Cli>\u003Cstrong>Последовательности действий.\u003C/strong> Промпт направляет модель на совместное использование ресурсов и инструментов. В документации после промпта «Plan a vacation» модель читает календарь и историю поездок, которые добавил пользователь, а затем вызывает инструменты для поиска рейсов и бронирования отеля.\u003C/li>\n\u003C/ul>\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>user\u003C/code>. Поэтому промпт от недоверенного сервера - канал для \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"prompt-injection\">prompt injection\u003C/span>: инструкций, которые пользователь не писал и может не увидеть. Атака и её тестирование описаны в статье \u003Ca href=\"/ru/wiki/ai-testing/prompt-injection\" class=\"wiki-link wiki-link--article\">Prompt injection\u003C/a>.\u003C/p>\n\u003Cp>У автодополнения аргументов свои требования. Реализации обязаны проверять входные данные автодополнения, ограничивать частоту запросов и контролировать доступ к чувствительным вариантам, чтобы автодополнение не раскрывало данные. Общие риски MCP описаны в статье \u003Ca href=\"/ru/wiki/mcp/mcp-security\" class=\"wiki-link wiki-link--article\">Безопасность MCP\u003C/a>.\u003C/p>\n\u003Ch2 id=\"промпты-инструменты-и-ресурсы\" class=\"wiki-heading\">Промпты, инструменты и ресурсы\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"промпты-инструменты-и-ресурсы\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Три примитива сервера различаются тем, кто решает их использовать и что они возвращают. Сравнение - в таблице.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-4\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>\u003C/th>\n\u003Cth>Промпты\u003C/th>\n\u003Cth>Инструменты\u003C/th>\n\u003Cth>Ресурсы\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Кто решает использовать\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>\u003Ccode>prompts/list\u003C/code>, \u003Ccode>prompts/get\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>tools/list\u003C/code>, \u003Ccode>tools/call\u003C/code>\u003C/td>\n\u003Ctd>\u003Ccode>resources/list\u003C/code>, \u003Ccode>resources/read\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Идентификатор\u003C/td>\n\u003Ctd>Имя\u003C/td>\n\u003Ctd>Имя\u003C/td>\n\u003Ctd>URI\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Параметры\u003C/td>\n\u003Ctd>Именованные строковые аргументы\u003C/td>\n\u003Ctd>JSON Schema в \u003Ccode>inputSchema\u003C/code>\u003C/td>\n\u003Ctd>URI; параметры шаблона URI у шаблонов ресурсов\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Автодополнение аргументов\u003C/td>\n\u003Ctd>Да (\u003Ccode>ref/prompt\u003C/code>)\u003C/td>\n\u003Ctd>Нет\u003C/td>\n\u003Ctd>Для шаблонов ресурсов (\u003Ccode>ref/resource\u003C/code>)\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Результат\u003C/td>\n\u003Ctd>Сообщения для диалога\u003C/td>\n\u003Ctd>Результат действия: \u003Ccode>content\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\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Промпт сам не выполняет действий и не поставляет данные. Он подготавливает диалог: даёт модели инструкции, встраивает ресурсы и может указать модели, какими инструментами пользоваться. Инструменты - средство действовать, ресурсы - средство читать данные. Они описаны в статьях \u003Ca href=\"/ru/wiki/mcp/mcp-tools\" class=\"wiki-link wiki-link--article\">Инструменты (tools) в MCP\u003C/a> и \u003Ca href=\"/ru/wiki/mcp/mcp-resources\" class=\"wiki-link wiki-link--article\">Ресурсы и шаблоны ресурсов\u003C/a>.\u003C/p>\n\u003Cp>Три примитива используют вместе. В примере из документации MCP пользователь вызывает промпт, добавляет ресурсы, а затем модель вызывает инструменты нескольких серверов. Промпт ставит задачу, ресурсы дают контекст, инструменты выполняют действия.\u003C/p>\n\u003Cp>Навыки агента (agent skills) - тоже инструкции для модели, но в MCP они построены не на промптах. Официальное расширение Skills (\u003Ccode>io.modelcontextprotocol/skills\u003C/code>) отдаёт навыки через примитив ресурсов и добавляет методы \u003Ccode>skills/list\u003C/code> и \u003Ccode>skills/get\u003C/code>. В отличие от промпта, навык может выбрать как модель, так и пользователь. Расширения описаны в статье \u003Ca href=\"/ru/wiki/mcp/mcp-extensions\" class=\"wiki-link wiki-link--article\">Расширения MCP\u003C/a>.\u003C/p>\n\u003Ch2 id=\"термины\" class=\"wiki-heading\">Термины\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"термины\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\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>Промпт (prompt)\u003C/td>\n\u003Ctd>Шаблон сообщений, который предлагает сервер и явно выбирает пользователь\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>Варианты значений аргумента, которые сервер предлагает через \u003Ccode>completion/complete\u003C/code>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Сообщение промпта\u003C/td>\n\u003Ctd>Элемент результата промпта: роль (\u003Ccode>user\u003C/code> или \u003Ccode>assistant\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>Блок содержимого, который называет ресурс по URI без его содержимого\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>Поля \u003Ccode>ttlMs\u003C/code> и \u003Ccode>cacheScope\u003C/code>, которые сообщают, как долго и кем можно повторно использовать список\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch2 id=\"источники\" class=\"wiki-heading\">Источники\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"источники\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https://modelcontextprotocol.io/specification/2026-07-28/server/prompts\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Prompts, спецификация 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/server/utilities/completion\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Completion, спецификация 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/server/utilities/caching\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Caching, спецификация 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/basic/patterns/subscriptions\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Subscriptions, спецификация 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/server\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Обзор возможностей сервера, спецификация 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\">Ключевые изменения 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\">Схема MCP 2026-07-28 (schema.ts)\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://modelcontextprotocol.io/docs/2026-07-28/learn/server-concepts\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Understanding MCP servers, документация MCP\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://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://code.visualstudio.com/docs/copilot/customization/mcp-servers\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Add MCP servers in VS Code, документация Visual Studio Code\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003C/ul>\n",[10,14,17,20,23,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72],{"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":25,"text":26},"возможность-сервера",3,"Возможность сервера",{"id":28,"level":25,"text":29},"список-промптов","Список промптов",{"id":31,"level":25,"text":32},"аргументы","Аргументы",{"id":34,"level":25,"text":35},"автодополнение-аргументов","Автодополнение аргументов",{"id":37,"level":25,"text":38},"получение-промпта","Получение промпта",{"id":40,"level":25,"text":41},"сообщения-промпта-и-типы-содержимого","Сообщения промпта и типы содержимого",{"id":43,"level":25,"text":44},"промпты-которым-нужны-дополнительные-данные","Промпты, которым нужны дополнительные данные",{"id":46,"level":25,"text":47},"ошибки","Ошибки",{"id":49,"level":12,"text":50},"кто-вызывает-промпт","Кто вызывает промпт",{"id":52,"level":12,"text":53},"изменения-списка-и-кеширование","Изменения списка и кеширование",{"id":55,"level":25,"text":56},"уведомления-об-изменениях","Уведомления об изменениях",{"id":58,"level":25,"text":59},"подсказки-для-кеширования","Подсказки для кеширования",{"id":61,"level":12,"text":62},"типовые-сценарии","Типовые сценарии",{"id":64,"level":12,"text":65},"безопасность","Безопасность",{"id":67,"level":12,"text":68},"промпты-инструменты-и-ресурсы","Промпты, инструменты и ресурсы",{"id":70,"level":12,"text":71},"термины","Термины",{"id":73,"level":12,"text":74},"источники","Источники",2042,1793718888800]