SpyBara
Go Premium

mcp.md 2026-09-28 22:59 UTC to 2026-09-29 11:57 UTC

This page contains 257 additions and 240 deletions.

2026
Sat 12 03:02 Sun 13 21:00 Fri 18 23:58 Wed 23 23:57 Fri 25 23:58 Mon 28 22:59 Tue 29 12:59

Подключите Claude Code к инструментам через MCP

Узнайте, как подключить Claude Code к вашим инструментам с помощью Model Context Protocol.

Claude Code может подключаться к сотням внешних инструментов и источников данных через Model Context Protocol (MCP), открытый стандарт для интеграции AI с инструментами. MCP servers предоставляют Claude Code доступ к вашим инструментам, базам данных и API.

Подключите server, когда вы обнаружите, что копируете данные в чат из другого инструмента, например из трекера проблем или панели мониторинга. После подключения Claude может читать и действовать на этой системе напрямую вместо работы с тем, что вы вставляете.

Если вы подключаете свой первый server, начните с MCP quickstart для пошагового руководства. Эта страница является полным справочником.

Что вы можете делать с MCP

С подключенными MCP servers вы можете попросить Claude Code:

  • Реализовать функции из трекеров проблем: "Добавьте функцию, описанную в задаче JIRA ENG-4521, и создайте PR на GitHub."
  • Анализировать данные мониторинга: "Проверьте Sentry и Statsig, чтобы проверить использование функции, описанной в ENG-4521."
  • Запрашивать базы данных: "Найдите адреса электронной почты 10 случайных пользователей, которые использовали функцию ENG-4521, на основе нашей базы данных PostgreSQL."
  • Интегрировать дизайны: "Обновите наш стандартный шаблон электронного письма на основе новых дизайнов Figma, которые были опубликованы в Slack"
  • Автоматизировать рабочие процессы: "Создайте черновики Gmail, приглашающие этих 10 пользователей на сеанс обратной связи о новой функции."
  • Реагировать на внешние события: MCP server также может действовать как канал, который отправляет сообщения в вашу сессию, поэтому Claude реагирует на сообщения Telegram, чаты Discord или события webhook, пока вас нет.

Поиск и создание MCP servers

Просмотрите проверенные коннекторы в Anthropic Directory. Коннекторы Directory используют ту же инфраструктуру MCP, что и Claude Code, поэтому вы можете добавить любой удаленный server из списка с помощью claude mcp add.

Чтобы создать свой собственный server, см. руководство по MCP server для основ протокола и документацию по созданию Claude connector для аутентификации, тестирования и отправки в Directory.

Вы также можете попросить Claude создать server для вас с помощью официального плагина mcp-server-dev.

1

Установите плагин

В сеансе Claude Code выполните:

/plugin install mcp-server-dev@claude-plugins-official

Если установка не удается, сопоставьте сообщение, которое сообщает Claude Code:

  • Marketplace "claude-plugins-official" not found: добавьте marketplace с помощью /plugin marketplace add anthropics/claude-plugins-official, затем повторите попытку установки.
  • The plugin is not found in the marketplace: проверьте имя плагина.

Если в сводке установки указано Run /reload-plugins to activate., Claude Code затем запустит эту перезагрузку для вас. Если перезагрузка предупреждает, что ваше следующее сообщение повторно прочитает разговор, выполните /reload-plugins --force.

2

Запустите skill сборки

/mcp-server-dev:build-mcp-server

Claude спросит о вашем варианте использования и создаст удаленный HTTP или локальный stdio server.

Установка MCP серверов

MCP серверы можно настроить несколькими способами в зависимости от ваших потребностей:

Вариант 1: Добавление удалённого HTTP сервера

HTTP серверы — это рекомендуемый вариант для подключения к удалённым MCP серверам. Это наиболее широко поддерживаемый транспорт для облачных сервисов.

# Базовый синтаксис
claude mcp add --transport http <name> <url>

# Реальный пример: подключение к Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp

# Пример с токеном Bearer
claude mcp add --transport http secure-api https://api.example.com/mcp \
  --header "Authorization: Bearer your-token"

При настройке MCP серверов через JSON в .mcp.json, ~/.claude.json или claude mcp add-json, поле type принимает streamable-http как псевдоним для http. Спецификация MCP использует имя streamable-http для этого транспорта, поэтому конфигурации, скопированные из документации сервера, работают без изменений.

Запись JSON, которая имеет url но не имеет type, является ошибкой конфигурации, потому что Claude Code читает запись без type как stdio сервер. Claude Code пропускает этот сервер и сообщает MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry. До версии v2.1.202 Claude Code сообщал об этой неправильной конфигурации как command: expected string, received undefined.

Только приложение-хост SDK, такое как приложение Agent SDK или настольное приложение, может зарегистрировать встроенный сервер "type": "sdk". Claude Code пропускает запись "type": "sdk" в .mcp.json, ~/.claude.json или параметрах и сообщает Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register.

В запусках --output-format stream-json Claude Code также сообщает о пропущенной записи --mcp-config в поле mcp_server_errors события system/init, поэтому скрипты могут обнаружить, что сервер никогда не загружался. Это требует Claude Code v2.1.219 или позже.

Вариант 2: Добавление удалённого SSE сервера

Некоторые сервисы по-прежнему предоставляют только SSE конечную точку. Добавляйте их с той же командой claude mcp add --transport http <name> <url>, что и HTTP сервер. Claude Code сначала пробует HTTP транспорт и переключается на SSE, когда сервер его не принимает. Автоматическое переключение требует Claude Code v2.1.265 или позже.

На более ранней версии или для прямого подключения через SSE передайте --transport sse вместо этого:

# Базовый синтаксис
claude mcp add --transport sse <name> <url>

# Реальный пример: подключение к Asana
claude mcp add --transport sse asana https://mcp.asana.com/sse

# Пример с заголовком аутентификации
claude mcp add --transport sse private-api https://api.company.com/sse \
  --header "X-API-Key: your-key-here"

Вариант 3: Добавление локального stdio сервера

Stdio серверы работают как локальные процессы на вашей машине. Они идеальны для инструментов, которым нужен прямой доступ к системе или пользовательские скрипты.

Claude Code устанавливает CLAUDE_PROJECT_DIR в окружение порождённого сервера в корень проекта, поэтому ваш сервер может разрешать пути относительно проекта без зависимости от рабочей директории. Это та же директория, которую hooks получают в своей переменной CLAUDE_PROJECT_DIR. Читайте её изнутри процесса вашего сервера, например process.env.CLAUDE_PROJECT_DIR в Node или os.environ["CLAUDE_PROJECT_DIR"] в Python.

CLAUDE_PROJECT_DIR — это стабильный корень проекта и не меняется, когда вы добавляете или удаляете рабочие директории во время сеанса. Сервер, который ограничивает свой собственный доступ к файловой системе набором разрешённых директорий, должен вместо этого реализовать MCP запрос roots/list. Claude Code отвечает на roots/list с директорией запуска сеанса плюс каждая дополнительная рабочая директория, которую вы предоставили с --add-dir, /add-dir или параметром additionalDirectories. Claude Code отправляет notifications/roots/list_changed, когда этот набор меняется. До версии v2.1.203 roots/list возвращал только директорию запуска и Claude Code не отправлял notifications/roots/list_changed.

Эта переменная устанавливается в окружение сервера, а не в собственное окружение Claude Code, поэтому ссылка на неё через расширение ${VAR} в command или args записи .mcp.json с областью проекта или локальной или пользовательской записи сервера в ~/.claude.json требует значения по умолчанию, такого как ${CLAUDE_PROJECT_DIR:-.}. Конфигурации MCP, предоставляемые плагинами, подставляют ${CLAUDE_PROJECT_DIR} напрямую и не нуждаются в значении по умолчанию.

# Базовый синтаксис
claude mcp add [options] <name> -- <command> [args...]

# Реальный пример: добавление сервера Airtable
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
  -- npx -y airtable-mcp-server

Вариант 4: Добавление удалённого WebSocket сервера

WebSocket серверы поддерживают постоянное двусторонее соединение, которое подходит для удалённых MCP серверов, которые отправляют события Claude без запроса. Используйте HTTP вместо этого, когда ваш сервер только отвечает на запросы, так как HTTP поддерживает OAuth и флаг claude mcp add --transport, в то время как WebSocket не поддерживает ни то, ни другое.

Настраивайте WebSocket серверы в .mcp.json или с помощью claude mcp add-json:

claude mcp add-json events-server \
  '{"type":"ws","url":"wss://mcp.example.com/socket","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'

Запись type: "ws" принимает те же поля url, headers, headersHelper, timeout и alwaysLoad, что и http. Аутентификация только через заголовки, поэтому передайте статический токен в headers или сгенерируйте его во время подключения с помощью headersHelper. Флаг claude mcp add --transport не принимает ws.

Добавление сервера из инструкций по настройке, написанных для другого клиента

MCP серверы не специфичны для Claude Code, поэтому инструкции по настройке сервера могут быть написаны для Claude Desktop, Cursor или другого MCP клиента и не давать команду claude mcp add. Чтобы добавить сервер в любом случае, ищите в этих инструкциях URL, команду запуска или блок JSON:

  • URL такой как https://mcp.example.com/mcp: сервер удалённый.
  • Команда запуска такая как npx -y @example/mcp-server: сервер работает на вашей машине.
  • Блок JSON mcpServers: конфигурация, написанная для файла параметров другого клиента.

Каждый из них — один из входов, которые принимают четыре варианта в Установка MCP серверов. Найдите форму, которую вы имеете ниже, чтобы превратить её в команду, которую принимает Claude Code. Каждая команда записывает в локальную область, если вы не добавите --scope project или --scope user.

Из URL

URL означает, что сервер удалённый. Для конечной точки https://, добавьте её с --transport http или следуйте Варианту 2, когда инструкции говорят, что конечная точка использует SSE. Для конечной точки wss:// используйте вместо этого Вариант 4, так как --transport не принимает ws:

claude mcp add --transport http example https://mcp.example.com/mcp

Если инструкции также дают ключ API или заголовок токена, передайте его с --header, как показано в Варианте 1.

Из команды `npx`, `uvx` или двоичного файла

Команда запуска означает, что сервер работает как локальный stdio процесс. Поместите всю команду после --, чтобы Claude Code передал флаги, такие как -y, команде, которая запускает сервер, вместо того чтобы читать их как свои собственные опции. Передайте любые переменные окружения, которые инструкции требуют, с --env, после имени сервера и перед --:

claude mcp add example --env API_KEY=your-key -- npx -y @example/mcp-server

Вариант 3 полностью охватывает разделитель --.

Из блока JSON `mcpServers`

Блок mcpServers, написанный для другого MCP клиента, такого как Claude Desktop, использует ключ обёртки и форму записи, которую читает Claude Code. Передайте claude mcp add-json объект внутри mcpServers, а не обёртку. Две записи нуждаются в исправлении сначала:

  • url без type: добавьте "type": "http", "type": "sse" или "type": "ws" для соответствия конечной точке. Claude Code читает запись без type как stdio сервер, поэтому запись url без type не работает.
  • Ключ с символами, отличными от букв, цифр, дефисов и подчёркиваний: выберите имя сервера, которое использует только эти символы. В противном случае ключ — это имя сервера.

Например, этот блок:

{
  "mcpServers": {
    "example": {
      "command": "npx",
      "args": ["-y", "@example/mcp-server"]
    }
  }
}

становится этой командой:

claude mcp add-json example '{"command":"npx","args":["-y","@example/mcp-server"]}'

Добавление MCP серверов из конфигурации JSON охватывает экранирование оболочки и флаг --scope для add-json. Чтобы поделиться сервером с вашей командой вместо этого, добавьте --scope project или добавьте запись под mcpServers в .mcp.json в корне вашего проекта и зафиксируйте её. Область проекта охватывает, как Claude Code загружает и одобряет этот файл.

Каждая команда claude mcp add и claude mcp add-json выводит строку Added .... Чтобы проверить, что Claude Code подключился, запустите claude mcp get <name>; Статус сервера охватывает статусы, которые он показывает, и шаг одобрения для серверов .mcp.json.

Управление вашими серверами

После настройки вы можете управлять вашими MCP серверами с помощью этих команд:

# Список всех настроенных серверов
claude mcp list

# Получить детали для конкретного сервера
claude mcp get notion

# Удалить сервер
claude mcp remove notion

# (внутри Claude Code) Проверить статус сервера
/mcp

