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

Что вы можете делать с 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

Вот некоторые часто используемые MCP servers, которые вы можете подключить к Claude Code:
Используйте сторонние MCP servers на свой риск - Anthropic не проверил корректность или безопасность всех этих servers. Убедитесь, что вы доверяете MCP servers, которые устанавливаете. Будьте особенно осторожны при использовании MCP servers, которые могут получать ненадежный контент, так как это может подвергнуть вас риску prompt injection.
Нужна конкретная интеграция? Найдите сотни других MCP servers на GitHub, или создайте свой собственный, используя MCP SDK.

Установка MCP servers

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

Вариант 1: Добавьте удаленный HTTP server

HTTP servers — это рекомендуемый вариант для подключения к удаленным MCP servers. Это наиболее широко поддерживаемый транспорт для облачных сервисов.
# Базовый синтаксис
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"

Вариант 2: Добавьте удаленный SSE server

Транспорт SSE (Server-Sent Events) устарел. Используйте вместо этого HTTP servers, где они доступны.
# Базовый синтаксис
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 server

Stdio servers работают как локальные процессы на вашей машине. Они идеальны для инструментов, которым требуется прямой доступ к системе или пользовательские скрипты.
# Базовый синтаксис
claude mcp add [options] <name> -- <command> [args...]

# Реальный пример: добавление Airtable server
claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \
  -- npx -y airtable-mcp-server
Важно: порядок опцийВсе опции (--transport, --env, --scope, --header) должны идти перед именем server. Затем -- (двойной дефис) отделяет имя server от команды и аргументов, которые передаются MCP server.Например:
  • claude mcp add --transport stdio myserver -- npx server → запускает npx server
  • claude mcp add --transport stdio --env KEY=value myserver -- python server.py --port 8080 → запускает python server.py --port 8080 с KEY=value в окружении
Это предотвращает конфликты между флагами Claude и флагами server.

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

После настройки вы можете управлять своими MCP servers с помощью этих команд:
# Список всех настроенных servers
claude mcp list

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

# Удалить server
claude mcp remove github

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

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

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

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

MCP server также может отправлять сообщения непосредственно в вашу сессию, чтобы Claude мог реагировать на внешние события, такие как результаты CI, оповещения мониторинга или сообщения чата. Чтобы включить это, ваш server объявляет возможность claude/channel и вы включаете ее с флагом --channels при запуске. См. Каналы для использования официально поддерживаемого канала или Справочник каналов для создания собственного.
Советы:
  • Используйте флаг --scope для указания места хранения конфигурации:
    • local (по умолчанию): доступно только вам в текущем проекте (в старых версиях называлось project)
    • project: общий доступ для всех в проекте через файл .mcp.json
    • user: доступно вам во всех проектах (в старых версиях называлось global)
  • Установите переменные окружения с флагами --env (например, --env KEY=value)
  • Настройте timeout запуска MCP server, используя переменную окружения MCP_TIMEOUT (например, MCP_TIMEOUT=10000 claude устанавливает timeout в 10 секунд)
  • Claude Code отобразит предупреждение, когда выход инструмента MCP превышает 10 000 токенов. Чтобы увеличить этот лимит, установите переменную окружения MAX_MCP_OUTPUT_TOKENS (например, MAX_MCP_OUTPUT_TOKENS=50000)
  • Используйте /mcp для аутентификации с удаленными servers, которые требуют аутентификацию OAuth 2.0
Пользователи Windows: на нативной Windows (не WSL) локальные MCP servers, которые используют npx, требуют обертки cmd /c для обеспечения правильного выполнения.
# Это создает command="cmd", который Windows может выполнить
claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package
Без обертки cmd /c вы столкнетесь с ошибками “Connection closed”, потому что Windows не может напрямую выполнить npx. (См. примечание выше для объяснения параметра --.)

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

