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

Tools и JSON Schema

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

Я считаю схему частью интерфейса инструмента. Хорошая inputSchema помогает клиенту собрать валидный вызов, а серверу — отклонить неоднозначный ввод. Для create_task я задаю короткий title, ограниченное значение priority и не позволяю прислать произвольного владельца.

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

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

Современный профиль использует JSON Schema 2020-12. required определяет обязательность, properties — типы, additionalProperties помогает ограничить лишние поля. Проверяйте и outputSchema, если объявляете её: structuredContent должен соответствовать контракту. Схема не заменяет бизнес-проверку, проверку principal или лимит размера тела.

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

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

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

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "priority": {
      "enum": [
        "normal",
        "high"
      ]
    }
  },
  "required": [
    "title"
  ],
  "additionalProperties": false
}

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

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

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

Опасный соблазн — сделать один инструмент execute с произвольной строкой кода. Для учебного сервера я выбираю небольшие операции с ограниченными аргументами. В редакторе страницы проверяются только JSON fixtures: введённый код не исполняется.

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

Поменять inputSchema и outputSchema; увидеть schema error и ошибку выполнения. Отдельно разобрать $ref и пределы сложности.

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

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

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

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

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

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

Что делает required?

Заменяет ли JSON Schema проверку прав?

Какой диалект изучаем?