Когда вы удаляете удалённый сервер, Claude Code также удаляет токены OAuth и регистрацию клиента, которые он хранил для этого сервера.

Статус сервера

claude mcp add подтверждает успешное добавление, выводя строку Added ..., что означает, что конфигурация была записана. claude mcp list затем показывает статус здоровья рядом с каждым сервером, который он перечисляет, такой как ✔ Connected, ! Needs authentication или ✘ Failed to connect. Статус отказа означает, что Claude Code не смог подключиться к этому серверу, а не то, что команда list не удалась.

Статусы в этом списке сообщают о решении конфигурации, а не о попытке подключения, поэтому Claude Code выводит их без подключения к серверу:

  • ⏸ Pending approval (run `claude` to approve): сервер с областью проекта из .mcp.json, который вы ещё не одобрили. Claude Code показывает его как в claude mcp list, так и в claude mcp get <name>. Запустите claude интерактивно, чтобы просмотреть и одобрить его.
  • ✘ Rejected (see disabledMcpjsonServers in settings): сервер .mcp.json, который запись disabledMcpjsonServers отклоняет. Claude Code показывает его только в claude mcp get <name>.
  • ⊘ Disabled for this project (re-enable via /mcp): сервер, который список disabledMcpServers проекта называет. Claude Code показывает его как в claude mcp list, так и в claude mcp get <name>. Включите сервер обратно из панели /mcp. До версии v2.1.238 обе команды подключались к отключённому серверу для проверки здоровья и сообщали результат подключения.

WebSocket серверы не появляются в выводе claude mcp list. Используйте claude mcp get <name> или панель /mcp для их проверки.

Одобрения серверов проекта и доверие рабочей области

Начиная с версии v2.1.196, claude mcp list и claude mcp get читают одобрения .mcp.json только из файлов параметров, которые не зафиксированы в репозитории, пока вы не доверите рабочей области, запустив claude в ней и приняв диалог доверия рабочей области. Клонированный репозиторий не может одобрить свои собственные серверы: enableAllProjectMcpServers или enabledMcpjsonServers, зафиксированные в .claude/settings.json проекта, игнорируются в недоверенной папке, и сервер остаётся в ⏸ Pending approval вместо подключения и проверки здоровья.

Одобрения из этих источников по-прежнему применяются в недоверенной папке:

  • ваш пользовательский ~/.claude/settings.json
  • управляемые параметры
  • параметры, переданные с --settings

Claude Code также применяет одобрения из отслеживаемого .claude/settings.local.json, но он запускает git для проверки, отслеживается ли файл, и запускает эту проверку только в доверенной папке. В папке, которую вы никогда не доверяли, Claude Code ждёт диалога доверия перед применением одобрений файла, если только папка не является вашей конфигурационной домашней директорией: вашей домашней директорией или директорией, чей .claude вы установили как CLAUDE_CONFIG_DIR. До версии v2.1.207 Claude Code применял одобрения из отслеживаемого .claude/settings.local.json даже в папке, которую вы никогда не доверяли.

Запись disabledMcpjsonServers в любом файле параметров по-прежнему отклоняет сервер.

Деталь статуса сервера

В /mcp, включая меню сервера там, и в менеджере /plugin, удалённый HTTP или SSE сервер, который вы использовали раньше, может показать статус cached такой как cached 2h ago · connects on first use · 5 tools. Claude Code загрузил список инструментов сервера из своего кэша обнаружения, сохранённого в предыдущем сеансе, вместо подключения при запуске, и Claude Code подключает сервер в первый раз, когда Claude вызывает один из инструментов сервера. Инструменты доступны с вашего первого сообщения, поэтому вам не нужно ничего делать. Кэш обнаружения и его статус cached требуют Claude Code v2.1.221 или позже.

Кэш обнаружения отключён по умолчанию, если постепенное развёртывание не включило его для вашей учётной записи. Установите MCP_DISCOVERY_CACHE=1 для его включения или 0 для его отключения, даже если развёртывание включило его. До версии v2.1.238 кэш был включён по умолчанию.

Когда вы выбираете Disable или Clear authentication из меню сервера в /mcp, Claude Code также отбрасывает запись кэша этого сервера. Reconnect отбрасывает её тоже на подключённом или неудачном сервере; на сервере cached Reconnect подключает сервер сейчас и сохраняет запись. В следующий раз, когда Claude Code подключится к серверу после отбрасывания записи, он получит список инструментов с сервера вместо кэша.

Когда статус сервера ✘ Failed to connect, claude mcp list добавляет деталь отказа к этой строке статуса, и claude mcp get <name> показывает её на строке Issue:: HTTP статус или код ошибки, плюс любой текст ошибки, который вернул сервер. Представление деталей сервера в /mcp включает тот же текст, сообщённый сервером, в его строку Issue:. Claude Code редактирует текст, похожий на учётные данные, из этой детали и никогда не включает развёрнутый URL сервера, который может нести секреты. Claude Code не добавляет деталь к статусу ✘ Connection error, потому что текст исключения, который он выводил бы там, может встроить этот URL. До версии v2.1.219 обе команды показывали только голый статус отказа, без кода статуса или текста ошибки сервера.

Когда вы завершаете аутентификацию из /mcp и подключение по-прежнему не удаётся с HTTP статусом или кодом ошибки транспорта, Claude Code добавляет этот код и источник URL сервера к сообщению, которое он выводит после попытки. Источник — это схема и хост, плюс порт, когда URL называет один, такой как https://mcp.example.com.

  • Путь и запрос никогда не появляются в этом сообщении.
  • Для сервера в локальной, проектной или пользовательской области или в управляемой конфигурации MCP источник показывает хост, как написано в этой конфигурации, поэтому ссылка ${VAR} в хосте не развёрнута в сообщении.
  • Для отказа без статуса или кода ошибки Claude Code показывает текст ошибки без источника.

Удалённый сервер, чья конфигурация имеет пустой url, показывается как not configured в /mcp, в claude mcp list и в менеджере /plugin, и Claude Code не пытается подключиться к нему. Плагин может включить запись-заполнитель, подобную этой, для соединителя, который вы настраиваете позже, поэтому Claude Code не сообщает об этом как об ошибке или проблеме настройки. Представление деталей сервера в /mcp читает No URL configured for this server; установите url записи для подключения к нему. До версии v2.1.208 Claude Code сообщал о пустом url как о проблеме конфигурации с подсказкой переподключиться.

Предупреждения конфигурации

Claude Code предупреждает о проблемах конфигурации ниже. Каждая запись говорит, что Claude Code проверяет и как очистить предупреждение:

  • Скрытое пробельное пространство: Claude Code предупреждает, когда значение конфигурации MCP несёт скрытое ведущее или конечное пробельное пространство, которое часто происходит из вставки токена с конечным переводом строки. Claude Code проверяет command, url, каждую запись args и значения и имена ключей под env и headers. Claude Code показывает предупреждение в выводе claude mcp list и в /mcp, называя затронутые поля без повторения их значений, например Leading or trailing whitespace in: headers.Authorization. Claude Code не обрезает пробельное пространство и использует значения точно так, как написано, поэтому отредактируйте конфигурацию, чтобы удалить его.
  • Одно имя в более чем одной области: если вы определяете одно имя сервера в более чем одной области с разными конечными точками, Claude Code предупреждает о конфликте в выводе claude mcp list и в /mcp. Claude Code хранит входы OAuth для каждой конечной точки, поэтому когда вы аутентифицируете определение, которое загружается в одном проекте, вам по-прежнему нужно отдельно войти в проект, где загружается другое определение. Сохраните конечную точку, которую вы хотите, и удалите остальные с помощью claude mcp remove <name> --scope <scope>. В предупреждении Claude Code цитирует конечную точку каждой области, как написано в вашей конфигурации, с ссылками ${VAR} не развёрнутыми, поэтому она никогда не показывает разрешённое значение, такое как ключ API.
  • Зарезервированные имена: Claude Code резервирует имена своих встроенных серверов, включая workspace, claude-in-chrome, computer-use, Claude Preview и Claude Browser. Если ваша конфигурация определяет сервер с зарезервированным именем, Claude Code пропускает его при загрузке и показывает предупреждение, прося вас переименовать его. claude mcp add отклоняет зарезервированное имя с ошибкой. Claude Preview и Claude Browser оба называют встроенный сервер, который использует панель предпросмотра настольного приложения Claude Code. До версии v2.1.205 Claude Browser не был зарезервирован, поэтому пользовательский сервер мог зарегистрироваться под этим именем.
  • Отсутствующая переменная окружения: если ссылка ${VAR} в конфигурации сервера называет переменную, которая не установлена и не имеет :-default, Claude Code предупреждает в выводе claude mcp list и в /mcp, называя переменную, и по-прежнему загружает сервер с текстом ${VAR} не развёрнутым. Установите переменную или добавьте резервный вариант ${VAR:-default}. В url и headers удалённого сервера некоторые переменные учётных данных читаются как пустые вместо этого, без предупреждения.

Доступность инструментов

Панель /mcp показывает количество инструментов рядом с каждым подключённым сервером и отмечает серверы, которые объявляют возможность инструментов, но не предоставляют инструменты.

Если ваш запрос нуждается в инструментах с сервера, который всё ещё подключается в фоне, Claude ждёт этого сервера перед продолжением. Как происходит ожидание, зависит от вашей конфигурации:

  • С поиском инструментов, по умолчанию: ожидание происходит внутри вызова ToolSearch.
  • Без поиска инструментов: Claude использует инструмент WaitForMcpServers вместо этого. Конфигурации без поиска инструментов включают пользовательский ANTHROPIC_BASE_URL, ENABLE_TOOL_SEARCH=false и модель более ранней версии, чем поколение Claude 4.5 на платформе Agent Platform Google Cloud.
  • На развёртывании Microsoft Foundry размещённом на Azure: Claude начинает на пути поиска инструментов, а не с WaitForMcpServers, так как Claude Code обнаруживает отклонение на стороне сервера развёртывания только из API. После того как Claude Code переключит это развёртывание на предварительную загрузку, инструменты с сервера, который завершает подключение, становятся доступны при следующем запросе Claude.

С включённым поиском инструментов, когда сервер завершает подключение, пока Claude работает, Claude Code перечисляет имена инструментов сервера Claude при его следующем запросе в том же ходу. Claude затем может искать и вызывать эти инструменты без ожидания вашего следующего сообщения.

Отключение сервера без его удаления

Переключите сервер в панели /mcp, чтобы остановить Claude Code от подключения к нему без потери его конфигурации. Claude Code по-прежнему перечисляет сервер в /mcp, отмеченный как отключённый.

Когда вы переключаете сервер, Claude Code записывает ваш выбор для каждого проекта в ~/.claude.json, в один из двух списков, которые охватывают непересекающиеся наборы серверов:

  • disabledMcpServers: список отказа для пользовательских серверов, серверов плагинов, серверов, которые ваша организация предоставляет через управляемые параметры, соединителей claude.ai, которые Claude Code получает сам, и встроенных серверов, которые по умолчанию включены. Claude Code не подключается к серверу, который вы перечисляете здесь. Когда вы отключаете соединитель claude.ai с помощью переключателя /mcp для каждого проекта, описанного в Отключение соединителей claude.ai, Claude Code записывает его в этот список под его отображаемым именем, например claude.ai Slack.
  • enabledMcpServers: список включения для встроенных серверов, которые по умолчанию отключены, такие как computer-use. Claude Code подключается к серверу, отключённому по умолчанию, только когда вы перечисляете его здесь.

Claude Code консультирует ровно один из двух списков для каждого сервера, поэтому ни один список не переопределяет другой. Если вы добавляете обычный сервер в enabledMcpServers или сервер, отключённый по умолчанию, в disabledMcpServers, Claude Code игнорирует запись.

disabledMcpServers и enabledMcpServers не связаны с enabledMcpjsonServers и disabledMcpjsonServers, которые контролируют одобрение серверов, определённых в файле .mcp.json проекта.

Среды выполнения клиента MCP

Claude Code подключается к MCP серверам через одну из двух сред выполнения клиента. Среда выполнения v1 построена на MCP TypeScript SDK 1.x. Среда выполнения v2 — это тот же код на MCP TypeScript SDK 2.0, который добавляет пересмотр протокола MCP 2026-07-28. Остальная часть этой страницы применяется к обеим средам выполнения, кроме случаев, когда раздел называет среду выполнения v2.

Claude Code выбирает среду выполнения каждый раз, когда вы его запускаете, и сохраняет её до выхода. В сеансах, где он получает флаги функций, он использует среду выполнения v2 на Claude Code v2.1.232 или позже.