Плагины могут включать MCP servers, автоматически предоставляя инструменты и интеграции при включении плагина. Plugin MCP servers работают идентично пользовательским настроенным servers. Как работают plugin MCP servers:
  • Плагины определяют MCP servers в .mcp.json в корне плагина или встроенные в plugin.json
  • Когда плагин включен, его MCP servers запускаются автоматически
  • Plugin MCP tools отображаются рядом с вручную настроенными MCP tools
  • Plugin servers управляются через установку плагина (не через команды /mcp)
Пример конфигурации plugin 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"]
    }
  }
}
Функции plugin MCP:
  • Автоматический жизненный цикл: При запуске сеанса servers для включенных плагинов подключаются автоматически. Если вы включите или отключите плагин во время сеанса, запустите /reload-plugins для подключения или отключения его MCP servers
  • Переменные окружения: используйте ${CLAUDE_PLUGIN_ROOT} для файлов плагина и ${CLAUDE_PLUGIN_DATA} для постоянного состояния, которое сохраняется при обновлении плагина
  • Доступ к переменным окружения пользователя: доступ к тем же переменным окружения, что и вручную настроенные servers
  • Несколько типов транспорта: поддержка stdio, SSE и HTTP транспортов (поддержка транспорта может варьироваться в зависимости от server)
Просмотр plugin MCP servers:
# В Claude Code, см. все MCP servers, включая plugin ones
/mcp
Plugin servers отображаются в списке с индикаторами, показывающими, что они поступают из плагинов. Преимущества plugin MCP servers:
  • Упакованное распределение: инструменты и servers упакованы вместе
  • Автоматическая настройка: не требуется ручная конфигурация MCP
  • Согласованность команды: все получают одинаковые инструменты при установке плагина
См. справочник компонентов плагина для получения подробной информации о включении MCP servers в плагины.

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

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

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

Servers с локальной областью представляют уровень конфигурации по умолчанию и хранятся в ~/.claude.json в пути вашего проекта. Эти servers остаются приватными для вас и доступны только при работе в текущем каталоге проекта. Эта область идеальна для личных development servers, экспериментальных конфигураций или servers, содержащих чувствительные учетные данные, которые не должны быть общими.
Термин “локальная область” для MCP servers отличается от общих локальных параметров. MCP servers с локальной областью хранятся в ~/.claude.json (ваш домашний каталог), в то время как общие локальные параметры используют .claude/settings.local.json (в каталоге проекта). См. Параметры для получения подробной информации о расположении файлов параметров.
# Добавить server с локальной областью (по умолчанию)
claude mcp add --transport http stripe https://mcp.stripe.com

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

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

Servers с областью проекта позволяют командной работе, сохраняя конфигурации в файле .mcp.json в корневом каталоге вашего проекта. Этот файл предназначен для проверки в систему контроля версий, обеспечивая всем членам команды доступ к одним и тем же MCP tools и сервисам. Когда вы добавляете server с областью проекта, Claude Code автоматически создает или обновляет этот файл с соответствующей структурой конфигурации.
# Добавить server с областью проекта
claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp
Результирующий файл .mcp.json следует стандартизированному формату:
{
  "mcpServers": {
    "shared-server": {
      "command": "/path/to/server",
      "args": [],
      "env": {}
    }
  }
}
По соображениям безопасности Claude Code запрашивает одобрение перед использованием servers с областью проекта из файлов .mcp.json. Если вам нужно сбросить эти выборы одобрения, используйте команду claude mcp reset-project-choices.

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

Servers с областью пользователя хранятся в ~/.claude.json и обеспечивают доступность между проектами, делая их доступными во всех проектах на вашей машине, оставаясь приватными для вашей учетной записи пользователя. Эта область хорошо работает для личных utility servers, инструментов разработки или сервисов, которые вы часто используете в разных проектах.
# Добавить server пользователя
claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

Выбор правильной области

