Бета · редакция 2026.10-beta1 · MCP 2026-07-28

Capabilities и поддержка функций

L05 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1

Я не хочу, чтобы кнопка подтверждения появлялась у клиента, который не умеет её показать. Capabilities описывают поддержку возможностей: они позволяют выбрать корректный сценарий до того, как сервер попросит человека о вводе.

Предварительно: L04

Как я это использую

В новом профиле возможности клиента передаются с запросом. Сервер проверяет именно нужный режим: поддержка elicitation form не равна поддержке URL. Расширения также согласуются явно. Отсутствующую возможность нельзя заменить догадкой по User-Agent или наличию tools. В лаборатории переключайте поддержку режимов и наблюдайте, какой сценарий остаётся доступным.

Кто за что отвечает

Разбираем конкретный контракт

Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.

{
  "clientCapabilities": {
    "elicitation": {
      "form": {}
    }
  },
  "requestedMode": "url",
  "decision": "Показать отсутствие поддержки, не открывать URL автоматически"
}

Лаборатория · L05

Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.

Что легко сломать

Наличие capability не является согласием пользователя выполнить действие. Я сначала проверяю поддержку, затем запрашиваю нужное подтверждение, затем отдельно проверяю полномочия и входные данные. Это три разных условия.

Практика и самопроверка

Переключить возможности клиента и сервера. Успех: недоступный режим не вызывается, расширение не включается неявно.

Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.

В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.

На что я опирался

Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.

Проверка знаний

Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.

Равна ли поддержка form поддержке URL?

Заменяет ли capability согласие?

Где современные clientCapabilities?