В сеансах, где он не получает флаги функций, Claude Code использует среду выполнения v2 по умолчанию на Claude Code v2.1.274 или позже:

  • Сеансы на Amazon Bedrock, Claude Platform на AWS, платформе Agent Platform Google Cloud или Microsoft Foundry, если платформа-хост, которая встраивает Claude Code, не устанавливает CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST
  • Сеансы, вошедшие через шлюз приложений Claude
  • Сеансы, где вы отключаете телеметрию или получение флагов функций, например с DISABLE_TELEMETRY

На v2 Claude Code также:

  • Спрашивает HTTP серверы, поддерживают ли они более новый пересмотр, и использует его с теми, которые это делают. Он также спрашивает серверы соединителей claude.ai в сеансах, где он получает флаги функций. Чтобы заставить его спрашивать stdio серверы или серверы соединителей в каждом сеансе, установите MCP_PROTOCOL_NEGOTIATION на auto. Он подключается к каждому другому серверу, как v1 это делает.
  • Получает уведомления list_changed с серверов на более новом пересмотре через поток, который он держит открытым.
  • Не регистрирует сервер канала, который подключается на более новом пересмотре, потому что этот пересмотр не может нести сообщения канала.
  • Не удаётся вход MCP OAuth, чей ответ авторизации называет неожиданного издателя.

Anthropic может сохранить конкретный сервер на более раннем протоколе или вне этого потока с флагом функции, который Claude Code получает.

Чтобы выбрать среду выполнения самостоятельно, установите MCP_SDK_GENERATION на v1 или v2. Чтобы решить, спрашивает ли Claude Code, установите MCP_PROTOCOL_NEGOTIATION на auto или legacy.

Динамические обновления инструментов

Claude Code поддерживает уведомления MCP list_changed, позволяя MCP серверам динамически обновлять свои доступные инструменты, подсказки и ресурсы без необходимости отключения и переподключения. Когда MCP сервер отправляет уведомление list_changed, Claude Code автоматически обновляет доступные возможности с этого сервера.

Если запрос обновления не удаётся, Claude Code сохраняет ранее обнаруженные инструменты, подсказки и ресурсы сервера до тех пор, пока более позднее обновление не удастся. До версии v2.1.214 переходная ошибка во время обновления заменяла инструменты, подсказки и ресурсы сервера пустым списком.

Потоки уведомлений на среде выполнения v2

На среде выполнения v2 Claude Code получает уведомления list_changed с сервера на более новом пересмотре протокола через поток, который он держит открытым. Когда поток закрывается, Claude Code переоткрывает его с двумя ограничениями:

  • Поток закрывается снова в течение 10 секунд: Claude Code переоткрывает его до трёх раз, затем останавливается для этого соединения.
  • Поток остаётся открытым дольше 10 секунд, затем закрывается, как потоки к бессерверным хостам обычно делают: после пяти переоткрытий в час Claude Code ждёт около шести часов перед следующим.

До переоткрытия потока вы сохраняете последние полученные инструменты, подсказки и ресурсы сервера. Чтобы подобрать его изменения раньше, переподключите сервер из /mcp.

Автоматическое переподключение

Claude Code переподключает удалённый сервер, который отключается во время сеанса, и повторяет попытку первого подключения HTTP или SSE сервера после переходной ошибки. Stdio серверы — это локальные процессы, и Claude Code не переподключает их автоматически.

Отключения удалённого сервера во время сеанса

Claude Code переподключает отключённый удалённый сервер с экспоненциальной задержкой: до пяти попыток, начиная с задержки в одну секунду и удваивая её каждый раз. То, что вы видите, зависит от того, как вы запускаете Claude Code:

  • В интерактивном сеансе: /mcp показывает сервер как ожидающий, пока Claude Code переподключается. После пяти неудачных попыток Claude Code отмечает сервер как неудачный или как нуждающийся в аутентификации, когда сервер нуждается в авторизации снова. Когда он отмечает сервер как неудачный, вы видите уведомление MCP server "<name>" disconnected · open /mcp to reconnect. Вы можете повторить попытку вручную из /mcp.
  • В запусках claude -p и сеансах Agent SDK: Claude Code переподключается по тому же расписанию, без панели /mcp для показа попыток.

Неудачные первые подключения

Когда первое подключение HTTP или SSE сервера не удаётся с переходной ошибкой, такой как ответ 5xx, отказ в соединении или тайм-аут, Claude Code повторяет попытку до трёх раз. Если подключение по-прежнему не удаётся, Claude Code отмечает сервер как неудачный. Claude Code повторяет попытку таким образом при запуске и когда сервер добавляется во время сеанса. Это включает сервер, который Claude Code добавляет в облачный сеанс из его конфигурации, и сервер, который вы добавляете с помощью метода setMcpServers() Agent SDK.

Claude Code не повторяет попытку в этих случаях:

  • Первое подключение WebSocket сервера
  • Ошибка аутентификации или не найдено, потому что это требует изменения конфигурации для разрешения. Когда headersHelper — единственный источник сервера заголовка Authorization, Claude Code повторяет попытку ошибки аутентификации в любом случае, потому что он повторно запускает помощника при каждой попытке и может подобрать свежие учётные данные

Неудачные запросы обнаружения

После подключения сервера Claude Code отправляет ему запросы обнаружения возможностей, такие как tools/list, prompts/list и resources/list. Claude Code повторяет эти запросы до трёх раз с короткой задержкой после переходной сетевой или серверной ошибки. Он не повторяет ошибки аутентификации, ответы 4xx или тайм-ауты запросов.

Как Claude узнаёт, что сервер не удался

Сообщает ли Claude Code Claude о настроенном сервере, который не смог подключиться, зависит от поиска инструментов, который включён по умолчанию:

  • С поиском инструментов Claude Code сообщает Claude, какой сервер не удался и его ошибка подключения, поэтому Claude сообщает об ошибке подключения в своём ответе. Claude Code включает ту же информацию в результаты ToolSearch, которые не находят соответствующий инструмент.
  • В любой конфигурации без поиска инструментов Claude Code не сообщает Claude о неудачных подключениях сервера.

Отправка сообщений с каналами

MCP сервер также может отправлять сообщения непосредственно в ваш сеанс, чтобы Claude мог реагировать на внешние события, такие как результаты CI, оповещения мониторинга или сообщения чата. Чтобы включить это, ваш сервер объявляет возможность claude/channel и вы выбираете его с флагом --channels при запуске. Смотрите Каналы для использования официально поддерживаемого канала или Справочник каналов для создания своего собственного.

На среде выполнения v2, если вы установите MCP_PROTOCOL_NEGOTIATION на auto и сервер канала согласует пересмотр протокола MCP 2026-07-28, он не может доставлять сообщения канала, поэтому Claude Code не регистрирует его как канал. Оставление переменной неустановленной или установка её на legacy сохраняет stdio серверы на более раннем рукопожатии.

Тайм-аут для каждого сервера — это жёсткий предел реального времени для каждого вызова инструмента, и уведомления о прогрессе с сервера не расширяют его. Значения ниже 1000 игнорируются и переходят к MCP_TOOL_TIMEOUT или к его значению по умолчанию около 28 часов, когда эта переменная не установлена. Для HTTP, SSE или соединителя claude.ai сервера также есть второй таймер для каждого запроса, который охватывает каждый запрос до первого байта ответа сервера. Claude Code устанавливает этот таймер на наибольшее из трёх значений: 60 секунд, тайм-аут инструмента, который применяется к серверу, и MCP_TIMEOUT. Значение по умолчанию 28 часов неустановленного MCP_TOOL_TIMEOUT не входит в это сравнение, и значение ниже 60 секунд не сокращает таймер. Stdio и WebSocket серверы не имеют таймера для каждого запроса.

Тайм-аут для каждого сервера не менее 1000 также действует как нижний предел для тайм-аута неактивности, описанного ниже: Claude Code никогда не прерывает вызовы инструментов этого сервера из-за неактивности раньше, чем тайм-аут для каждого сервера. Требует Claude Code v2.1.203 или позже.

Вызов инструмента к MCP серверу, который не отправляет ответ и не отправляет уведомление о прогрессе в течение окна неактивности, прерывается с ошибкой вместо ожидания предела реального времени. Тайм-аут неактивности применяется к каждому типу сервера, кроме IDE серверов и SDK встроенных серверов. Окно неактивности по умолчанию составляет пять минут для HTTP, SSE, WebSocket и соединителей claude.ai серверов и 30 минут для stdio серверов. До версии v2.1.203 stdio серверы были освобождены от тайм-аута неактивности.

Установите переменную окружения CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT в миллисекундах, чтобы изменить окно неактивности, или установите её на 0, чтобы отключить проверку.

Эти тайм-ауты ограничивают, как долго может работать вызов, не всегда как долго он блокирует сеанс: вызов основного разговора, который работает более двух минут, сначала переходит в фоновую задачу. Смотрите Автоматическое фоновое выполнение долгих вызовов инструментов.

Автоматическое фоновое выполнение долгих вызовов инструментов

Вызов инструмента MCP в основном разговоре, который всё ещё работает после двух минут, переходит в фоновую задачу вместо блокирования сеанса. Claude получает ID задачи немедленно и продолжает работать, и результат приходит как уведомление задачи, когда вызов завершается. Автоматическое фоновое выполнение требует Claude Code v2.1.212 или позже.

Задача появляется в /tasks, где вы также можете её остановить, и она не сохраняется при выходе из сеанса. Ограничения для каждого вызова по-прежнему применяются, пока вызов работает в фоне: предел реального времени, установленный тайм-аутом для каждого сервера или MCP_TOOL_TIMEOUT, и тайм-аут неактивности, установленный CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT.

Установите переменную окружения CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS в миллисекундах, чтобы изменить порог, или установите её на 0, чтобы отключить автоматическое фоновое выполнение. Установка CLAUDE_CODE_DISABLE_BACKGROUND_TASKS на 1 также отключает его, наряду со всеми другими функциями фоновых задач.

Некоторые вызовы никогда не переходят в фон:

  • Вызовы из подагентов; Claude Code фоновое выполнение только вызовов основного разговора
  • Вызовы к IDE серверам
  • Вызовы в неинтерактивном режиме, если только CLAUDE_AUTO_BACKGROUND_TASKS не установлена на 1, так как одноразовый запуск может завершиться до прибытия результата

Вызов, ожидающий открытого диалога запроса, не фоновое выполнение, пока диалог открыт; сервер заблокирован на вашем вводе, а не медленный, поэтому Claude Code откладывает переход до закрытия диалога.

MCP серверы, предоставляемые плагинами

Плагины могут объединять MCP серверы, которые предоставляют инструменты и интеграции при включении плагина. MCP серверы плагинов работают идентично пользовательским настроенным серверам.

Как работают MCP серверы плагинов:

  • Плагины определяют MCP серверы в .mcp.json в корне плагина или встроенные в plugin.json
  • Когда вы включаете плагин, Claude Code автоматически запускает его MCP серверы
  • Claude Code предлагает инструменты MCP плагинов наряду с вручную настроенными инструментами MCP
  • Вы добавляете и удаляете серверы плагинов, устанавливая или удаляя плагин, а не с помощью команд /mcp. Вы по-прежнему можете переключить установленный сервер плагина в /mcp, что останавливает Claude Code от подключения к нему без удаления плагина

Пример конфигурации MCP плагина:

В .mcp.json в корне плагина:

{
  "mcpServers": {
    "database-tools": {
      "command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
      "args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"],
      "env": {
        "DB_URL": "${DB_URL}"
      }
    }
  }
}

Или встроенные в plugin.json:

{
  "name": "my-plugin",
  "mcpServers": {
    "plugin-api": {
      "command": "${CLAUDE_PLUGIN_ROOT}/servers/api-server",
      "args": ["--port", "8080"]
    }
  }
}

