Для разработчиков · курс 10
Введение в MCP
MCP (Model Context Protocol) — стандарт, по которому Claude подключается к внешним сервисам. Курс объясняет архитектуру (хост, клиент, сервер), три примитива (инструменты, ресурсы, промпты) и проводит через написание собственного сервера и клиента на Python с проверкой в инспекторе.
Начать курс
0 из 14 пройдено
- Для кого
- Разработчики. Первые уроки модуля «Что такое MCP» полезны всем.
- Что нужно
- Python, базовое понимание JSON и HTTP.
- Объём
- 14 уроков, 6 модулей, ≈ 4 ч с практикой
Модуль 1
Введение
Модуль 2
Что такое MCP
- 02Что такое MCP и зачем он нуженMCP — это стандартный способ подключить к Claude внешний сервис так, чтобы модель могла им пользоваться сама. Разбираем, какую проблему он решает, из чего состоит и почему это похоже на USB.9 мин
- 03Архитектура: хост, клиент, серверКак хост, клиент и сервер обмениваются сообщениями: два слоя протокола, JSON-RPC, транспорты stdio и Streamable HTTP, обнаружение возможностей и уведомления. После урока вы сможете прочитать сырой лог обмена и понять, что в нём происходит.10 мин
- 04Три примитива: инструменты, ресурсы, промптыИнструменты вызывает модель, ресурсы подключает приложение, промпты выбирает человек. Разбираем, чем они отличаются, как называются их методы в протоколе и как спроектировать набор примитивов для своего сервера.9 мин
Модуль 3
MCP-клиенты
Модуль 4
Практика: пишем сервер
- 06Настройка проектаСоздаём проект сервера «документы проекта»: ставим uv и Python SDK, пишем каркас сервера на MCPServer с хранилищем документов в памяти, запускаем его в транспорте stdio и убеждаемся, что он отвечает.9 мин
- 07Определяем инструментыДобавляем серверу инструменты read_doc и edit_doc через декоратор @mcp.tool(). Разбираем, как из аннотаций типов и docstring получается описание для модели, как описывать параметры, как сообщать об ошибках так, чтобы модель могла их исправить, и как проверить результат.12 мин
- 08Инспектор сервераЗапускаем MCP Inspector — официальный инструмент отладки серверов. Подключаем к нему наш сервер, вызываем инструменты руками, читаем ресурсы, смотрим сырые сообщения JSON-RPC и учимся использовать его в командной строке для проверок в CI.9 мин
Модуль 5
Подключаем клиент
- 09Реализуем клиентПишем минимальный MCP-клиент на Python: запускаем сервер по stdio, получаем список инструментов, передаём их Claude через Anthropic SDK и реализуем цикл «модель просит инструмент — вызываем через сервер — возвращаем результат». Это то, что Claude Code делает за вас.13 мин
- 10Определяем ресурсыДобавляем серверу ресурсы: прямой docs://list со списком документов и шаблон docs://{name} с содержимым. Разбираем декоратор @mcp.resource(), URI и MIME-типы, разницу между прямыми ресурсами и шаблонами, ошибки чтения и то, когда данные стоит отдавать ресурсом, а не инструментом.9 мин
- 11Доступ к ресурсамУчим клиент пользоваться ресурсами: перечислять их, читать по URI и прикладывать к вопросу через упоминание вида @brief.md — так, как это делает Claude Code. Разбираем, чем ресурс в сообщении отличается от результата инструмента и как хост решает, что подключить.10 мин
- 12Определяем промптыДобавляем серверу промпты «выжимка документа» и «документ в тезисы» через @mcp.prompt(). Разбираем аргументы и их описания, возврат строки и списка сообщений, и главное — как написать промпт, который правильно использует инструменты сервера.9 мин
- 13Промпты в клиентеУчим клиент показывать промпты сервера как команды вида /summarize brief.md, запрашивать их через get_prompt и запускать разговор с готовых сообщений. Собираем окончательную версию клиента, в которой работают все три примитива.10 мин
Модуль 6
