Первые четыре модуля были про инструменты: функции объявлялись, модель их вызывала, результат оставалось посмотреть. Это самый заметный примитив MCP, и на нём одном можно построить рабочий сервер. Но у сервера есть ещё два способа поделиться содержимым, и оба существуют не потому, что «так красивее», а потому что решают задачи, для которых инструмент подходит плохо.
Ресурс — это данные, которые сервер отдаёт по запросу, чтобы они попали в контекст модели. Промпт — заготовка задачи, которую человек выбирает в интерфейсе хоста. Мы уже называли их в модуле 1 на уровне определений, теперь разберём подробно: объявление, вид со стороны клиента, типичные ошибки новичков и, главное, выбор между тремя вариантами, когда задача формально решается любым из них.
Работать будем с базой знаний технической поддержки: справка о сервере, список статей и текст каждой статьи — подходящий набор, чтобы увидеть разницу. Весь код в этом модуле действительно запускался на SDK версии 2.0.0, включая те места, где библиотека ведёт себя не так, как следует из документации.