Функции MCP плагинов:

  • Автоматический жизненный цикл: серверы подключаются и отключаются в этих точках:
    • При запуске сеанса Claude Code автоматически подключает серверы для включённых плагинов. В /mcp удалённый (HTTP или SSE) сервер плагина, который вы использовали раньше, может показать статус cached вместо этого; Claude Code подключает его, когда Claude впервые вызывает один из его инструментов
    • Если вы включаете или отключаете плагин во время сеанса, Claude Code подключает или отключает его MCP серверы, когда изменение применяется. Применение изменений плагина без перезагрузки описывает, когда это происходит. В сеансе без интерактивного терминала /reload-plugins не подключает и не отключает MCP серверы плагинов; эти изменения вступают в силу в вашем следующем сеансе
    • Когда вы перезагружаете, Claude Code сохраняет живые соединения серверов плагинов, чья конфигурация не изменилась, и делает то же самое, когда вы заменяете список MCP сервера сеанса из Agent SDK без их названия
    • Когда вы перемещаете сеанс с /cd на v2.1.246 или позже, Claude Code подключает серверы плагинов, которые включают параметры новой директории, и отключает серверы плагинов, которые больше не включены, поэтому вам не нужно запускать /reload-plugins после перемещения
    • В облачных сеансах вызов MCP к серверу плагина, который ещё не подключён, такой как сразу после пробуждения неактивного сеанса, запускает сервер по требованию и ждёт его подключения
  • Заполнители пути: ${CLAUDE_PLUGIN_ROOT} разрешается в директорию установки плагина, ${CLAUDE_PLUGIN_DATA} в его директорию постоянного состояния и ${CLAUDE_PROJECT_DIR} в стабильный корень проекта. Подстановка применяется к:
    • серверам stdio: command, args, env
    • серверам http, sse и ws: url, headers и headersHelper. До версии v2.1.195 headersHelper передавал заполнитель как буквальную строку
  • Доступ к пользовательскому окружению: доступ к тем же переменным окружения, что и вручную настроенные серверы
  • Несколько типов транспорта: поддержка транспортов stdio, SSE, HTTP и WebSocket, хотя поддержка транспорта может варьироваться по серверам

Серверы плагинов появляются в /mcp с индикаторами, показывающими, что они поступают из плагинов.

Имена инструментов MCP плагинов:

Инструменты с сервера MCP, объединённого с плагином, включают как имя плагина, так и ключ сервера в их вызываемое имя. Полная форма — mcp__plugin_<plugin-name>_<server-name>__<tool-name>, где любой символ вне A-Z, a-z, 0-9, _ и - заменяется на _. Для сервера database-tools, объединённого в плагин с именем my-plugin, инструмент query вызывается как:

mcp__plugin_my-plugin_database-tools__query

Используйте это полное имя при ссылке на инструмент в правилах разрешений, списке allowed-tools навыка, поле tools подагента или сопоставителе hook. Сопоставитель hook, написанный для голого ключа сервера, такой как mcp__database-tools__.*, никогда не срабатывает для сервера, объединённого с плагином.

Сам сервер регистрируется под именем с областью plugin:<plugin-name>:<server-name>, такой как plugin:my-plugin:database-tools. Используйте это имя, где ожидается имя настроенного сервера, такое как поле server hook mcp_tool.

Смотрите справочник компонентов плагинов для деталей об объединении MCP серверов с плагинами.

Области установки MCP

MCP servers можно настроить на трех различных уровнях области. Область, которую вы выбираете, контролирует, в каких проектах загружается server и является ли конфигурация общей с вашей командой. Администраторы также могут развертывать или предоставлять servers для каждого пользователя через управляемую конфигурацию.

Область Загружается в Общий доступ с командой Хранится в
Локальная Только текущий проект Нет ~/.claude.json
Проект Только текущий проект Да, через контроль версий .mcp.json в корне проекта
Пользователь Все ваши проекты Нет ~/.claude.json

Локальная область

Локальная область — это область по умолчанию. Server с локальной областью загружается только в проекте, где вы его добавили, и остается приватным для вас. Claude Code хранит его в ~/.claude.json в пути вашего проекта, поэтому один и тот же server не будет отображаться в ваших других проектах. Используйте локальную область для личных development servers, экспериментальных конфигураций или servers с учетными данными, которые вы не хотите в контроле версий.

# Добавить server с локальной областью (по умолчанию)
claude mcp add --transport http stripe https://mcp.stripe.com

# Явно указать локальную область
claude mcp add --transport http stripe --scope local https://mcp.stripe.com

Команда записывает server в запись для вашего текущего проекта внутри ~/.claude.json. Пример ниже показывает результат при запуске из /path/to/your/project:

{
  "projects": {
    "/path/to/your/project": {
      "mcpServers": {
        "stripe": {
          "type": "http",
          "url": "https://mcp.stripe.com"
        }
      }
    }
  }
}

Область проекта

Servers с областью проекта позволяют командной работе, сохраняя конфигурации в файле .mcp.json в корневом каталоге вашего проекта. Когда вы добавляете server с областью проекта, Claude Code автоматически создает или обновляет этот файл с соответствующей структурой конфигурации. Проверьте .mcp.json в контроль версий, чтобы все члены вашей команды получили одни и те же MCP tools и сервисы.

# Добавить server с областью проекта
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"
    }
  }
}

По соображениям безопасности Claude Code запрашивает одобрение в интерактивных сеансах перед использованием servers с областью проекта из файлов .mcp.json. Чтобы сбросить эти выборы одобрения, запустите claude mcp reset-project-choices.

В запусках claude -p, сеансах Agent SDK и облачных сеансах, Claude Code не может показать этот запрос: он загружает servers с областью проекта без запроса. Claude Code также пропускает запрос в сеансе, который вы запускаете в режиме bypassPermissions с skipDangerousModePermissionPrompt, установленным в ваших пользовательских параметрах или в управляемых параметрах. Чтобы все равно исключить server:

  • Добавьте его в disabledMcpjsonServers, что блокирует его в каждом режиме разрешений.
  • Исключите параметры проекта полностью с помощью --setting-sources или опции settingSources SDK.
  • Запустите сеанс с --strict-mcp-config. Claude Code затем использует только MCP servers, которые вы передаете с --mcp-config. Пропуск запроса одобрения для servers с областью проекта, которые Claude Code не загружает, требует Claude Code v2.1.246 или позже; до v2.1.246 строгий сеанс все еще ждал одобрения для них, что оставляло фоновые сеансы в ожидании при запуске. См. Исключительный контроль с managed-mcp.json для того, что флаг делает под управляемым файлом MCP.

Одобрения servers проекта и доверие рабочей области охватывает, как одобрения, зафиксированные в репозитории, взаимодействуют с доверием рабочей области.

Область пользователя

Servers с областью пользователя хранятся в ~/.claude.json и обеспечивают доступность между проектами, делая их доступными во всех проектах на вашей машине, оставаясь приватными для вашей учетной записи пользователя. Эта область хорошо работает для личных utility servers, инструментов разработки или сервисов, которые вы часто используете в разных проектах.

# Добавить server пользователя
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

Иерархия области и приоритет

Когда один и тот же server определен в более чем одном месте, Claude Code подключается к нему один раз, используя определение из источника с наивысшим приоритетом. Вся запись server из этого источника используется; поля не объединяются между областями.

  1. Локальная область
  2. Область проекта
  3. Область пользователя
  4. Plugin-provided servers
  5. claude.ai connectors

Claude Code совпадает дубликаты по трем областям по имени. Плагины и соединители совпадают по конечной точке, поэтому тот, который указывает на тот же URL или команду, что и server выше, рассматривается как дубликат.

Два написания URL считаются одной конечной точкой, когда они отличаются только буквой регистра схемы или хоста, портом по умолчанию схемы, таким как :443 на https, или косой чертой в конце. Другой путь, строка запроса, userinfo или нестандартный порт делают два servers разными.

Server, который ваша организация предоставляет через управляемый параметр managedMcpServers, занимает место выше всех этих, поэтому когда один из них дублирует его, Claude Code подключает определение организации. Требует Claude Code v2.1.259 или позже.

Если вы откроете локальный сеанс на вкладке Code приложения Desktop с одним и тем же именем stdio server на верхнем уровне ~/.claude.json (область пользователя) и в .mcp.json, вкладка Code использует определение ~/.claude.json.

Расширение переменных окружения в `.mcp.json`

Claude Code поддерживает расширение переменных окружения в файлах .mcp.json, позволяя командам делиться конфигурациями, сохраняя гибкость для путей, специфичных для машины, и чувствительных значений, таких как ключи API.

Поддерживаемый синтаксис

  • ${VAR}: расширяется до значения переменной окружения VAR
  • ${VAR:-default}: расширяется до VAR, если установлена, иначе использует default

Места расширения

Переменные окружения могут быть расширены в:

  • command: путь к исполняемому файлу server
  • args: аргументы командной строки
  • env: переменные окружения, передаваемые server
  • url: для типов HTTP server
  • headers: для аутентификации HTTP server

Пример с расширением переменных

{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_KEY}"
      }
    }
  }
}

Неустановленные переменные без значения по умолчанию

Если требуемая переменная окружения не установлена и не имеет значения по умолчанию, конфигурация все еще загружается: Claude Code сообщает предупреждение об отсутствующей переменной для этого server в выводе claude mcp list и использует неразвернутый текст ${VAR} как есть. Установите переменную или добавьте резервное значение :-default, чтобы server запустился с предполагаемым значением. В url и headers удаленного server некоторые переменные учетных данных читаются как пустые вместо этого, без предупреждения.

Переменные учетных данных, которые читаются как пустые

В url и headers удаленного server Claude Code читает переменные учетных данных из вашего окружения как пустые, а не расширяет их. Это предотвращает отправку конфигурации .mcp.json проекта или плагина ваших учетных данных Claude Code или облачного провайдера на server, который он называет. Если вы напишете Bearer ${ANTHROPIC_AUTH_TOKEN}, server получит Bearer без учетных данных и отклонит запрос, обычно с 401. Claude Code сообщает об этом как о неудачном подключении.

Охватываемые имена:

  • Собственные учетные данные Claude Code, такие как ANTHROPIC_API_KEY и ANTHROPIC_AUTH_TOKEN
  • Учетные данные вашего облачного провайдера, такие как AWS_BEARER_TOKEN_BEDROCK
  • Другие учетные данные, которые несет ваше окружение, такие как HTTPS_PROXY и NPM_TOKEN

Охватываемое имя читается как пустое независимо от того, установили ли вы переменную, и резервное значение :-default на нем игнорируется. URL базы провайдера, такой как ANTHROPIC_BASE_URL, все еще расширяется, поэтому "url": "${ANTHROPIC_BASE_URL}/mcp" работает, если только значение URL не встраивает учетные данные, такие как имя пользователя и пароль.

Имя вне этого набора, такое как API_KEY, расширяется как написано. Чтобы дать server одно из охватываемых учетных данных, скопируйте его в переменную с именем вашего собственного и ссылайтесь на это имя вместо этого.

Когда url или headers удаленного server ссылаются на охватываемую переменную, которую вы установили, Claude Code называет ее в строке журнала отладки. Чтобы прочитать строку, запустите claude --debug-file /tmp/claude-debug.log и найдите в этом файле never expanded toward a remote server.

Как ссылки отображаются в `/mcp` и выводе CLI

Для server в локальной, проектной или пользовательской области следующие поверхности показывают ссылку ${VAR} по имени, а не как ее разрешенное значение:

  • URL или командная строка в представлении деталей /mcp server
  • Вывод claude mcp list и claude mcp get

Представление деталей /mcp показывает ссылки таким образом в Claude Code v2.1.268 или позже.

Для server, который ваша организация предоставляет через параметр managedMcpServers, эти поверхности показывают только хост URL.

Чтобы проверить, что показывают claude mcp list, claude mcp get и /mcp при сбое подключения, см. Деталь статуса server.

Практические примеры

Пример: подключение к GitHub для проверки кода

GitHub's remote MCP server аутентифицируется с помощью токена личного доступа GitHub, переданного как заголовок. Чтобы получить его, откройте параметры токена GitHub, создайте новый детальный токен с доступом к репозиториям, с которыми вы хотите, чтобы Claude работал, затем добавьте сервер:

claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
  --header "Authorization: Bearer YOUR_GITHUB_PAT"

Замените YOUR_GITHUB_PAT на ваш токен личного доступа. Команда claude mcp add сохраняет конфигурацию без проверки учетных данных, поэтому здесь принимается значение-заполнитель, но сервер не подключится позже. Чтобы проверить соединение, запустите /mcp и убедитесь, что сервер показывает connected. Сервер с неправильными учетными данными показывает failed, и детали сбоя включают HTTP-статус, возвращаемый сервером, например 401.

Затем работайте с GitHub:

Проверьте PR #456 и предложите улучшения
Создайте новую проблему для найденной нами ошибки
Покажите мне все открытые PR, назначенные мне

Пример: запрос к базе данных PostgreSQL

