MCP: продвинутые темы

Аутентификация, ресурсы, prompts, sampling и архитектура production-серверов.

18 уроков, первые 3 бесплатно. Полный доступ: 1490 руб.

Уроки курса

  1. Let's get started!
  2. Sampling
  3. Sampling walkthrough
  4. Log and progress notifications
  5. Notifications walkthrough
  6. Roots
  7. Roots walkthrough
  8. Survey
  9. JSON message types
  10. The STDIO transport
  11. The StreamableHTTP transport
  12. StreamableHTTP in depth
  13. State and the StreamableHTTP transport
  14. Assessment on MCP concepts
  15. Wrapping up
  16. What you'll learn
  17. What you'll learn
  18. Course Quiz

Тест: Итоговый тест по курсу

Проверьте свои знания по материалам курса.

1. Что такое сэмплинг (Sampling) в контексте MCP?

  1. Процесс обучения модели на новых данных
  2. Механизм, позволяющий серверу делегировать вызовы к LLM клиенту
  3. Метод сжатия данных при передаче
  4. Способ кэширования ответов модели
Показать ответ

Ответ: B — Сэмплинг позволяет серверу делегировать запросы к языковой модели Claude своему подключённому клиенту. Сервер формулирует промпт и просит клиента выполнить вызов от его имени, перенося ответственность и затраты на клиента.

2. Какое основное преимущество сэмплинга для публичных MCP-серверов?

  1. Более быстрая генерация текста
  2. Каждый клиент оплачивает собственное использование ИИ, а не сервер
  3. Более высокое качество ответов
  4. Автоматическое масштабирование сервера
Показать ответ

Ответ: B — При использовании сэмплинга клиент оплачивает использование токенов, а не сервер. Это позволяет разработчикам публичных сервисов предлагать мощные функции ИИ без риска непредвиденных и высоких операционных издержек.

3. Какие два основных типа уведомлений поддерживает MCP?

  1. Push-уведомления и SMS-уведомления
  2. Уведомления о логах (Log) и уведомления о ходе выполнения (Progress)
  3. Email-уведомления и webhook-уведомления
  4. Системные уведомления и пользовательские уведомления
Показать ответ

Ответ: B — MCP поддерживает два типа: Log Notifications (подробная информация о внутренних процессах сервера для отладки и мониторинга) и Progress Notifications (информация о текущем статусе генерации, включая потоковую передачу токенов).

4. Что такое «корни» (Roots) в MCP?

  1. Административные права доступа к серверу
  2. Уникальные идентификаторы для отслеживания происхождения и контекста фрагментов информации
  3. Корневые каталоги файловой системы
  4. Начальные промпты для инициализации модели
Показать ответ

Ответ: B — Корни (Roots) — это уникальные идентификаторы или точки привязки, позволяющие отслеживать происхождение информации, управлять параллельными генерациями и поддерживать состояние диалога в многомерных взаимодействиях с LLM.

5. Чем STDIO transport отличается от StreamableHTTP transport?

  1. STDIO быстрее, чем StreamableHTTP
  2. STDIO использует стандартные потоки ввода/вывода для локальной разработки, а StreamableHTTP поддерживает потоковую передачу через HTTP для веб-приложений
  3. STDIO поддерживает только текст, а StreamableHTTP — только изображения
  4. Между ними нет разницы
Показать ответ

Ответ: B — STDIO transport использует стандартные потоки ввода/вывода (STDIN/STDOUT) и подходит для локальной разработки. StreamableHTTP использует HTTP с потоковой передачей (SSE, chunked encoding) и подходит для современных веб-приложений, требующих интерактивности.

6. Какой формат используется для всех сообщений в MCP?

  1. XML
  2. Protocol Buffers
  3. JSON
  4. YAML
Показать ответ

Ответ: C — Все сообщения в MCP имеют стандартизированные типы JSON-сообщений. Каждое сообщение — это структурированный объект JSON с полями type, payload и, возможно, root, что обеспечивает единообразие и простоту парсинга.

7. Почему StreamableHTTP transport важен для пользовательского опыта?

  1. Он делает ответы более точными
  2. Он позволяет получать токены по мере генерации, создавая эффект «печатания» в реальном времени
  3. Он уменьшает стоимость вызовов API
  4. Он автоматически исправляет ошибки модели
Показать ответ

Ответ: B — StreamableHTTP позволяет клиенту получать токены по мере их генерации, создавая ощущение, что Claude «печатает» ответ в реальном времени. Это значительно снижает воспринимаемую задержку и улучшает пользовательский опыт.

8. В потоке работы сэмплинга, что делает клиент после получения запроса от сервера?

  1. Перенаправляет запрос другому серверу
  2. Вызывает Claude, используя свои учётные данные, и возвращает результат серверу
  3. Сохраняет запрос в базу данных для последующей обработки
  4. Отклоняет запрос и просит пользователя ввести данные вручную
Показать ответ

Ответ: B — Получив запрос на сэмплинг, клиент использует предоставленный промпт и свои собственные учётные данные (ключ API) для вызова Claude, а затем передаёт сгенерированный текст обратно серверу через MCP.