Выберите вашу область на основе:
  • Локальная область: личные servers, экспериментальные конфигурации или чувствительные учетные данные, специфичные для одного проекта
  • Область проекта: servers, общие для команды, инструменты, специфичные для проекта, или сервисы, необходимые для сотрудничества
  • Область пользователя: личные утилиты, необходимые в нескольких проектах, инструменты разработки или часто используемые сервисы
Где хранятся MCP servers?
  • Область пользователя и локальная: ~/.claude.json (в поле mcpServers или в путях проекта)
  • Область проекта: .mcp.json в корне вашего проекта (проверено в систему контроля версий)
  • Управляемые: managed-mcp.json в системных каталогах (см. Управляемая конфигурация MCP)

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

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

Расширение переменных окружения в .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 не сможет разобрать конфигурацию.

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

Пример: мониторинг ошибок с помощью Sentry

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
Аутентифицируйтесь с помощью вашей учетной записи Sentry:
/mcp
Затем отладьте проблемы в production:
Какие наиболее распространенные ошибки за последние 24 часа?
Покажите мне трассировку стека для ошибки ID abc123
Какое развертывание внесло эти новые ошибки?

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

claude mcp add --transport http github https://api.githubcopilot.com/mcp/
Аутентифицируйтесь при необходимости, выбрав “Authenticate” для GitHub:
/mcp
Затем работайте с GitHub:
Проверьте PR #456 и предложите улучшения
Создайте новую проблему для найденной нами ошибки
Покажите мне все открытые PR, назначенные мне

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

claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:[email protected]:5432/analytics"
Затем запрашивайте вашу базу данных естественным образом:
Какой у нас общий доход в этом месяце?
Покажите мне схему для таблицы orders
Найдите клиентов, которые не совершали покупку в течение 90 дней

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

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

Добавьте server, который требует аутентификации

Например:
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
2

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

В Claude Code используйте команду:
/mcp
Затем следуйте инструкциям в вашем браузере для входа.
Советы:
  • Токены аутентификации хранятся безопасно и автоматически обновляются
  • Используйте “Clear authentication” в меню /mcp для отзыва доступа
  • Если ваш браузер не открывается автоматически, скопируйте предоставленный URL и откройте его вручную
  • Если перенаправление браузера не удается с ошибкой соединения после аутентификации, вставьте полный URL обратного вызова из адресной строки браузера в приглашение URL, которое появляется в Claude Code
  • Аутентификация OAuth работает с HTTP servers

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

Некоторые MCP servers требуют конкретный URI перенаправления, зарегистрированный заранее. По умолчанию Claude Code выбирает случайный доступный порт для обратного вызова OAuth. Используйте --callback-port для фиксации порта, чтобы он соответствовал предварительно зарегистрированному URI перенаправления формы http://localhost:PORT/callback. Вы можете использовать --callback-port самостоятельно (с динамической регистрацией клиента) или вместе с --client-id (с предварительно настроенными учетными данными).
# Фиксированный порт обратного вызова с динамической регистрацией клиента
claude mcp add --transport http \
  --callback-port 8080 \
  my-server https://mcp.example.com/mcp

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

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

Зарегистрируйте приложение OAuth с помощью server

Создайте приложение через портал разработчика server и запишите ваш client ID и client secret.Многие servers также требуют URI перенаправления. Если это так, выберите порт и зарегистрируйте URI перенаправления в формате http://localhost:PORT/callback. Используйте тот же порт с --callback-port на следующем шаге.
2

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

Выберите один из следующих методов. Порт, используемый для --callback-port, может быть любым доступным портом. Он просто должен соответствовать URI перенаправления, который вы зарегистрировали на предыдущем шаге.
Используйте --client-id для передачи client ID вашего приложения. Флаг --client-secret запрашивает 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 и следуйте потоку входа браузера.
Советы:
  • Client secret хранится безопасно в вашей системной связке ключей (macOS) или файле учетных данных, а не в вашей конфигурации
  • Если server использует публичный OAuth клиент без secret, используйте только --client-id без --client-secret
  • --callback-port можно использовать с --client-id или без него
  • Эти флаги применяются только к HTTP и SSE транспортам. Они не влияют на stdio servers
  • Используйте claude mcp get <name> для проверки того, что учетные данные OAuth настроены для server

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

