# Claude Code

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

Страница: https://mcpdoc.ru/clients/claude-code/
Указатель сайта: https://mcpdoc.ru/llms.txt

Claude Code - MCP host для разработчика: подключает локальные и удалённые серверы и сам умеет работать как сервер MCP по stdio.

Это единственный из пяти описанных на сайте клиентов, для которого поставщик прямо называет редакцию `2026-07-28` для клиента в целом. Клиент спрашивает сервер, знает ли тот новую редакцию, и работает по ней. С остальными серверами он соединяется прежним рукопожатием. Поэтому Claude Code - Dual-era по заявлению самого поставщика.

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

Совместимость Dual-era работает с обеими эпохами и выбирает по собеседнику

- **Проверенная версия:** 2.1.289

- **Новейшая поддерживаемая редакция:** 2026-07-28

- **С сервером только Modern:** частично

- **С сервером только Legacy:** работает

- **Переход на старую редакцию:** автоматически

- **Использует устаревшее:** Roots, динамическая регистрация клиента (DCR), транспорт HTTP+SSE

- **Сохраняет удалённое в редакции 2026-07-28:** нет

- **Расширение Tasks:** неизвестно

- **Расширение MCP Apps:** неизвестно

- **Проверено:** 2026-10-04

- **Источник:** [code.claude.com](https://code.claude.com/docs/en/mcp)

## Что подключается

По [документации Claude Code об MCP](https://code.claude.com/docs/en/mcp):

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

Тарифы, на которых доступно подключение серверов, на этой странице не названы. Подписку для Claude Code можно [оплатить из России](https://mcpdoc.ru/go/pay-claude-code/).

## Транспорты

| Транспорт | Что пишет 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` не принимает.

Запись, где есть `url`, но нет `type`, Claude Code читает как сервер stdio и пропускает с ошибкой настройки. Тип нужно указать явно: `http`, `sse` или `ws`.

Как устроены сами транспорты протокола - на странице [Транспорты](https://mcpdoc.ru/protocol/transports/).

## Авторизация

По разделу об авторизации [той же страницы](https://code.claude.com/docs/en/mcp):

- **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](https://mcpdoc.ru/auth/client-registration/).

## Возможности протокола

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

## Редакция протокола

Раздел [«MCP client runtimes»](https://code.claude.com/docs/en/mcp) описывает две среды клиента.

| Среда | На чём построена | Редакция |
|---|---|---|
| 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, причём поставщик пишет, что включает это постепенно.

[Журнал изменений](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md) подтверждает то же по выпускам: в 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`.

Claude Code спрашивает о редакции `2026-07-28` серверы коннекторов claude.ai. Это описывает клиент Claude Code. О клиенте приложений [Claude](https://mcpdoc.ru/clients/claude/) это ничего не говорит: там редакция не опубликована.

## Откат на старый порядок

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

Управляют этим две переменные окружения ([справочник переменных](https://code.claude.com/docs/en/env-vars)):

| Переменная | Значения | Что делает |
|---|---|---|
| `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` - это оставляет на нём все серверы.

Что такое обе эпохи и чем они различаются - на странице [Редакции и версии протокола](https://mcpdoc.ru/protocol/versions/).

## Где настраивается

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

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

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

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

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

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

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

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

## Что неизвестно

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

## Что читать дальше

- [Claude](https://mcpdoc.ru/clients/claude/) - приложения claude.ai и Claude Desktop, другой клиент
- [Матрица клиентов](https://mcpdoc.ru/reference/clients/)
- [Редакции и версии протокола](https://mcpdoc.ru/protocol/versions/)
- [Обнаружение: server/discover](https://mcpdoc.ru/protocol/discovery/)
