$ ▍
Викладач: 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)