DBHub, пакет @bytebase/dbhub, — это MCP сервер, который подключает Claude к реляционной базе данных через строку подключения, которую вы передаете в --dsn. Используйте пользователя базы данных только для чтения в строке подключения, чтобы запросы, которые запускает Claude, не могли изменять данные:

claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"

Чтобы подтвердить, что сервер запущен, запустите /mcp и убедитесь, что db показывает connected.

Затем запрашивайте вашу базу данных естественным образом:

Какой у нас общий доход в этом месяце?
Покажите мне схему для таблицы orders
Найдите клиентов, которые не совершали покупку в течение 90 дней

Аутентификация с удаленными MCP серверами

Многие облачные MCP серверы требуют аутентификации. Claude Code поддерживает OAuth 2.0 для безопасных соединений.

Claude Code помечает удаленный сервер как требующий аутентификации, когда сервер отвечает с 401 Unauthorized или 403 Forbidden. То, что показывает Claude Code, зависит от сервера:

  • Для сервера, на который вы еще не вошли, любой из этих кодов состояния помечает его в /mcp, чтобы вы могли завершить поток OAuth.
  • Для коннектора claude.ai, 401, вызванный отклонением claude.ai вашего токена сеанса, не помечает коннектор, потому что повторная авторизация коннектора не может исправить вашу учетную запись. Claude Code показывает состояние отклонения токена сеанса вместо этого.
  • Для сервера, чей заголовок Authorization вы настроили в headers или через headersHelper, 401 или 403 при подключении не помечает сервер, потому что учетные данные для исправления — это те, которые вы настроили. Claude Code вместо этого сообщает о неудачном соединении. Если вы установили этот заголовок из ссылки ${VAR}, проверьте, является ли эта переменная одной из тех, которые Claude Code читает как пустые.
  • Для коннектора доставленного в облачный сеанс, Claude Code не запускает поток входа, потому что прокси сеанса аутентифицируется на коннекторе с авторизацией, которую вы предоставили в claude.ai. Когда коннектор там требует повторной авторизации, переподключитесь на claude.ai/customize/connectors вместо сеанса.

Когда запрос к OAuth серверу, на который вы уже вошли, возвращает 401 Unauthorized, Claude Code обновляет сохраненный токен, переподключается и повторяет запрос один раз. Он помечает сервер в /mcp только если этот повтор также не удается. До v2.1.206 обновление токена, которое не удалось по временной причине, такой как ошибка сети, помечало OAuth сервер как требующий аутентификации на остаток сеанса, даже если его токен обновления был все еще действителен.

Когда сервер отклоняет сохраненный токен обновления, Claude Code немедленно показывает уведомление, указывающее на /mcp. Откройте /mcp и выберите Re-authenticate на сервере, чтобы войти снова перед следующим вызовом инструмента.

Пользовательский сервер, который возвращает заголовок WWW-Authenticate, указывающий на его сервер авторизации, получает такое же автоматическое обнаружение, как и любой другой удаленный сервер.

Claude Code также показывает уведомление при запуске, когда один или несколько настроенных серверов требуют аутентификации, поэтому вам не нужно открывать /mcp, чтобы узнать, какие серверы требуют входа. Уведомление требует Claude Code v2.1.193 или позже. Оно считает только серверы, на которые вы можете войти из Claude Code. До v2.1.218 оно также считало коннекторы claude.ai, которые не были подключены в claude.ai, которые вы можете подключить только из параметров claude.ai.

Уведомление объявляет каждый сервер один раз и исключает его из подсчета при последующих запусках, пока этот сервер не подключится и снова не потребует входа. /mcp по-прежнему перечисляет каждый сервер, который требует входа.

В неинтерактивном режиме нет панели /mcp, поэтому Claude Code не может запустить поток OAuth для вас. Начиная с v2.1.196, когда настроенный сервер требует аутентификации во время запуска claude -p или Agent SDK с включенным поиском инструментов, что является значением по умолчанию, Claude Code сообщает Claude, что инструменты сервера недоступны, пока вы его не авторизуете. Claude затем может назвать сервер, который требует входа, вместо того чтобы отвечать так, как если бы сервер не был настроен. Завершите вход из интерактивного сеанса с /mcp или claude mcp login <name>.

Если вы настроили headers.Authorization для сервера и сервер отклоняет этот заголовок, Claude Code сообщает о неудачном соединении вместо возврата к OAuth. Проверьте, что токен действителен для конечной точки MCP, или удалите заголовок, чтобы использовать поток OAuth.

1

Добавьте сервер, требующий аутентификации

Если вы уже добавили сервер sentry в быстром старте MCP, пропустите этот шаг: повторный запуск claude mcp add с тем же именем сервера в той же области завершится ошибкой MCP server sentry already exists in local config. В противном случае запустите:

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
2

Используйте команду /mcp в Claude Code

В Claude Code используйте команду:

/mcp

Затем следуйте инструкциям в вашем браузере для входа.

Аутентификация из командной строки

Команда claude mcp login <name> запускает поток OAuth настроенного сервера непосредственно из вашей оболочки, поэтому вам не нужно открывать панель /mcp внутри сеанса.

claude mcp login sentry

Чтобы позже очистить сохраненные учетные данные, запустите claude mcp logout <name>.

claude mcp login обнаруживает, когда локальный браузер недоступен, например во время сеанса SSH или на Linux без сервера отображения, и выводит URL авторизации вместо попытки открыть браузер. Откройте URL на вашей локальной машине, затем вставьте полный URL перенаправления из адресной строки браузера обратно в приглашение. Команде требуется интерактивный терминал для шага вставки, поэтому подключитесь с ssh -t. Передайте --no-browser, чтобы принудительно использовать приглашение URL даже при обнаружении локального браузера.

claude mcp login sentry --no-browser

Используйте фиксированный порт обратного вызова OAuth

Некоторые MCP серверы требуют определенный URI перенаправления, зарегистрированный заранее. По умолчанию Claude Code выбирает случайный доступный порт для обратного вызова OAuth. Используйте --callback-port, чтобы зафиксировать порт так, чтобы он соответствовал предварительно зарегистрированному URI перенаправления формы http://localhost:PORT/callback. Если вход на Claude Code v2.1.229 не удается с несоответствием URI перенаправления, см. примечание версии в разделе Используйте предварительно настроенные учетные данные OAuth.

Вы можете использовать --callback-port самостоятельно (с динамической регистрацией клиента) или вместе с --client-id (с предварительно настроенными учетными данными).

# Фиксированный порт обратного вызова с динамической регистрацией клиента
claude mcp add --transport http \
  --callback-port 8080 \
  my-server https://mcp.example.com/mcp

Используйте предварительно настроенные учетные данные OAuth

Некоторые MCP серверы не поддерживают автоматическую настройку OAuth через Dynamic Client Registration. Если вы видите ошибку типа "Incompatible auth server: does not support dynamic client registration," сервер требует предварительно настроенные учетные данные. Claude Code также поддерживает серверы, которые используют Client ID Metadata Document (CIMD) вместо Dynamic Client Registration, и обнаруживает их автоматически. Если автоматическое обнаружение не удается, сначала зарегистрируйте приложение OAuth через портал разработчика сервера, затем предоставьте учетные данные при добавлении сервера.

1

Зарегистрируйте приложение OAuth на сервере

Создайте приложение через портал разработчика сервера и запишите ваш ID клиента и секрет клиента.

Если форма регистрации запрашивает URI перенаправления, выберите любой доступный порт и введите http://localhost:PORT/callback с этим портом. Вы будете использовать тот же порт на следующем шаге.

В v2.1.229 Claude Code отправлял http://127.0.0.1:PORT/callback вместо этого, и серверы, которые точно совпадают с зарегистрированным URI перенаправления, отклоняли вход с несоответствием URI перенаправления. Claude Code v2.1.231 восстановил форму localhost. Чтобы восстановиться на v2.1.229, обновите Claude Code или временно добавьте форму http://127.0.0.1:PORT/callback к зарегистрированным URI перенаправления сервера.

2

Добавьте сервер с вашими учетными данными

Вкладки охватывают обе команды: claude mcp add принимает ваш ID клиента и порт обратного вызова как флаги, а claude mcp add-json принимает их в объекте oauth. Если вы зарегистрировали URI перенаправления, установите порт обратного вызова на порт в этом URI.

Используйте --client-id для передачи ID клиента вашего приложения. Флаг --client-secret запрашивает секрет с замаскированным вводом:

claude mcp add --transport http \
--client-id your-client-id --client-secret --callback-port 8080 \
my-server https://mcp.example.com/mcp
3

Аутентификация в Claude Code

Запустите /mcp в Claude Code и следуйте потоку входа браузера.

Переопределите обнаружение метаданных OAuth

Укажите Claude Code на определенный URL метаданных сервера авторизации OAuth, чтобы обойти цепочку обнаружения по умолчанию. Установите authServerMetadataUrl, когда стандартные конечные точки MCP сервера выдают ошибки, или когда вы хотите маршрутизировать обнаружение через внутренний прокси. По умолчанию Claude Code сначала проверяет RFC 9728 Protected Resource Metadata на /.well-known/oauth-protected-resource, затем возвращается к RFC 8414 authorization server metadata на /.well-known/oauth-authorization-server.

Установите authServerMetadataUrl в объекте oauth конфигурации вашего сервера в .mcp.json:

{
  "mcpServers": {
    "my-server": {
      "type": "http",
      "url": "https://mcp.example.com/mcp",
      "oauth": {
        "authServerMetadataUrl": "https://auth.example.com/.well-known/openid-configuration"
      }
    }
  }
}

URL должен использовать https://. scopes_supported URL метаданных переопределяет области, которые объявляет вышестоящий сервер.

Ограничьте области OAuth

Установите oauth.scopes, чтобы зафиксировать области, которые Claude Code запрашивает во время потока авторизации. Это поддерживаемый способ ограничить MCP сервер подмножеством, одобренным командой безопасности, когда вышестоящий сервер авторизации объявляет больше областей, чем вы хотите предоставить. Значение — это одна строка с разделением пробелами, соответствующая формату параметра scope в RFC 6749 §3.3.

{
  "mcpServers": {
    "slack": {
      "type": "http",
      "url": "https://mcp.slack.com/mcp",
      "oauth": {
        "scopes": "channels:read chat:write search:read"
      }
    }
  }
}

oauth.scopes имеет приоритет над authServerMetadataUrl и областями, которые сервер обнаруживает на /.well-known. Оставьте его неустановленным, чтобы позволить MCP серверу определить запрашиваемый набор областей.

Начиная с v2.1.196, когда oauth.scopes не установлен, Claude Code запрашивает область, предоставленную заголовком WWW-Authenticate сервера или его метаданными защищенного ресурса, и не отправляет параметр scope, когда ни один из них не предоставляет его. Он больше не запрашивает полный каталог scopes_supported из автоматически обнаруженных метаданных сервера авторизации. Запрос этого каталога заставлял поставщиков идентификации, которые объявляют области только для администраторов или шаблонов, отклонять запрос авторизации с ошибкой invalid_scope. Метаданные, полученные из настроенного authServerMetadataUrl, по-прежнему предоставляют свой scopes_supported как запрашиваемые области.

Если сервер авторизации объявляет offline_access в scopes_supported, Claude Code добавляет его к зафиксированным областям, чтобы токен доступа можно было обновить без нового входа в браузер.

Если сервер позже возвращает 403 insufficient_scope для вызова инструмента, вызов не удается с сообщением needs additional permissions, которое называет область, которую запрашивает сервер. Сервер показывается как требующий аутентификации в /mcp.

Если эта область не находится в вашем зафиксированном oauth.scopes, добавьте ее, затем запустите /mcp и аутентифицируйте сервер снова. Claude Code запрашивает зафиксированные области, а не область, которую назвал сервер, поэтому если вы аутентифицируетесь снова без добавления ее, токен, который вы получаете, по-прежнему ей не хватает.

Используйте динамические заголовки для пользовательской аутентификации

Если ваш MCP сервер использует схему аутентификации, отличную от OAuth, такую как Kerberos, краткосрочные токены или внутреннее SSO, используйте headersHelper для генерации заголовков запроса во время подключения. Claude Code запускает команду и объединяет ее вывод в заголовки соединения.

{
  "mcpServers": {
    "internal-api": {
      "type": "http",
      "url": "https://mcp.internal.example.com",
      "headersHelper": "/opt/bin/get-mcp-auth-headers.sh"
    }
  }
}

Команда также может быть встроенной:

