0Pricing
MCP Academy · Урок

Согласование возможностей

Проверьте, какие функции поддерживают обе стороны.

«Согласование возможностей» — бесплатный урок MCP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.

Не все поддерживают каждую возможность

MCP богат возможностями, но ни один клиент или сервер не поддерживает их все. Поэтому при запуске обе стороны согласовывают доступные им возможности — подобно двум устройствам, договаривающимся о совместных действиях. 🤝

Это происходит при инициализации

Эта договорённость достигается во время рукопожатия initialize — самого первого обмена. После него каждая сторона знает, что предлагает другая и что недоступно.

Два набора возможностей

Клиент объявляет свои clientCapabilities, а сервер — свои serverCapabilities. Каждый набор представляет собой карту признаков возможностей и небольших параметров.

Что объявляет сервер

Сервер перечисляет предоставляемые им возможности: например, инструменты, ресурсы и подсказки. Если ключ отсутствует, клиенты понимают, что не следует ожидать от вас этой примитивной возможности.

"capabilities": { "tools": {}, "resources": {} }

Что объявляет клиент

Клиент перечисляет возможности, которые может предоставить в ответ, например корни, выборку и получение уточнений. Так сервер узнаёт, что вообще может запрашивать корни.

"capabilities": { "roots": {}, "sampling": {} }

Дополнительные признаки уточняют возможности

Возможность может содержать дополнительные параметры. Например, корни могут включать listChanged: true, означающий, что клиент будет уведомлять вас об изменении набора корней.

"roots": { "listChanged": true }

Отсутствие означает запрет

Правило простое: если возможность отсутствует, считайте функцию недоступной. Никогда не вызывайте то, что другая сторона не обещала поддерживать.

Сначала согласовывается версия

Помимо возможностей обе стороны передают protocolVersion. Они должны согласовать общую версию, иначе сеанс будет отклонён ещё до начала реальной работы.

SDK берёт сложную работу на себя

Вам редко приходится создавать эти карты вручную. Python SDK заполняет возможности сервера по зарегистрированным вами инструментам и ресурсам, а затем сам обменивается ими.

Читайте признаки другой стороны

После инициализации можно проверить возможности клиента, сохранённые вашим сеансом. Именно эта проверка защищает необязательный вызов вроде list_roots.

caps = ctx.session.client_params.capabilities

Согласуйте один раз и доверяйте всегда

Возможности устанавливаются при запуске и сохраняются в течение сеанса. Вы можете полагаться на них на протяжении всего соединения, не проводя согласование перед каждым вызовом.

Быстрая проверка

Вспомните, когда и как согласовываются возможности.

Итог: соглашение о возможностях

При выполнении initialize клиент и сервер обмениваются картами возможностей и версией протокола. Отсутствующий признак означает отсутствие поддержки, а SDK создаёт и считывает эти данные за вас. 🎯

Часто задаваемые вопросы

Урок «Согласование возможностей» бесплатный?

Да — полный текст урока «Согласование возможностей» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Согласование возможностей»?

Проверьте, какие функции поддерживают обе стороны. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать MCP Academy?

Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Согласование возможностей»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке MCP Academy?

Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что корни сообщают серверу
  2. Запрос корневых каталогов клиента
  3. Согласование возможностей
  4. Соблюдение границ клиента
← Назад к MCP Academy