Если ваш MCP server возвращает ошибки на стандартной конечной точке метаданных OAuth (/.well-known/oauth-authorization-server), но предоставляет рабочую конечную точку OIDC, вы можете указать Claude Code получить метаданные OAuth непосредственно с URL, который вы указываете, обходя стандартную цепочку обнаружения. Установите authServerMetadataUrl в объекте oauth конфигурации вашего server в .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://. Эта опция требует Claude Code v2.1.64 или позже.

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

Если ваш MCP server использует схему аутентификации, отличную от 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
  • Команда запускается в оболочке с timeout в 10 секунд
  • Динамические заголовки переопределяют любые статические headers с тем же именем
Помощник запускается заново при каждом подключении (при запуске сеанса и при переподключении). Кэширования нет, поэтому ваш скрипт отвечает за любое повторное использование токена.
headersHelper выполняет произвольные команды оболочки. Когда определено в области проекта или локальной области, он запускается только после того, как вы примете диалог доверия рабочей области.

Добавьте 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
Советы:
  • Убедитесь, что JSON правильно экранирован в вашей оболочке
  • JSON должен соответствовать схеме конфигурации MCP server
  • Вы можете использовать --scope user для добавления server в вашу конфигурацию пользователя вместо конфигурации, специфичной для проекта

Импортируйте 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 
Советы:
  • Эта функция работает только на macOS и Windows Subsystem for Linux (WSL)
  • Она читает файл конфигурации Claude Desktop из его стандартного расположения на этих платформах
  • Используйте флаг --scope user для добавления servers в вашу конфигурацию пользователя
  • Импортированные servers будут иметь те же имена, что и в Claude Desktop
  • Если servers с одинаковыми именами уже существуют, они получат числовой суффикс (например, server_1)

Используйте MCP servers из Claude.ai

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

Настройте MCP servers в Claude.ai

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

Аутентифицируйте MCP server

Завершите все необходимые шаги аутентификации в Claude.ai.
3

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

В Claude Code используйте команду:
/mcp
Claude.ai servers отображаются в списке с индикаторами, показывающими, что они поступают из Claude.ai.
Чтобы отключить MCP servers claude.ai в Claude Code, установите переменную окружения ENABLE_CLAUDEAI_MCP_SERVERS на false:
ENABLE_CLAUDEAI_MCP_SERVERS=false claude

Используйте Claude Code как MCP server

Вы можете использовать сам Claude Code как MCP server, к которому могут подключаться другие приложения:
# Запустите Claude как stdio MCP server
claude mcp serve
Вы можете использовать это в Claude Desktop, добавив эту конфигурацию в claude_desktop_config.json:
{
  "mcpServers": {
    "claude-code": {
      "type": "stdio",
      "command": "claude",
      "args": ["mcp", "serve"],
      "env": {}
    }
  }
}
Настройка пути к исполняемому файлу: поле command должно ссылаться на исполняемый файл Claude Code. Если команда claude не находится в PATH вашей системы, вам нужно указать полный путь к исполняемому файлу.Чтобы найти полный путь:
which claude
Затем используйте полный путь в вашей конфигурации:
{
  "mcpServers": {
    "claude-code": {
      "type": "stdio",
      "command": "/full/path/to/claude",
      "args": ["mcp", "serve"],
      "env": {}
    }
  }
}
Без правильного пути к исполняемому файлу вы столкнетесь с ошибками типа spawn claude ENOENT.
Советы:
  • Server предоставляет доступ к инструментам Claude, таким как View, Edit, LS и т. д.
  • В Claude Desktop попробуйте попросить Claude прочитать файлы в каталоге, внести изменения и многое другое.
  • Обратите внимание, что этот MCP server только предоставляет инструменты Claude Code вашему MCP клиенту, поэтому ваш собственный клиент отвечает за реализацию подтверждения пользователя для отдельных вызовов инструментов.