{
  "mcpServers": {
    "internal-api": {
      "type": "http",
      "url": "https://mcp.internal.example.com",
      "headersHelper": "echo '{\"Authorization\": \"Bearer '\"$(get-token)\"'\"}'"
    }
  }
}

Требования:

  • Команда должна записать объект JSON пар строк ключ-значение в stdout
  • Claude Code запускает команду в оболочке и отказывается от нее через 10 секунд
  • Claude Code выбирает рабочий каталог команды по месту, где вы настроили сервер, поэтому дайте скрипт как абсолютный путь или поместите его на PATH
  • Динамические заголовки переопределяют любые статические headers с тем же именем

Claude Code запускает помощника заново при каждом подключении, при запуске сеанса и при переподключении, как только правило доверия для серверов области проекта и локальной области позволяет ему запуститься. Он не кэширует результат, поэтому ваш скрипт отвечает за любое повторное использование токена.

Если вызов инструмента возвращает 401 Unauthorized или 403 Forbidden, Claude Code автоматически повторно запускает помощника под тем же правилом, переподключается со свежими заголовками и повторяет вызов один раз. Claude Code помечает сервер как требующий аутентификации в /mcp только если этот повтор также не удается.

Когда вывод помощника включает заголовок Authorization, Claude Code использует это учетное данное как аутентификацию сервера и не возвращается к OAuth для сервера.

Если сервер отклоняет учетное данное помощника при подключении, Claude Code сообщает о неудачном соединении, а не помечает сервер как требующий аутентификации. Исправьте учетное данное, которое возвращает ваш помощник, затем переподключитесь из /mcp, чтобы повторно запустить помощника.

Claude Code устанавливает эти переменные окружения при выполнении помощника:

Переменная Значение
CLAUDE_CODE_MCP_SERVER_NAME имя MCP сервера
CLAUDE_CODE_MCP_SERVER_URL URL MCP сервера
CLAUDE_PLUGIN_ROOT корневой каталог плагина. Установлено только когда плагин предоставляет сервер

Используйте их для написания одного скрипта помощника, который служит нескольким MCP серверам.

Предоставленный плагином headersHelper не может ссылаться на значения ${user_config.*} плагина, потому что команда запускается через оболочку. Claude Code сообщает о неправильной конфигурации сервера с ошибкой и не подставляет значение. Поместите ${user_config.KEY} в поле headers сервера вместо этого, которое не анализируется оболочкой, или попросите скрипт помощника прочитать значение из файла конфигурации. До v2.1.207 headersHelper подставлял значения ${user_config.*}.

Где запускается помощник

Claude Code выбирает рабочий каталог команды headersHelper из конфигурации, которая объявляет сервер. cd, который Claude запускает в Bash, не перемещает его, и /cd перемещает его только для серверов, которые запускаются из основного рабочего каталога сеанса. Каждая строка ниже дает каталог, в котором относительный путь в вашей команде headersHelper разрешается.

Где вы настроили сервер Рабочий каталог
Плагин Корневой каталог плагина. Требует Claude Code v2.1.195 или позже
Проект .mcp.json или сервер локальной области Каталог проекта, в котором объявлен сервер
Файл агента в вашем проекте, сервер из опции mcpServers SDK или метода setMcpServers(), или --mcp-config Основной рабочий каталог сеанса
Область пользователя, управляемый MCP, коннектор claude.ai, или файл агента из вне вашего проекта, включая один из каталога --add-dir Ваш каталог конфигурации, ~/.claude если вы не установили CLAUDE_CONFIG_DIR

До v2.1.238 Claude Code также запускал помощников серверов области пользователя, управляемых и коннекторов claude.ai, и файлов агентов из вне вашего проекта, из каталога, в котором вы его запустили.

Какие переменные может читать помощник

headersHelper, который поставляет репозиторий или плагин, — это команда, которую вы не писали, поэтому Claude Code запускает ее без переменных учетных данных из вашей среды, таких как ANTHROPIC_API_KEY. Место, где вы настроили сервер, определяет, применяется ли это:

Помимо переменных GIT_CONFIG_KEY_<n> Git, Claude Code удаляет каждую переменную из вашей среды, чье имя выглядит как учетное данное, такое как имя с TOKEN, SECRET, PASSWORD, KEY или AUTH в нем в любом регистре, поэтому ANTHROPIC_API_KEY и MY_REGISTRY_TOKEN оба удаляются. Claude Code также удаляет фиксированный список переменных учетных данных, чьи имена не следуют этому шаблону, такие как ANTHROPIC_CUSTOM_HEADERS.

Когда это применяется к вашему помощнику, попросите скрипт прочитать его учетное данные из файла или хранилища учетных данных. Если URL сервера несет живое значение одной из этих переменных, такой как MY_REGISTRY_TOKEN, значение CLAUDE_CODE_MCP_SERVER_URL, которое получает помощник, имеет эту часть заменена на REDACTED также.

Доверьте папку перед запуском ее headersHelper

Claude Code выполняет headersHelper как произвольную команду оболочки. Для сервера в проекте .mcp.json или в локальной области, он запускает помощника только после того, как вы примете диалог доверия для каталога проекта, в котором объявлен сервер. До v2.1.238 сеанс claude -p или SDK запускал этих помощников без проверки доверия, и интерактивный сеанс запускал их один раз, когда вы доверили родительской папке.

  • Доверие, которое не считается: доверие родительской папки и автоматическое доверие, которое получает сеанс claude -p или SDK для hooks в файлах параметров
  • Пока вы не доверите папке: Claude Code подключает сервер только с его статическими headers. В сеансе claude -p или SDK он также выводит одну строку headersHelper not run на stderr, сообщая вам, как предоставить доверие.
  • Доверие без диалога: установите projects["<path>"].hasTrustDialogAccepted на true в ~/.claude.json. <path> — это папка, на которой Project allow rules and workspace trust говорит Claude Code ключ доверия.

Claude Code применяет то же правило к серверу, объявленному встроенным в файл агента, проверяя, откуда этот файл агента пришел: ваш проект, для файла в его каталоге .claude/agents/, или каталог --add-dir. Пока вы не доверите этому проекту или каталогу самому, Claude Code не загружает сервер вообще, поэтому его помощник никогда не запускается либо.

Добавьте MCP servers из конфигурации JSON

Если у вас есть конфигурация JSON для MCP server, вы можете добавить ее напрямую:

1

Добавьте MCP server из JSON

# Базовый синтаксис
claude mcp add-json <name> '<json>'

# Пример: добавление HTTP server с конфигурацией JSON
claude mcp add-json weather-api '{"type":"http","url":"https://api.weather.com/mcp","headers":{"Authorization":"Bearer token"}}'

# Пример: добавление stdio server с конфигурацией JSON
claude mcp add-json local-weather '{"type":"stdio","command":"/path/to/weather-cli","args":["--api-key","abc123"],"env":{"CACHE_DIR":"/tmp"}}'

# Пример: добавление HTTP server с предварительно настроенными учетными данными OAuth
claude mcp add-json my-server '{"type":"http","url":"https://mcp.example.com/mcp","oauth":{"clientId":"your-client-id","callbackPort":8080}}' --client-secret
2

Проверьте, что server был добавлен

claude mcp get weather-api

Импортируйте MCP servers из Claude Desktop

Если вы уже настроили MCP servers в Claude Desktop, вы можете их импортировать:

1

Импортируйте servers из Claude Desktop

# Базовый синтаксис 
claude mcp add-from-claude-desktop 
2

Выберите, какие servers импортировать

После запуска команды вы увидите интерактивный диалог, который позволяет вам выбрать, какие servers вы хотите импортировать.

3

Проверьте, что servers были импортированы

claude mcp list 

Имена servers, добавленные через команды claude mcp, могут содержать только буквы, цифры, дефисы и подчеркивания. Claude Desktop не применяет это ограничение, поэтому server Claude Desktop, имя которого содержит любой другой символ, например пробел, не может быть импортирован. Импорт сообщает о каждом отклоненном имени и все еще импортирует другие выбранные вами servers. До версии 2.1.205 первое недопустимое имя останавливало импорт и ни один из выбранных servers не был добавлен.

Использование MCP серверов из claude.ai

Если вы вошли в Claude Code с помощью учётной записи claude.ai, MCP серверы, которые вы добавили в claude.ai, известные как connectors, автоматически доступны в Claude Code:

1

Настройте MCP серверы в claude.ai

Добавьте серверы на claude.ai/customize/connectors. В планах Team и Enterprise только администраторы могут добавлять серверы.

2

Аутентифицируйте MCP сервер

Выполните все необходимые шаги аутентификации в claude.ai.

3

Просмотрите и управляйте серверами в Claude Code

В Claude Code используйте команду:

/mcp

Серверы из claude.ai появляются в списке с индикаторами, показывающими, что они поступают из claude.ai.

Anthropic также предоставляет некоторые connectors самостоятельно, без добавления вами или администратором. На учётных записях, где доступны Claude Docs, /mcp отображает claude.ai Claude Docs без настройки, и Claude использует его, когда вы просите документ, предназначенный для других людей. Чтобы отключить его, добавьте запись serverName со значением "claude.ai Claude Docs" в deniedMcpServers или используйте переключатель /mcp, оба описаны в разделе Отключение connectors claude.ai.

Claude Code помечает connector как managed в /mcp и в менеджере /plugin когда ваша организация управляет его аутентификацией в claude.ai. Статус managed не изменяет способ подключения Claude Code к connector или применение инструментов управления вашей организации.

Connectors, в которые вы никогда не входили, свёрнуты за строкой Show unused connectors в конце раздела claude.ai, поэтому список, предоставленный организацией, не заполняет панель. Выберите строку, чтобы развернуть их. Connector, в который вы входили ранее, остаётся видимым даже если в настоящий момент требуется повторная аутентификация.

Connectors из claude.ai загружаются только когда ваш активный метод аутентификации — это вход по подписке claude.ai. Они не загружаются, даже если вы ранее запустили /login, когда:

  • ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN или apiKeyHelper активны
  • Активен сторонний поставщик, такой как Amazon Bedrock или Agent Platform Google Cloud
  • ANTHROPIC_PROFILE, переменные федерации или активный профиль Anthropic предоставляют учётные данные
  • CLAUDE_CODE_OAUTH_TOKEN содержит токен из claude setup-token, который может только делать запросы к модели

Если /mcp не отображает connector, который вы добавили, запустите /status, чтобы подтвердить, какой метод аутентификации активен. Отмените установку этой переменной окружения, удалите параметр apiKeyHelper или отключите профиль, затем запустите /login, чтобы выбрать вашу учётную запись claude.ai.

Если временная проблема с сетью препятствует загрузке списка connectors при запуске сеанса, Claude Code повторяет попытку загрузки до трёх раз в фоновом режиме, и connectors появляются после успешной повторной попытки. Если они всё ещё не появились, перезагрузите Claude Code, чтобы загрузить список снова.

Если /mcp показывает connector как connected · session token rejected или его подробное представление показывает claude.ai rejected the session token, claude.ai отклонил токен из вашего входа в Claude Code, обычно потому что вход истёк и не мог быть обновлён. Повторная авторизация connector не очищает это состояние, потому что собственная авторизация connector в claude.ai — это не то, что было отклонено. Чтобы очистить это:

  1. Запустите /login, чтобы войти снова.
  2. Переподключите connector из /mcp.

До версии 2.1.222 Claude Code помечал connectors как требующие аутентификации, и их авторизация не решала проблему.

Сервер, который вы добавили в Claude Code, имеет приоритет над connector из claude.ai, который указывает на тот же URL. Когда это происходит, /mcp отображает connector как скрытый и показывает, как удалить дубликат, если вы предпочитаете использовать connector.

Некоторые размещённые Anthropic connectors, такие как Microsoft 365, Gmail и Google Calendar, не поддерживают локальный OAuth из Claude Code, потому что вышестоящий поставщик идентификации принимает только URL перенаправления, зарегистрированный claude.ai. Когда сервер, который вы добавили с помощью claude mcp add или в .mcp.json, указывает на один из этих хостов и вы входите в него из /mcp или с помощью claude mcp login, Claude Code показывает is Anthropic-hosted and doesn't support local OAuth, направляя вас подключить сервис на claude.ai/customize/connectors вместо этого.

После удаления вашей записи с помощью claude mcp remove <name> и подключения сервиса на claude.ai, connector появляется в Claude Code автоматически.

Как connectors достигают Claude Code

