До этого модуля все серверы работали одинаково: выполнялась команда mcp dev, где-то запускался процесс, Inspector обменивался с ним сообщениями, и вопрос о способе их доставки не возникал. Пора его задать, потому что от ответа зависит, где сможет работать ваш сервер и кто сможет им пользоваться.
Транспорт — это способ доставки сообщений между клиентом и сервером. Сами сообщения от него не зависят: это тот же JSON-RPC, который мы читали в модуле 1, с полями method, params и id. Меняется только канал передачи: это либо потоки ввода-вывода дочернего процесса, либо настоящие HTTP-запросы по сети.
В этом модуле подробно разбираются оба стандартных транспорта: запуск сервера дочерним процессом, опасность обычного print в такой схеме и выбор места для отладочных сообщений, границы применимости локального режима, запуск сервера по сети, действия при занятом порте и подключение клиента к сетевому серверу. По ходу мы поставим несколько экспериментов и посмотрим на реальный вывод, а не на пересказ документации.
Отдельная оговорка: сетевой режим открывает доступ к серверу извне, и защита от такого доступа в этом модуле рассматривается лишь частично. Аутентификация, ограничение доступа, песочница для файловых операций и логирование обращений — тема модуля 9 целиком. Здесь приводится короткое, но обязательное предупреждение и один практический вывод об адресе прослушивания.