Лимиты выхода MCP и предупреждения

Когда инструменты MCP производят большие выходы, Claude Code помогает управлять использованием токенов, чтобы предотвратить перегрузку контекста вашего разговора:
  • Порог предупреждения выхода: Claude Code отображает предупреждение, когда выход любого инструмента MCP превышает 10 000 токенов
  • Настраиваемый лимит: вы можете отрегулировать максимальное количество разрешенных токенов выхода MCP, используя переменную окружения MAX_MCP_OUTPUT_TOKENS
  • Лимит по умолчанию: максимум по умолчанию составляет 25 000 токенов
Чтобы увеличить лимит для инструментов, которые производят большие выходы:
# Установите более высокий лимит для выходов инструментов MCP
export MAX_MCP_OUTPUT_TOKENS=50000
claude
Это особенно полезно при работе с MCP servers, которые:
  • запрашивают большие наборы данных или базы данных
  • генерируют подробные отчеты или документацию
  • обрабатывают обширные файлы журналов или информацию отладки
Если вы часто сталкиваетесь с предупреждениями выхода с конкретными MCP servers, рассмотрите возможность увеличения лимита или настройки server для разбиения на страницы или фильтрации его ответов.

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

MCP servers могут запрашивать структурированный ввод от вас во время выполнения задачи, используя elicitation. Когда server нуждается в информации, которую он не может получить самостоятельно, Claude Code отображает интерактивный диалог и передает ваш ответ обратно server. На вашей стороне не требуется никакой конфигурации: диалоги elicitation появляются автоматически, когда server их запрашивает. Servers могут запрашивать ввод двумя способами:
  • Режим формы: Claude Code показывает диалог с полями формы, определенными server (например, приглашение имени пользователя и пароля). Заполните поля и отправьте.
  • Режим URL: Claude Code открывает URL браузера для аутентификации или одобрения. Завершите процесс в браузере, затем подтвердите в CLI.
Чтобы автоматически ответить на запросы elicitation без отображения диалога, используйте Elicitation hook. Если вы создаете MCP server, который использует elicitation, см. спецификацию MCP elicitation для деталей протокола и примеров схемы.

Используйте MCP ресурсы

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

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

1

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

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

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

Используйте формат @server:protocol://resource/path для ссылки на ресурс:
Можете ли вы проанализировать @github:issue://123 и предложить исправление?
Пожалуйста, проверьте документацию API на @docs:file://api/authentication
3

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

Вы можете ссылаться на несколько ресурсов в одной подсказке:
Сравните @postgres:schema://users с @docs:file://database/user-model
Советы:
  • Ресурсы автоматически получаются и включаются как вложения при ссылке
  • Пути ресурсов поддерживают нечеткий поиск в автодополнении упоминания @
  • Claude Code автоматически предоставляет инструменты для списка и чтения MCP ресурсов, когда servers их поддерживают
  • Ресурсы могут содержать любой тип контента, который предоставляет MCP server (текст, JSON, структурированные данные и т. д.)
Когда у вас настроено много MCP servers, определения инструментов могут потреблять значительную часть вашего окна контекста. MCP Tool Search решает эту проблему, динамически загружая инструменты по требованию вместо предварительной загрузки всех из них.

Как это работает

Claude Code автоматически включает Tool Search, когда описания инструментов MCP потребляют более 10% окна контекста. Вы можете отрегулировать этот порог или полностью отключить поиск инструментов. При срабатывании:
  1. Инструменты MCP откладываются, а не загружаются в контекст заранее
  2. Claude использует инструмент поиска для обнаружения релевантных инструментов MCP при необходимости
  3. Только инструменты, которые Claude действительно нужны, загружаются в контекст
  4. Инструменты MCP продолжают работать точно так же, как раньше, с вашей точки зрения

Для авторов MCP server

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

