$ ▍
Преподаватель: Daniel academyсреднийИскусственный интеллект
Этот курс для тех, кто пишет на Python, уже пользовался AI-ассистентом и хочет дать ему руки: свои файлы, свою базу, свой внутренний API. MCP это протокол, на котором сегодня говорит любой серьёзный клиент, когда тянется к внешнему инструменту, и здесь ты учишь его начиная с байтов. Три модуля, двенадцать уроков, семь из них проверяются прямо в браузере. Начинаешь с четырёх форм JSON-RPC сообщений и ответа на server/discover, единственный вызов, который сервер обязан уметь. Дальше идёт мысль, на которой сегодня держится весь протокол: запрос несёт свой контекст сам. Ты проверяешь params._meta, отказываешь чужой версии протокола кодом -32022, отказываешь незаявленной возможности клиента кодом -32021, отвечаешь на tools/list настоящей JSON Schema, а на tools/call с проверкой аргументов. Заканчиваешь целым stateless-сервером в одном файле: пустые строки, нечитаемые строки с ответом -32700, конверт, который проверяется на каждой строке, и состояние, живущее только под явным handle, который клиент возвращает на каждом вызове. Этот файл, запущенный подпроцессом из настоящего клиента, и есть настоящий MCP-сервер. Теперь то, что обычно замалчивают. Тренажёр проверяет код на Judge0 с Python 3.8.1, в песочнице без сети и без pip. Официальный MCP SDK для Python туда не встанет: ему нужен Python 3.10 или новее, плюс pydantic, httpx2, starlette и anyio. Поэтому курс не импортирует никакой SDK и не делает вид, что импортирует. Ты ничего здесь не задеплоишь, и ни одна задача не ходит в живой API. Взамен ты получаешь то, что SDK прячет: каждый ключ, каждый код ошибки, каждое правило о том, кто кому и когда имеет право ответить. Возьмёшь SDK потом и узнаешь в нём всё. Финальный урок честно, без имитации, разбирает то, чего автопроверка физически не может проверить: транспорт Streamable HTTP, подключение сервера к конфигу живого клиента и правила безопасности спецификации. И про версии, раз уж об этом обычно молчат. Ты учишь ревизию 2026-07-28, выпущенную 28 июля 2026 и действующую сейчас: она удалила рукопожатие initialize, сделала протокол stateless, перенесла версию протокола и возможности клиента в _meta каждого запроса, добавила resultType в каждый результат и убрала ping вместе с сессией, ради которой он существовал. Эта модель остаётся магистралью курса начиная со второго урока. Эру рукопожатия от тебя тоже не прячут, потому что на ней всё ещё говорит большинство развёрнутых клиентов, серверов и SDK: в последнем модуле есть урок, где initialize, объявление возможностей и танец версий показаны ровно такими, какими они были, каждый блок помечен как legacy, и рядом лежит таблица переезда полей. Следующая за ним задача единственный раз за курс сажает тебя на сторону клиента: ты прощупываешь незнакомый сервер и решаешь, современный он, современный с другой версией или legacy. Правило о том, что откат нельзя привязывать к одному коду ошибки, зашито прямо в скрытые тесты. Курс бесплатный, и это вход в AI-трек платформы. Когда захочешь прикладную сторону, «AI-инструменты с нуля» разбирает ежедневную работу с моделями, а «AI-боты в Telegram» превращают те же навыки в продукт, с которым разговаривают пользователи.
3 модуля · 12 уроков
Фрагмент финального проекта курса. Каждый выпускник пишет этот код своими руками.
from openai import OpenAI
client = OpenAI()
reply = client.responses.create(
model="gpt-4o-mini",
input=f"Summarize this support ticket in one line: {ticket}",
)
print(reply.output_text)