Бета · редакция 2026.10-beta1 · MCP 2026-07-28

Resources и шаблоны URI

L08 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1

Когда мне нужно дать модели документ, я выбираю resource; когда нужно совершить действие — tool. Это помогает читателю интерфейса заранее понять назначение операции. URI resource — идентификатор данных, он не обязан быть общедоступной веб-ссылкой.

Предварительно: L06

Как я это использую

resources/list перечисляет конкретные ресурсы, resources/templates/list — шаблоны URI. resources/read читает выбранный URI. Для tasks://projects/{projectId}/brief сначала подставьте проверенный projectId, затем проверьте авторизацию. Текстовые и бинарные данные имеют разные представления; mimeType помогает корректно отобразить содержимое. Ограничивайте объём чтения и не раскрывайте соседние tenant через список.

Контекст и действие

Разбираем конкретный контракт

Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.

{
  "uriTemplate": "tasks://projects/{projectId}/brief",
  "name": "project-brief",
  "mimeType": "text/markdown",
  "exampleUri": "tasks://projects/demo/brief"
}

Лаборатория · L08

Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.

Что легко сломать

Не делайте resources/read универсальным fetch любого URL или чтением любого пути диска. Нормализуйте идентификатор, задайте разрешённые пространства имён и проверяйте объектный доступ. ../ и неожиданный scheme должны стать негативными тестами.

Практика и самопроверка

Выбрать ресурс и параметры URI-template; отличить URI ресурса от URL для сетевого fetch. Ошибочный ресурс даёт объяснение.

Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.

В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.

На что я опирался

Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.

Проверка знаний

Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.

Обязан ли URI быть публичным HTTPS URL?

Где перечисляются шаблоны?

Что ограничивает утечку чужого проекта?