Настройте поиск инструментов

Поиск инструментов включен по умолчанию: инструменты MCP откладываются и обнаруживаются по требованию. Когда ANTHROPIC_BASE_URL указывает на хост, не являющийся первой стороной, поиск инструментов отключен по умолчанию, потому что большинство прокси не пересылают блоки tool_reference. Установите ENABLE_TOOL_SEARCH явно, если ваш прокси это делает. Эта функция требует моделей, которые поддерживают блоки tool_reference: Sonnet 4 и позже, или Opus 4 и позже. Модели Haiku не поддерживают поиск инструментов. Управляйте поведением поиска инструментов с помощью переменной окружения ENABLE_TOOL_SEARCH:
ЗначениеПоведение
(не установлено)Включено по умолчанию. Отключено, когда ANTHROPIC_BASE_URL является хостом, не являющимся первой стороной
trueВсегда включено, включая для ANTHROPIC_BASE_URL, не являющегося первой стороной
autoАктивируется, когда инструменты MCP превышают 10% контекста
auto:<N>Активируется при пользовательском пороге, где <N> — это процент (например, auto:5 для 5%)
falseОтключено, все инструменты MCP загружаются заранее
# Используйте пользовательский порог 5%
ENABLE_TOOL_SEARCH=auto:5 claude

# Полностью отключите поиск инструментов
ENABLE_TOOL_SEARCH=false claude
Или установите значение в поле env вашего settings.json. Вы также можете отключить инструмент MCPSearch специально, используя параметр disallowedTools:
{
  "permissions": {
    "deny": ["MCPSearch"]
  }
}

Используйте MCP подсказки как команды

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

Выполните MCP подсказки

1

Откройте доступные подсказки

Введите / для просмотра всех доступных команд, включая те из MCP servers. MCP подсказки отображаются в формате /mcp__servername__promptname.
2

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

/mcp__github__list_prs
3

Выполните подсказку с аргументами

Многие подсказки принимают аргументы. Передайте их через пробел после команды:
/mcp__github__pr_review 456
/mcp__jira__create_issue "Bug in login flow" high
Советы:
  • MCP подсказки динамически обнаруживаются из подключенных servers
  • Аргументы анализируются на основе определенных параметров подсказки
  • Результаты подсказки вводятся непосредственно в разговор
  • Имена server и подсказки нормализуются (пробелы становятся подчеркиваниями)

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

Для организаций, которым требуется централизованный контроль над MCP servers, Claude Code поддерживает две опции конфигурации:
  1. Исключительный контроль с managed-mcp.json: развертывание фиксированного набора MCP servers, которые пользователи не могут изменять или расширять
  2. Контроль на основе политики с allowlists/denylists: позволить пользователям добавлять свои собственные servers, но ограничить, какие из них разрешены
Эти опции позволяют IT администраторам:
  • Контролировать, какие MCP servers могут использовать сотрудники: развертывание стандартизированного набора одобренных MCP servers по всей организации
  • Предотвратить несанкционированные MCP servers: ограничить пользователей от добавления неодобренных MCP servers
  • Полностью отключить MCP: удалить функциональность MCP, если это необходимо

Вариант 1: исключительный контроль с managed-mcp.json

Когда вы развертываете файл managed-mcp.json, он берет исключительный контроль над всеми MCP servers. Пользователи не могут добавлять, изменять или использовать какие-либо MCP servers, кроме определенных в этом файле. Это самый простой подход для организаций, которые хотят полный контроль. Системные администраторы развертывают файл конфигурации в системный каталог:
  • macOS: /Library/Application Support/ClaudeCode/managed-mcp.json
  • Linux и WSL: /etc/claude-code/managed-mcp.json
  • Windows: C:\Program Files\ClaudeCode\managed-mcp.json