Какие параметры управляют connector из claude.ai, зависит от того, где работает ваш сеанс, потому что только некоторые сеансы сами загружают connectors из claude.ai. Каждая строка ниже указывает, как connectors поступают в один вид сеанса и что ими управляет там. WSL сеансы настольного приложения не имеют строки, потому что connectors в них пока недоступны.

Где работает сеанс Как поступают connectors Что ими управляет
Сеансы Terminal, VS Code, JetBrains и Agent SDK Claude Code загружает их из claude.ai Параметры в этом разделе и управляемая конфигурация MCP
Облачные сеансы Удалённый хост передаёт их Параметры организации claude.ai, плюс параметры allowlist и denylist, которые достигают сеанса, и любой managed-mcp.json на хосте, который его запускает
Настольное приложение локальные и SSH сеансы Настольное приложение доставляет их в процессе Записи blocked в инструментах управления connector вашей организации

disableClaudeAiConnectors, ENABLE_CLAUDEAI_MCP_SERVERS и allowAllClaudeAiMcps действуют только на первую строку, connectors, которые Claude Code загружает сам. Две другие строки отличаются от неё следующим образом:

  • Облачные сеансы: записи allowedMcpServers и deniedMcpServers, которые достигают сеанса, например через параметры, управляемые сервером, также фильтруют доставленные connectors. Прокси сеанса переписывает URL каждого connector, поэтому шаблон serverUrl, написанный для собственного URL connector, не совпадает с ним. Чтобы допустить доставленные connectors наряду со списком разрешений URL в самостоятельной среде, добавьте записи serverUrl, указанные в разделе Трафик Connector покидает вашу сеть. Claude Code отбрасывает доставленные connectors, когда на хосте, который запускает сеанс, присутствует managed-mcp.json, например хост самостоятельного runner, независимо от того, установили ли вы allowAllClaudeAiMcps.
  • Локальные и SSH сеансы настольного приложения: настольное приложение регистрирует connectors как внутрипроцессные серверы type: "sdk", и никакой параметр MCP или managed-mcp.json не достигает их. Пользователь держит connector вне своих собственных сеансов, отключив его на claude.ai/customize/connectors. Организация блокирует инструменты connector или полностью отключает Claude Code в настольном приложении.

Элементы управления организацией для инструментов connector

Ваша организация может установить элементы управления для каждого инструмента на connectors claude.ai. Claude Code читает эти параметры при запуске и применяет их локально, кроме как в локальных и SSH сеансах настольного приложения. Там настольное приложение скрывает инструменты blocked перед доставкой connector, и параметр ask не достигает Claude Code, поэтому он применяет обычные правила разрешений сеанса к этим инструментам вместо запроса при каждом вызове. В сеансах, где Claude Code загружает connectors сам, запустите /mcp, чтобы увидеть, какой параметр применяется к каждому инструменту на connector.

  • Инструмент установлен на ask: Claude Code запрашивает при каждом вызове с причиной Your organization requires approval for this tool. Запрос появляется даже в режимах разрешений acceptEdits, auto и bypassPermissions permission modes, и никогда не предлагает опцию запомнить ваш выбор. Правила разрешений, которые совпадают с инструментом, также не пропускают запрос. В режиме dontAsk, который никогда не запрашивает, Claude Code отклоняет вызов вместо этого.
  • Инструмент установлен на blocked: Claude Code фильтрует инструмент перед тем, как Claude его видит, поэтому он никогда не появляется в списке инструментов. Настольное приложение и чат claude.ai применяют тот же параметр blocked, поэтому Claude не может использовать инструмент там либо, и вы не можете скрыть инструмент из сеансов настольного приложения, сохраняя его доступным в чате. Настольное приложение пропускает connector, все инструменты которого заблокированы.

Отключение connectors claude.ai

Claude Code применяет disableClaudeAiConnectors только к connectors, которые он загружает сам, а не к connectors, которые доставляет облачный хост или настольное приложение. Чтобы отключить connectors, которые он загружает, установите параметр на true в любой области параметров:

{
  "disableClaudeAiConnectors": true
}

Этот параметр использует семантику any-source-true: true в любом источнике параметров имеет приоритет. Проверенный в репозитории .claude/settings.json проекта может отключить connectors, которые Claude Code загружает сам, но уровень проекта false не может повторно включить connectors, которые уровень пользователя или политики true отключил. Серверы, переданные явно через --mcp-config, не затронуты.

Вы также можете установить переменную окружения ENABLE_CLAUDEAI_MCP_SERVERS на false, что имеет тот же эффект для текущего сеанса оболочки:

ENABLE_CLAUDEAI_MCP_SERVERS=false claude

Чтобы заблокировать отдельные connectors claude.ai вместо всех них, добавьте их в deniedMcpServers по имени или по шаблону URL. Например, запись serverName из "claude.ai Slack" блокирует connector Slack. Вы также можете запустить /mcp, чтобы переключить любой connector, который Claude Code загружает, включить или отключить только для текущего проекта.

Использование Claude Code в качестве MCP сервера

Вы можете использовать Claude Code в качестве MCP сервера, к которому могут подключаться другие приложения:

# Запустить Claude как stdio MCP сервер
claude mcp serve

Команда ничего не выводит при запуске. Stdio MCP сервер взаимодействует через stdin и stdout, поэтому молчаливый, заблокированный терминал означает, что сервер работает и ожидает подключения клиента.

Вы можете использовать это в Claude Desktop, добавив эту конфигурацию в claude_desktop_config.json:

{
  "mcpServers": {
    "claude-code": {
      "type": "stdio",
      "command": "claude",
      "args": ["mcp", "serve"],
      "env": {}
    }
  }
}

Ограничения и предупреждения выходных данных MCP

Когда инструменты MCP производят большие объемы выходных данных, Claude Code помогает управлять использованием токенов, чтобы не перегружать контекст вашего разговора:

  • Порог предупреждения выходных данных: Claude Code отображает предупреждение, когда выходные данные любого инструмента MCP превышают 10 000 токенов
  • Настраиваемый лимит: вы можете отрегулировать максимально допустимое количество токенов выходных данных MCP, используя переменную окружения MAX_MCP_OUTPUT_TOKENS
  • Лимит по умолчанию: максимум по умолчанию составляет 25 000 токенов
  • Область действия: переменная окружения применяется к инструментам, которые не объявляют свой собственный лимит. Инструменты, которые устанавливают anthropic/maxResultSizeChars, используют это значение вместо этого для текстового содержимого, независимо от того, какое значение установлено для MAX_MCP_OUTPUT_TOKENS. Инструменты, которые возвращают данные изображений, по-прежнему подчиняются MAX_MCP_OUTPUT_TOKENS
  • Превышение лимита: когда результат без содержимого изображения превышает лимит, Claude Code сохраняет его в файл и заменяет его в разговоре сообщением, которое указывает путь к файлу, чтобы Claude прочитал файл, когда ему нужно содержимое. Файл находится в директории tool-results сеанса в ~/.claude/projects/.

Чтобы увеличить лимит для инструментов, которые производят большие объемы выходных данных:

export MAX_MCP_OUTPUT_TOKENS=50000
claude

Повысить лимит для конкретного инструмента

Если вы создаете сервер MCP, вы можете разрешить отдельным инструментам возвращать результаты, превышающие порог сохранения на диск по умолчанию, установив _meta["anthropic/maxResultSizeChars"] в записи ответа tools/list инструмента. Claude Code повышает порог этого инструмента до аннотированного значения, вплоть до жесткого потолка в 500 000 символов.

Это полезно для инструментов, которые возвращают по своей природе большие, но необходимые выходные данные, такие как схемы баз данных или полные деревья файлов. Без аннотации результаты, превышающие порог по умолчанию, сохраняются на диск и заменяются ссылкой на файл в разговоре.

{
  "name": "get_schema",
  "description": "Returns the full database schema",
  "_meta": {
    "anthropic/maxResultSizeChars": 200000
  }
}

Аннотация применяется независимо от MAX_MCP_OUTPUT_TOKENS для текстового содержимого, поэтому пользователям не нужно повышать переменную окружения для инструментов, которые ее объявляют. Инструменты, которые возвращают данные изображений, по-прежнему подчиняются лимиту токенов.

Изображения в результатах инструментов

Когда инструмент MCP возвращает изображение PNG, JPEG, GIF или WebP, Claude видит изображение встроенным в разговор. Встроенная копия может быть уменьшена или сжата, чтобы соответствовать ограничениям размера изображения модели. Claude Code также сохраняет исходные байты в файл в директории tool-results сеанса в ~/.claude/projects/ и предоставляет Claude путь к файлу. Claude затем может обрезать, конвертировать или повторно использовать полнофункциональный файл с помощью инструментов, таких как Bash.

Если вы отключите сохранение сеанса с помощью --no-session-persistence или CLAUDE_CODE_SKIP_PROMPT_HISTORY, Claude Code не будет записывать файл изображения, и Claude получит только встроенную копию.

Сохранение результатов изображений MCP в файл требует Claude Code версии 2.1.283 или более поздней.

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

Некоторые серверы MCP объявляют схему входных данных инструмента как объединение JSON Schema с anyOf, oneOf или allOf на верхнем уровне схемы. Claude API не принимает эти ключевые слова в корне схемы. Он принимает комбинаторы, вложенные в properties, которые Claude Code отправляет без изменений.

Инструменты с комбинатором корневого уровня остаются доступными. Перед отправкой инструмента в API, Claude Code преобразует схему в один объект и добавляет предложение к описанию инструмента, которое указывает Claude, какие группы параметров принадлежат друг другу:

  • allOf: свойства из каждой ветви объединяются, и список required каждой ветви по-прежнему применяется
  • anyOf и oneOf: свойства из каждой ветви объединяются, и список required каждой ветви описывается в описании инструмента вместо того, чтобы быть принудительно применяемым схемой

Ваш сервер получает любые аргументы, которые выбрал Claude, поэтому продолжайте проверять комбинацию на стороне сервера.

Когда Claude Code не может создать схему, которую принимает API, или при развёртывании, которое не получает удалённую конфигурацию, включающую переписывание, он пропускает этот инструмент, записывает причину в журнал сервера и оставляет другие инструменты сервера доступными. Версии более ранние, чем v2.1.195, пропускают каждый инструмент, входная схема которого имеет корневой anyOf, oneOf или allOf.

Инструменты с недействительными схемами входных данных

Claude API проверяет схему входных данных каждого инструмента в запросе и отклоняет весь запрос, когда любая схема не проходит проверку, поэтому один инструмент MCP с неправильной схемой приведет к тому, что каждый запрос, который его включает, завершится ошибкой 400. Claude Code запускает две проверки API самостоятельно при загрузке инструментов сервера и исключает каждый инструмент, который не пройдет их, поэтому другие инструменты сервера продолжают работать:

  • Имена свойств верхнего уровня должны быть длиной от 1 до 64 символов и использовать только буквы и цифры ASCII, _, . и -
  • Схема должна быть действительной в соответствии с метасхемой JSON Schema draft 2020-12. Claude Code применяет эту проверку к схемам, которые не объявляют $schema, и к схемам, которые объявляют draft 2020-12. Схема, которая объявляет любой другой диалект, пропускает эту проверку, хотя проверка имен свойств выше все еще применяется

Claude Code запускает проверки после переписывания комбинатора корневого уровня, на схеме, которую он фактически отправит.

Когда Claude Code исключает инструмент, он записывает причину в журнал сервера и сообщает Claude, какие инструменты он исключил и почему, чтобы вы могли спросить Claude, почему инструмент отсутствует. Если вы исправите схему на сервере, инструмент вернется в следующий раз, когда Claude Code загрузит инструменты сервера.

Claude Code включает исключение через флаг функции, который он получает от Anthropic. На развертывании, где получение флагов отключено, или на машине, флаги которой никогда не поступали, например на изолированной машине, Claude Code все еще запускает проверки и записывает в журнал сервера, какой инструмент будет отклонен, но отправляет схему инструмента в API в любом случае. API отклоняет запрос, который включает эту схему с ошибкой 400, называющей инструмент по его позиции. До версии 2.1.216 ни одно развертывание не запускало эти проверки.

Обработка комбинатора корневого уровня отделена и сохраняет свое собственное поведение, когда получение флагов отключено или флаги никогда не поступали.

Требование одобрения для конкретного инструмента

Если вы создаёте MCP сервер, вы можете отметить инструмент как требующий явного одобрения при каждом вызове, установив _meta["anthropic/requiresUserInteraction"] в значение true в записи инструмента в ответе tools/list. Значение должно быть логическим значением JSON true; любое другое значение игнорируется.

