Бета · редакция 2026.10-beta1 · MCP 2026-07-28
Сообщения JSON RPC
L02 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1
Мне проще отлаживать MCP, когда я сначала вижу обычный JSON-RPC. Запрос имеет jsonrpc, id, method и при необходимости params. Ответ возвращает тот же id и ровно один из result или error. Это маленький контракт, на котором держится корреляция параллельных операций.
Предварительно: L01
Как я это использую
Notification не содержит id и не ожидает ответа. Строковый id удобен в трассировке, но его нельзя путать с идентификатором пользователя или durable task. Ошибка JSON-RPC описывает проблему протокола или вызова, а прикладная ошибка инструмента может приходить в результате tools/call с isError. Для профиля 2026-07-28 добавляются метаданные каждого запроса и дискриминатор resultType в результате.
Разбираем конкретный контракт
Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.
{
"jsonrpc": "2.0",
"id": "req-12",
"method": "tools/list",
"params": {
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientCapabilities": {},
"io.modelcontextprotocol/clientInfo": {
"name": "course-client",
"version": "1.0.0"
}
}
}
}
Лаборатория · L02
Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.
Что легко сломать
Я встречал логи, где клиент сопоставлял ответы по порядку прихода. При двух параллельных вызовах это ломается. Сопоставляйте по id, проверяйте форму envelope и не принимайте одновременно result и error. Batch не стоит считать универсально поддерживаемым способом ускорения MCP.
Практика и самопроверка
Исправить повреждённый envelope и сопоставить запрос с ответом. Ошибки: неверный id, смешение result и error.
Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.
В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.
На что я опирался
Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.
Проверка знаний
Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.