Это системные пути (не домашние каталоги пользователей, такие как ~/Library/...), которые требуют привилегий администратора. Они предназначены для развертывания IT администраторами.
Файл managed-mcp.json использует тот же формат, что и стандартный файл .mcp.json:
{
  "mcpServers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    },
    "sentry": {
      "type": "http",
      "url": "https://mcp.sentry.dev/mcp"
    },
    "company-internal": {
      "type": "stdio",
      "command": "/usr/local/bin/company-mcp-server",
      "args": ["--config", "/etc/company/mcp-config.json"],
      "env": {
        "COMPANY_API_URL": "https://internal.company.com"
      }
    }
  }
}

Вариант 2: контроль на основе политики с allowlists и denylists

Вместо того чтобы брать исключительный контроль, администраторы могут позволить пользователям настраивать свои собственные MCP servers, одновременно применяя ограничения на то, какие servers разрешены. Этот подход использует allowedMcpServers и deniedMcpServers в файле управляемых параметров.
Выбор между вариантами: используйте вариант 1 (managed-mcp.json), когда вы хотите развернуть фиксированный набор servers без настройки пользователем. Используйте вариант 2 (allowlists/denylists), когда вы хотите позволить пользователям добавлять свои собственные servers в рамках ограничений политики.

Опции ограничения

Каждая запись в allowlist или denylist может ограничивать servers тремя способами:
  1. По имени server (serverName): соответствует настроенному имени server
  2. По команде (serverCommand): соответствует точной команде и аргументам, используемым для запуска stdio servers
  3. По шаблону URL (serverUrl): соответствует URL-адресам удаленных servers с поддержкой подстановочных символов
Важно: каждая запись должна иметь ровно одно из serverName, serverCommand или serverUrl.

Пример конфигурации

{
  "allowedMcpServers": [
    // Разрешить по имени server
    { "serverName": "github" },
    { "serverName": "sentry" },

    // Разрешить по точной команде (для stdio servers)
    { "serverCommand": ["npx", "-y", "@modelcontextprotocol/server-filesystem"] },
    { "serverCommand": ["python", "/usr/local/bin/approved-server.py"] },

    // Разрешить по шаблону URL (для удаленных servers)
    { "serverUrl": "https://mcp.company.com/*" },
    { "serverUrl": "https://*.internal.corp/*" }
  ],
  "deniedMcpServers": [
    // Заблокировать по имени server
    { "serverName": "dangerous-server" },

    // Заблокировать по точной команде (для stdio servers)
    { "serverCommand": ["npx", "-y", "unapproved-package"] },

    // Заблокировать по шаблону URL (для удаленных servers)
    { "serverUrl": "https://*.untrusted.com/*" }
  ]
}

Как работают ограничения на основе команд

Точное совпадение:
  • Массивы команд должны совпадать точно — как команда, так и все аргументы в правильном порядке
  • Пример: ["npx", "-y", "server"] НЕ будет совпадать с ["npx", "server"] или ["npx", "-y", "server", "--flag"]
Поведение stdio server:
  • Когда allowlist содержит любые записи serverCommand, stdio servers должны совпадать с одной из этих команд
  • Stdio servers не могут пройти только по имени, когда присутствуют ограничения команд
  • Это гарантирует, что администраторы могут применять, какие команды разрешены для запуска
Поведение удаленного server:
  • Удаленные servers (HTTP, SSE, WebSocket) используют сопоставление на основе URL, когда в allowlist существуют записи serverUrl
  • Если записей URL не существует, удаленные servers возвращаются к сопоставлению на основе имени
  • Ограничения команд не применяются к удаленным servers

Как работают ограничения на основе URL

Шаблоны URL поддерживают подстановочные символы, используя * для совпадения с любой последовательностью символов. Это полезно для разрешения целых доменов или поддоменов. Примеры подстановочных символов:
  • https://mcp.company.com/* - разрешить все пути на конкретном домене
  • https://*.example.com/* - разрешить любой поддомен example.com
  • http://localhost:*/* - разрешить любой порт на localhost
