Бета · редакция 2026.10-beta1 · MCP 2026-07-28
Первый вызов инструмента
L06 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1
Первый полезный результат у нас очень небольшой: получить задачу get_task по taskId. Я сознательно начинаю с чтения. Так проще увидеть контракт, не отвлекаясь на необратимые изменения и платные API.
Предварительно: L02 · L03 · L05
Как я это использую
Сначала найдите инструмент через tools/list и прочитайте inputSchema. Затем отправьте tools/call с name и arguments. Проверьте id ответа, resultType и содержимое результата. Прикладной isError не стоит выдавать за успешное выполнение только из-за HTTP 200. В проверяемой лаборатории значения taskId и id индивидуальны для попытки: копирование чужого ответа не завершит ваш урок.
Разбираем конкретный контракт
Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.
{
"jsonrpc": "2.0",
"id": "call-1",
"method": "tools/call",
"params": {
"name": "get_task",
"arguments": {
"taskId": "task-101"
},
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientCapabilities": {},
"io.modelcontextprotocol/clientInfo": {
"name": "course-client",
"version": "1.0.0"
}
}
}
}
Лаборатория · L06
Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.
Что легко сломать
Сервер валидирует arguments и доступ к конкретной задаче. То, что taskId соответствует JSON Schema, ещё не означает, что задача принадлежит пользователю. Я держу эти проверки рядом, но не смешиваю их результаты в логах.
Практика и самопроверка
Собрать полный обмен tools/list → tools/call → результат. Сервер проверяет исправление двух повреждённых сообщений.
Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. На этом уроке практический результат проверяется сервером: войдите в аккаунт, начните попытку и выполните условия. Без неё урок не завершится.
В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.
Попробовать локально
Скачать reference-проект с lockfile и тестами (после входа). Распакуйте в отдельную папку, используйте Node.js 22.14 или новее.
npm ci
npm test
npm start
npm start запускает локальный stdio-сервер задач. Остановите его после практики. Тесты используют официальный TypeScript SDK v2.3.1, проверяют современный HTTP handler, MRTR, отказ и подмену состояния. Fake AS проверяет PKCE, issuer, audience и одноразовый code без внешнего аккаунта. Это учебный проект: production требует долговременного хранилища, настоящей проверки токенов и транзакционной идемпотентности.
На что я опирался
Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.
Проверка знаний
Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.