Claude Code показывает запрос разрешения этого инструмента при каждом вызове, даже в режимах разрешений acceptEdits, auto и bypassPermissions режимы разрешений, и не предлагает опцию "не спрашивать снова" для него. Правила разрешения, которые соответствуют инструменту, также не пропускают запрос. В режиме dontAsk, который никогда не запрашивает, Claude Code отклоняет вызов вместо этого.

Запрос должен достичь человека. В неинтерактивном режиме с --permission-prompt-tool, результат allow из инструмента запроса разрешения для отмеченного инструмента преобразуется в отклонение с сообщением MCP tool requires user interaction; not supported via --permission-prompt-tool. Обратный вызов canUseTool Agent SDK получает эти вызовы и может их одобрить, потому что ваше приложение SDK должно показывать их пользователю.

Используйте это для инструментов, чей запрос разрешения сам по себе является целью, например шаг согласия или предоставления доступа, где автоматическое одобрение означало бы, что ни один человек никогда не согласился. Другие инструменты с того же сервера сохраняют своё обычное поведение разрешений.

Следующая запись tools/list отмечает один инструмент как всегда требующий одобрения.

{
  "name": "grant_access",
  "description": "Requests access to a protected resource",
  "_meta": {
    "anthropic/requiresUserInteraction": true
  }
}

Аннотация anthropic/requiresUserInteraction требует Claude Code v2.1.199 или более поздней версии. Более ранние версии игнорируют её и применяют стандартный поток разрешений.

Некоторые поверхности, такие как Remote Control и приложения, созданные на основе Agent SDK, обычно позволяют вам одобрять вызовы инструментов одним касанием. Для инструмента, отмеченного этой аннотацией, Claude Code скрывает действие одного касания и вместо этого показывает полный запрос разрешения инструмента, поэтому одобрение по-прежнему исходит от человека, отвечающего на запрос, а не от касания.

Claude Code скрывает одобрение одним касанием таким же образом для любого запроса разрешения, который только диалог терминала может полностью отобразить, например того, который содержит предупреждение безопасности или опцию всегда разрешить, которую удалённая поверхность не может показать. Вы отвечаете на этот запрос в диалоге терминала, а не из Remote Control. Требует Claude Code v2.1.214 или более поздней версии.

Ответ на запросы elicitation MCP

MCP серверы могут запрашивать у вас структурированный ввод во время выполнения задачи, используя elicitation. Когда серверу требуется информация, которую он не может получить самостоятельно, Claude Code отображает интерактивный диалог и передает ваш ответ обратно серверу. С вашей стороны не требуется никакой конфигурации: диалоги elicitation появляются автоматически, когда сервер их запрашивает.

Серверы могут запрашивать ввод двумя способами:

  • Режим формы: Claude Code показывает диалог с полями формы, определенными сервером (например, запрос имени пользователя и пароля). Заполните поля и отправьте.
  • Режим URL: Claude Code спрашивает, открыть ли ссылку в вашем браузере, и открывает её при вашем согласии. Серверы используют этот режим для потока, который завершается вне терминала, например для входа в систему.

В режиме URL Claude Code передает URL в качестве аргумента командной строки обработчику URL вашей системы и ограничивает длину этого аргумента. Когда URL, после экранирования для командной строки, превышает это ограничение, вы можете только отклонить запрос. Каждый символ, который требует экранирования, такой как % или &, считается четыре раза в сторону ограничения: сам символ плюс три символа экранирования. URL без них достигает ограничения примерно на 8000 символов. URL, построенный в основном из процентных экранирований, где каждый третий символ — это %, достигает его примерно на 4000.

Для автоматического ответа на запросы elicitation без отображения диалога используйте hook Elicitation.

Если вы создаете MCP сервер, который использует elicitation, см. спецификацию MCP elicitation для деталей протокола и примеров схемы.

На соединениях, которые используют revision протокола 2026-07-28, Claude Code объявляет elicitation: {form: {}, url: {}} в своих возможностях клиента, поэтому сервер там может запросить любой режим через стандартный запрос elicitation протокола.

Использование ресурсов MCP

Серверы MCP могут предоставлять ресурсы, на которые вы можете ссылаться с помощью упоминаний @, аналогично тому, как вы ссылаетесь на файлы.

Ссылка на ресурсы MCP

1

Список доступных ресурсов

Введите @ в вашу подсказку, чтобы увидеть доступные ресурсы со всех подключённых серверов MCP. Ресурсы отображаются рядом с файлами в меню автодополнения.

2

Ссылка на конкретный ресурс

Используйте формат @server:protocol://resource/path для ссылки на ресурс:

Can you analyze @github:issue://123 and suggest a fix?
Please review the API documentation at @docs:file://api/authentication
3

Несколько ссылок на ресурсы

Вы можете ссылаться на несколько ресурсов в одной подсказке:

Compare @postgres:schema://users with @docs:file://database/user-model

Ресурсы MCP Apps UI — это записи с URI ui:// или типом мультимедиа text/html;profile=mcp-app: страницы для отображения хост-приложением, а не контент для чтения Claude. Они не отображаются в предложениях @ или в результатах инструмента списка ресурсов, и сервер, предлагающий только ресурсы UI, показывает пустой список ресурсов. Чтение ресурса UI по его URI по-прежнему работает.

Поиск инструментов снижает использование контекста MCP, отложив определения инструментов до момента, когда они понадобятся Claude. При запуске сеанса загружаются только имена инструментов и инструкции сервера, поэтому добавление дополнительных серверов MCP имеет минимальное влияние на окно контекста. Claude Code не устанавливает фиксированный лимит инструментов на сервер; практический лимит определяется бюджетом окна контекста.

Для авторов серверов MCP

Если вы создаете сервер MCP, поле инструкций сервера становится более полезным при включенном поиске инструментов. Инструкции сервера помогают Claude понять, когда следует искать ваши инструменты, аналогично тому, как работают skills.

Добавьте четкие, описательные инструкции сервера, которые объясняют:

  • Какую категорию задач обрабатывают ваши инструменты
  • Когда Claude должен искать ваши инструменты
  • Ключевые возможности, которые предоставляет ваш сервер

Claude Code усекает описания инструментов и инструкции сервера на 2 048 символов по умолчанию. Держите их в краткой форме, и поместите критические детали в начало.

Чтобы изменить лимит для каждого сервера MCP в вашем сеансе, установите CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH на количество символов. Эта переменная требует Claude Code v2.1.280 или позже.

Поиск инструментов включен по умолчанию: инструменты MCP отложены и обнаруживаются по требованию. Claude Code отключает его, когда ANTHROPIC_BASE_URL указывает на хост, не принадлежащий первой стороне, так как большинство прокси не пересылают блоки tool_reference. Установите ENABLE_TOOL_SEARCH явно, чтобы переопределить этот резервный вариант.

Установка CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS отключает поиск инструментов. Вы не можете переопределить это, установив ENABLE_TOOL_SEARCH самостоятельно. Ваша организация может оставить поиск инструментов включенным через управляемые параметры, на Claude Code v2.1.227 или позже. Отключение предварительных возможностей охватывает, где применяется переопределение и что переменная удаляет.

Поиск инструментов требует модель, которая поддерживает блоки tool_reference: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5 и более поздние модели. См. совместимость моделей в документации API для получения текущего списка.

На Agent Platform Google Cloud, Claude Code решает по поколению модели:

  • Claude Opus 4.5, Sonnet 4.5, Haiku 4.5 и позже: поиск инструментов включен по умолчанию, как и на API Anthropic.
  • Более ранние модели Agent Platform: Claude Code загружает все инструменты MCP заранее, потому что их стеки обслуживания отклоняют требуемый заголовок бета-версии. ENABLE_TOOL_SEARCH=true не переопределяет это.

До версии 2.1.221 Claude Code отключал поиск инструментов для всех моделей на Agent Platform Google Cloud, если вы не установили ENABLE_TOOL_SEARCH=true.

Управляйте поведением поиска инструментов с помощью переменной окружения ENABLE_TOOL_SEARCH:

Значение Поведение
(не установлено) Все инструменты MCP отложены и загружаются по требованию. Переходит на загрузку заранее на моделях Agent Platform Google Cloud более ранних, чем поколение Claude 4.5, когда ANTHROPIC_BASE_URL является хостом, не принадлежащим первой стороне, или на развертывании Microsoft Foundry, размещенном на Azure
true Все инструменты MCP отложены, кроме развертывания Microsoft Foundry, размещенного на Azure, где отклонение на стороне сервера все еще вынуждает загрузку заранее, и на моделях Agent Platform Google Cloud более ранних, чем поколение Claude 4.5, где Claude Code продолжает загружать инструменты заранее. Claude Code отправляет заголовок бета-версии через прокси, и запросы не выполняются на прокси, которые не поддерживают блоки tool_reference
auto Режим порога: Claude Code загружает инструменты, которые он иначе отложил бы, заранее, пока их определения составляют менее 10% окна контекста, и отложит все из них, как только определения достигнут 10%
auto:N Режим порога с пользовательским процентом, где N — это 0-100. Например, auto:5 для 5%
false Все инструменты MCP загружены заранее, без отложения
# Использование пользовательского порога 5%
ENABLE_TOOL_SEARCH=auto:5 claude

# Полное отключение поиска инструментов
ENABLE_TOOL_SEARCH=false claude

Или установите значение в поле settings.json env.

Вы также можете отключить инструмент ToolSearch специально:

{
  "permissions": {
    "deny": ["ToolSearch"]
  }
}

Исключение сервера из отложения

Если инструменты сервера всегда должны быть видны Claude без этапа поиска, установите alwaysLoad в значение true в конфигурации этого сервера. Каждый инструмент с этого сервера затем загружается в контекст при запуске сеанса независимо от параметра ENABLE_TOOL_SEARCH. Используйте это для небольшого количества инструментов, которые Claude нужны на каждом ходу, так как каждый заранее загруженный инструмент потребляет контекст, который иначе был бы доступен для вашего разговора.

Следующая запись .mcp.json исключает один HTTP-сервер, оставляя другие серверы отложенными:

{
  "mcpServers": {
    "core-tools": {
      "type": "http",
      "url": "https://mcp.example.com/mcp",
      "alwaysLoad": true
    }
  }
}

Поле alwaysLoad доступно на всех типах серверов. Сервер MCP также может отметить отдельные инструменты как всегда загружаемые, включив "anthropic/alwaysLoad": true в объект _meta инструмента, что имеет тот же эффект только для этого инструмента.

Установка alwaysLoad: true также заставляет запуск ждать инструментов сервера, ограниченных стандартным тайм-аутом подключения в 5 секунд, так как они должны присутствовать при построении первого запроса. Удаленный сервер с действительной записью cached предоставляет свои инструменты из кэша без подключения, поэтому он не задерживает запуск. Другие серверы подключаются в фоновом режиме по умолчанию; установите MCP_CONNECTION_NONBLOCKING=0, чтобы запуск ждал и их тоже.

Использование MCP prompts как команд

MCP серверы могут предоставлять prompts, которые становятся доступными как команды в Claude Code.

Prompts с сервера с именем anthropic-skills не отображаются, потому что Claude Code зарезервировал это имя для skills, синхронизированных с claude.ai. Инструменты сервера по-прежнему работают. Переименуйте сервер в конфигурации MCP, чтобы отобразить его prompts.

Выполнение MCP prompts

1

Обнаружение доступных prompts

Введите / чтобы увидеть доступные вам команды, включая те, которые поступают с MCP серверов. Claude Code отображает каждый MCP prompt как /servername:promptname (MCP). Ввод /mcp__servername__promptname также запускает его.

2

Выполнение prompt без аргументов

/mcp__github__list_prs
3

Выполнение prompt с аргументами

Многие prompts принимают аргументы. Передавайте их через пробел после команды. Claude Code разделяет аргументы по пробелам, поэтому каждый аргумент — это один токен:

/mcp__github__pr_review 456
/mcp__jira__create_issue login-bug high

Управляемая конфигурация MCP

Для организаций, которым требуется централизованный контроль над тем, какие серверы MCP могут подключать пользователи, см. Управляемая конфигурация MCP. В ней описывается развертывание фиксированного набора серверов с помощью managed-mcp.json, предоставление серверов каждому пользователю с помощью managedMcpServers, ограничение серверов с помощью allowedMcpServers и deniedMcpServers, а также то, что видят пользователи, когда сервер заблокирован.