Amiga

Для разработчиков · курс 11

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

Продвинутые возможности протокола: sampling (сервер просит модель что‑то сгенерировать), уведомления о логах и прогрессе, roots, устройство JSON-RPC-сообщений, транспорты STDIO и Streamable HTTP, работа с состоянием и подготовка сервера к продакшену. С разбором того, что изменилось в актуальной ревизии спецификации и какие приёмы считаются устаревшими.

Начать курс
0 из 13 пройдено
Для кого
Разработчики, которые уже написали хотя бы один MCP‑сервер.
Что нужно
Курс «Введение в MCP», Python с async, знакомство с SSE.
Объём
13 уроков, 4 модуля, ≈ 3,5 ч с практикой

Программа курса

Модуль 2

Ключевые возможности MCP

  1. 02 Sampling: сервер обращается к модели Sampling позволяет MCP-серверу попросить модель хоста сгенерировать текст, не имея собственного ключа к API. Разбираем, зачем это нужно, как устроен запрос sampling/createMessage, что изменилось в ревизии 2026-07-28 и почему возможность помечена устаревшей. 11 мин
  2. 03 Sampling на практике Строим сервер для CI, который по номеру сборки просит модель хоста описать упавший тест, проверяем его in-memory клиентом с подменой модели и смотрим, какие сообщения ходят между сторонами. 12 мин
  3. 04 Уведомления: логи и прогресс Уведомления — сообщения без ответа, которыми сервер сообщает клиенту о ходе долгой операции и присылает логи. Разбираем notifications/progress с токеном прогресса, notifications/message с уровнями syslog, уведомления об изменении списков и то, почему логирование через протокол устарело, а прогресс — нет. 11 мин
  4. 05 Уведомления на практике Собираем сервер отчётов по спринту, который шлёт прогресс по ходу работы, смотрим, как уведомления приходят на клиент раньше результата, добавляем логи в stderr и пробуем устаревшее протокольное логирование, чтобы узнать его в чужом коде. 12 мин
  5. 06 Roots Roots — список папок, которые клиент считает рабочей областью и сообщает серверу. Разбираем запрос roots/list, что roots гарантируют и чего не гарантируют, как их получить в SDK и почему возможность устарела. 9 мин
  6. 07 Roots на практике Строим сервер поиска по проекту, который получает рабочие папки от клиента через roots, проверяем его in-memory клиентом с подставными корнями, ловим попытку выйти за границы и переписываем тот же сервер на рекомендованный способ — папки из конфигурации. 11 мин

Модуль 3

Транспорты и коммуникация

  1. 08 Типы JSON-сообщений Всё общение в MCP — это JSON-RPC 2.0. Разбираем четыре вида сообщений (запрос, результат, ошибка, уведомление), правила для id и кодов ошибок, поле _meta и то, как стороны договариваются о версии и возможностях — рукопожатием в старых ревизиях и метаданными в каждом запросе в новой. 12 мин
  2. 09 Транспорт STDIO STDIO — транспорт, при котором хост запускает сервер как дочерний процесс и общается с ним через стандартные потоки. Разбираем правила кадрирования, почему stdout принадлежит протоколу, как передаются секреты, как процесс завершается и как всё это выглядит в SDK и в конфигурации хоста. 11 мин
  3. 10 Транспорт Streamable HTTP Streamable HTTP — транспорт для удалённых серверов. Один endpoint, каждый запрос — отдельный POST, ответ — либо JSON, либо поток Server-Sent Events с уведомлениями. Разбираем заголовки, коды ответов, требования безопасности, запуск в SDK и подключение клиента. 12 мин
  4. 11 Streamable HTTP в деталях Транспорт прошёл три поколения, и в поле вы встретите все. Разбираем HTTP+SSE с двумя адресами, Streamable HTTP образца 2025-11-25 с сессиями, GET-потоком и Last-Event-ID, что от этого осталось в 2026-07-28 и как SDK v2 обслуживает старых и новых клиентов сразу. 13 мин
  5. 12 Состояние и Streamable HTTP MCP объявлен протоколом без состояния, но серверу всё равно приходится что-то помнить. Разбираем, что именно запрещено помнить, где хранить то, что нужно (requestState, внешнее хранилище по явному идентификатору, шина подписок), как масштабировать сервер за балансировщиком и как устроена аутентификация по спецификации. 13 мин

Amiga · заказная разработка с ИИ

Учимся сами — и делаем продукты с ИИ на заказ

Эти курсы написала команда, которая каждый день проектирует и разрабатывает цифровые продукты: от аналитики и дизайна до веб‑сервисов, мобильных приложений и внедрения ИИ. Если вам нужен не курс, а продукт, — это к нам.

реализованных проектов
200+
человек в команде
75+

5 место в рейтинге AI‑разработки, Ruward 2025

Хотите связаться с владельцем
компании напрямую?
Дмитрий Тарасов
Дмитрий Тарасов
СЕО

НАПИСАТЬ

Написать в MAX