Перейти к содержимому
Выберите тему

Claude Code

Claude Code как MCP host - транспорты, авторизация, возможности, две среды клиента и редакция 2026-07-28, которую Anthropic называет прямо, с порядком отката на старое рукопожатие

сверено с документацией и журналом изменений до выпуска 2.1.289, 4 октября 2026

По документации Claude Code об MCP:

  • Удалённые серверы - по HTTP, SSE или WebSocket.
  • Локальные серверы - процесс на вашей машине, обмен через stdio.
  • Коннекторы claude.ai - серверы, подключённые в учётной записи Claude, доступны и в Claude Code. Их можно отключить.
  • Claude Code как сервер - команда claude mcp serve запускает его как сервер MCP по stdio для других приложений.

Тарифы, на которых доступно подключение серверов, на этой странице не названы.

Транспорт Что пишет Anthropic
HTTP рекомендуемый способ для удалённых серверов
SSE устарел; использовать HTTP там, где он есть
stdio локальный сервер, который запускает Claude Code
WebSocket (type: "ws") постоянное двустороннее соединение; авторизация только заголовками, OAuth нет

Об SSE. Поставщик называет транспорт SSE устаревшим. Если служба даёт только адрес SSE, её добавляют той же командой, что и сервер HTTP: Claude Code сначала пробует HTTP и переходит на SSE, когда сервер HTTP не принимает. Автоматический переход требует Claude Code 2.1.265 или новее.

О WebSocket. В спецификации MCP 2026-07-28 транспорта на WebSocket нет - это возможность самого Claude Code. Такой сервер настраивается только в .mcp.json или командой claude mcp add-json: ключ --transport значение ws не принимает.

Как устроены сами транспорты протокола - на странице Транспорты.

По разделу об авторизации той же страницы:

  • OAuth 2.0 для удалённых серверов.
  • Динамическая регистрация клиента (DCR) - на ней построена автоматическая настройка OAuth.
  • Client ID Metadata Document (CIMD) - поддерживается и обнаруживается автоматически.
  • Заранее выданные учётные данные клиента - когда сервер не поддерживает автоматическую регистрацию; идентификатор передаётся ключом --client-id.
  • Постоянные заголовки - поле headers.
  • Заголовки от своей программы - поле headersHelper: команда выполняется при каждом подключении и возвращает заголовки. Подходит для Kerberos, короткоживущих токенов, внутреннего единого входа.

В среде v2 (о ней ниже) клиент дополнительно отклоняет вход, если ответ авторизации называет неожиданного издателя, и отправляет учётные данные OAuth только на конечную точку токена по HTTPS либо на localhost, 127.0.0.1 или ::1.

Способы регистрации клиента разобраны на странице Регистрация клиента: CIMD и DCR.

Возможность Что пишет Anthropic
Tools поддерживаются; при большом числе инструментов работает поиск по инструментам
Resources поддерживаются, ссылка на ресурс через @
Prompts поддерживаются, доступны как команды
Elicitation поддерживается в двух видах: форма и ссылка (URL)
Roots Claude Code отвечает на roots/list каталогом запуска и дополнительными рабочими каталогами
уведомления list_changed поддерживаются
каналы (channels) собственное расширение Claude Code, не часть спецификации
MCP Apps ресурсы интерфейса ui:// не отображаются: их нет в подсказках @ и в списке ресурсов; прочитать такой ресурс по адресу можно
Sampling в документации и журнале изменений не упомянут - неизвестно
Tasks в документации и журнале изменений не упомянуты - неизвестно

Раздел «MCP client runtimes» описывает две среды клиента.

Среда На чём построена Редакция
v1 MCP TypeScript SDK 1.x прежнее рукопожатие
v2 MCP TypeScript SDK 2.0 добавляет редакцию 2026-07-28

Среда выбирается при запуске и не меняется до выхода.

С какой версии v2 работает по умолчанию:

  • в сеансах, где Claude Code получает флаги возможностей, - с версии 2.1.232;
  • в сеансах, где флаги не получаются, - с версии 2.1.274. Это сеансы через Amazon Bedrock, Claude Platform on AWS, Google Cloud Agent Platform и Microsoft Foundry, вход через Claude apps gateway и сеансы с выключенной телеметрией.

Какие серверы клиент спрашивает о новой редакции:

  • серверы HTTP - всегда в среде v2;
  • серверы коннекторов claude.ai - в сеансах с получением флагов;
  • серверы stdio - с версии 2.1.285, причём поставщик пишет, что включает это постепенно.

Журнал изменений подтверждает то же по выпускам: в 2.1.274 клиент v2 и согласование 2026-07-28 с серверами HTTP стали поведением по умолчанию для оставшихся установок; в 2.1.281 добавлен Elicitation в виде ссылки на соединениях редакции 2026-07-28; в 2.1.287 добавлены запросы со ссылкой от серверов на протоколе 2025-11-25; в 2.1.238 исправлена отправка server/discover серверам stdio раньше initialize.

Откат описан прямо. В среде v2 клиент спрашивает сервер о новой редакции и работает по ней с теми, кто её знает. По словам поставщика, «со всеми остальными серверами он соединяется так же, как v1», то есть прежним рукопожатием.

Управляют этим две переменные окружения (справочник переменных):

Переменная Значения Что делает
MCP_SDK_GENERATION v1, v2 закрепляет среду клиента для процесса; читается один раз; требует 2.1.218 или новее
MCP_PROTOCOL_NEGOTIATION auto, legacy только для v2: auto - спрашивать серверы HTTP, коннекторов claude.ai и stdio; legacy - не спрашивать никого; требует 2.1.221 или новее

Кроме того, Anthropic может флагом возможностей оставить отдельный сервер на прежнем протоколе.

Ограничение новой редакции. Сервер-канал, согласованный на 2026-07-28, не может доставлять сообщения канала, и Claude Code не регистрирует его как канал. Сервер, который новой редакции не знает, соединяется прежним рукопожатием и регистрируется как раньше. Чтобы удержать канал stdio на прежнем рукопожатии, задают MCP_PROTOCOL_NEGOTIATION=legacy - это оставляет на нём все серверы.

Что такое обе эпохи и чем они различаются - на странице Редакции и версии протокола.

Серверы добавляют командой claude mcp add или записью JSON. Область действия определяет, где запись хранится:

Область Где действует Где хранится
local (по умолчанию) текущий проект, только у вас ~/.claude.json
project текущий проект, общая для команды .mcp.json в корне проекта
user все ваши проекты ~/.claude.json

Команда из документации:

Добавить удалённый сервер в область проекта
claude mcp add --transport http shared-server --scope project https://example.com/mcp

Она создаёт такой файл:

.mcp.json
{
"mcpServers": {
"shared-server": {
"type": "http",
"url": "https://example.com/mcp"
}
}
}

Пример взят из документации поставщика, прочитанной 4 октября 2026, и здесь не запускался.

В интерактивном сеансе Claude Code спрашивает разрешение, прежде чем использовать серверы из .mcp.json. Состояние серверов показывает команда /mcp внутри сеанса.

  • Поддержка Sampling и Tasks: поставщик о них не пишет.
  • Доля сеансов, в которых серверы stdio уже спрашиваются о новой редакции: включение идёт постепенно, сроки не названы.
  • Тарифы и ограничения по числу серверов: на прочитанных страницах не указаны.