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

Транспорт stdio

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

Для локального MCP я часто начинаю со stdio: host запускает процесс и общается через его stdin/stdout. Не нужен открытый сетевой порт, но безопасность процесса остаётся моей ответственностью. Запуск npm-пакета — запуск кода с правами локального пользователя.

Предварительно: L02 · L04

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

Каждое сообщение сериализуется в отдельную строку. stdout предназначен для протокола, диагностические логи отправляйте в stderr. Ограничьте окружение процесса, рабочий каталог и доступные файлы. Для секретов локального процесса используются предусмотренные конфигурацией переменные окружения, а не браузерный OAuth flow HTTP-сервера.

Самодостаточный HTTP запрос

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

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

{
  "stdin": "{\"jsonrpc\":\"2.0\",\"id\":\"r1\",\"method\":\"tools/list\",\"params\":{}}\n",
  "stdout": "Только JSON-RPC сообщения",
  "stderr": "diagnostic: listing tools"
}

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

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

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

Обычный console.log перед JSON ломает парсер клиента. Другая проблема — зависший дочерний процесс после закрытия host. Проверяйте завершение, таймауты и поведение на EOF; не запускайте учебные MCP процессы постоянно на сервере портала.

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

Собрать поток из JSON и диагностических строк. Найти вывод логов в stdout; увидеть корректный жизненный цикл процесса.

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

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

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

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

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

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

Куда писать диагностические логи?

Что означает установка локального MCP-пакета?

Нужен ли HTTP OAuth flow самому stdio-транспорту?