Поведение удаленного server:
  • Когда allowlist содержит любые записи serverUrl, удаленные servers должны совпадать с одним из этих шаблонов URL
  • Удаленные servers не могут пройти только по имени, когда присутствуют ограничения URL
  • Это гарантирует, что администраторы могут применять, какие удаленные конечные точки разрешены
{
  "allowedMcpServers": [
    { "serverUrl": "https://mcp.company.com/*" },
    { "serverUrl": "https://*.internal.corp/*" }
  ]
}
Результат:
  • HTTP server на https://mcp.company.com/api: ✅ разрешено (совпадает с шаблоном URL)
  • HTTP server на https://api.internal.corp/mcp: ✅ разрешено (совпадает с подстановочным поддоменом)
  • HTTP server на https://external.com/mcp: ❌ заблокировано (не совпадает ни с одним шаблоном URL)
  • Stdio server с любой командой: ❌ заблокировано (нет записей имени или команды для совпадения)
{
  "allowedMcpServers": [
    { "serverCommand": ["npx", "-y", "approved-package"] }
  ]
}
Результат:
  • Stdio server с ["npx", "-y", "approved-package"]: ✅ разрешено (совпадает с командой)
  • Stdio server с ["node", "server.js"]: ❌ заблокировано (не совпадает с командой)
  • HTTP server с именем “my-api”: ❌ заблокировано (нет записей имени для совпадения)
{
  "allowedMcpServers": [
    { "serverName": "github" },
    { "serverCommand": ["npx", "-y", "approved-package"] }
  ]
}
Результат:
  • Stdio server с именем “local-tool” и ["npx", "-y", "approved-package"]: ✅ разрешено (совпадает с командой)
  • Stdio server с именем “local-tool” и ["node", "server.js"]: ❌ заблокировано (записи команд существуют, но не совпадают)
  • Stdio server с именем “github” и ["node", "server.js"]: ❌ заблокировано (stdio servers должны совпадать с командами, когда существуют записи команд)
  • HTTP server с именем “github”: ✅ разрешено (совпадает с именем)
  • HTTP server с именем “other-api”: ❌ заблокировано (имя не совпадает)
{
  "allowedMcpServers": [
    { "serverName": "github" },
    { "serverName": "internal-tool" }
  ]
}
Результат:
  • Stdio server с именем “github” и любой командой: ✅ разрешено (нет ограничений команд)
  • Stdio server с именем “internal-tool” и любой командой: ✅ разрешено (нет ограничений команд)
  • HTTP server с именем “github”: ✅ разрешено (совпадает с именем)
  • Любой server с именем “other”: ❌ заблокировано (имя не совпадает)

Поведение allowlist (allowedMcpServers)

  • undefined (по умолчанию): нет ограничений - пользователи могут настроить любой MCP server
  • Пустой массив []: полная блокировка - пользователи не могут настроить какие-либо MCP servers
  • Список записей: пользователи могут настроить только servers, которые совпадают по имени, команде или шаблону URL

Поведение denylist (deniedMcpServers)

  • undefined (по умолчанию): никакие servers не блокируются
  • Пустой массив []: никакие servers не блокируются
  • Список записей: указанные servers явно блокируются во всех областях

Важные примечания

  • Вариант 1 и вариант 2 можно комбинировать: если существует managed-mcp.json, он имеет исключительный контроль и пользователи не могут добавлять servers. Allowlists/denylists все еще применяются к самим управляемым servers.
  • Denylist имеет абсолютный приоритет: если server совпадает с записью denylist (по имени, команде или URL), он будет заблокирован, даже если он находится в allowlist
  • Ограничения на основе имени, команды и URL работают вместе: server проходит, если он совпадает с либо записью имени, записью команды, либо шаблоном URL (если не заблокирован denylist)
При использовании managed-mcp.json: пользователи не могут добавлять MCP servers через claude mcp add или файлы конфигурации. Параметры allowedMcpServers и deniedMcpServers все еще применяются для фильтрации, какие управляемые servers фактически загружаются.