Что вы можете делать с 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 на GitHub, или создайте свой собственный, используя MCP SDK.
Установка MCP servers
MCP servers можно настроить тремя различными способами в зависимости от ваших потребностей:Вариант 1: Добавьте удаленный HTTP server
HTTP servers — это рекомендуемый вариант для подключения к удаленным MCP servers. Это наиболее широко поддерживаемый транспорт для облачных сервисов.Вариант 2: Добавьте удаленный SSE server
Вариант 3: Добавьте локальный stdio server
Stdio servers работают как локальные процессы на вашей машине. Они идеальны для инструментов, которым требуется прямой доступ к системе или пользовательские скрипты.Важно: порядок опцийВсе опции (
--transport, --env, --scope, --header) должны идти перед именем server. Затем -- (двойной дефис) отделяет имя server от команды и аргументов, которые передаются MCP server.Например:claude mcp add --transport stdio myserver -- npx server→ запускаетnpx serverclaude mcp add --transport stdio --env KEY=value myserver -- python server.py --port 8080→ запускаетpython server.py --port 8080сKEY=valueв окружении
Управление вашими servers
После настройки вы можете управлять своими MCP servers с помощью этих команд:Динамические обновления инструментов
Claude Code поддерживает MCPlist_changed уведомления, позволяя MCP servers динамически обновлять свои доступные инструменты, подсказки и ресурсы без необходимости отключения и переподключения. Когда MCP server отправляет уведомление list_changed, Claude Code автоматически обновляет доступные возможности от этого server.
Отправка сообщений через каналы
MCP server также может отправлять сообщения непосредственно в вашу сессию, чтобы Claude мог реагировать на внешние события, такие как результаты CI, оповещения мониторинга или сообщения чата. Чтобы включить это, ваш server объявляет возможностьclaude/channel и вы включаете ее с флагом --channels при запуске. См. Каналы для использования официально поддерживаемого канала или Справочник каналов для создания собственного.
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)
.mcp.json в корне плагина:
plugin.json:
- Автоматический жизненный цикл: При запуске сеанса servers для включенных плагинов подключаются автоматически. Если вы включите или отключите плагин во время сеанса, запустите
/reload-pluginsдля подключения или отключения его MCP servers - Переменные окружения: используйте
${CLAUDE_PLUGIN_ROOT}для файлов плагина и${CLAUDE_PLUGIN_DATA}для постоянного состояния, которое сохраняется при обновлении плагина - Доступ к переменным окружения пользователя: доступ к тем же переменным окружения, что и вручную настроенные servers
- Несколько типов транспорта: поддержка stdio, SSE и HTTP транспортов (поддержка транспорта может варьироваться в зависимости от server)
- Упакованное распределение: инструменты и servers упакованы вместе
- Автоматическая настройка: не требуется ручная конфигурация MCP
- Согласованность команды: все получают одинаковые инструменты при установке плагина
Области установки MCP
MCP servers можно настроить на трех различных уровнях области, каждый из которых служит отдельным целям для управления доступностью server и совместным использованием. Понимание этих областей помогает вам определить лучший способ настройки servers для ваших конкретных потребностей.Локальная область
Servers с локальной областью представляют уровень конфигурации по умолчанию и хранятся в~/.claude.json в пути вашего проекта. Эти servers остаются приватными для вас и доступны только при работе в текущем каталоге проекта. Эта область идеальна для личных development servers, экспериментальных конфигураций или servers, содержащих чувствительные учетные данные, которые не должны быть общими.
Термин “локальная область” для MCP servers отличается от общих локальных параметров. MCP servers с локальной областью хранятся в
~/.claude.json (ваш домашний каталог), в то время как общие локальные параметры используют .claude/settings.local.json (в каталоге проекта). См. Параметры для получения подробной информации о расположении файлов параметров.Область проекта
Servers с областью проекта позволяют командной работе, сохраняя конфигурации в файле.mcp.json в корневом каталоге вашего проекта. Этот файл предназначен для проверки в систему контроля версий, обеспечивая всем членам команды доступ к одним и тем же MCP tools и сервисам. Когда вы добавляете server с областью проекта, Claude Code автоматически создает или обновляет этот файл с соответствующей структурой конфигурации.
.mcp.json следует стандартизированному формату:
.mcp.json. Если вам нужно сбросить эти выборы одобрения, используйте команду claude mcp reset-project-choices.
Область пользователя
Servers с областью пользователя хранятся в~/.claude.json и обеспечивают доступность между проектами, делая их доступными во всех проектах на вашей машине, оставаясь приватными для вашей учетной записи пользователя. Эта область хорошо работает для личных utility servers, инструментов разработки или сервисов, которые вы часто используете в разных проектах.
Выбор правильной области
Выберите вашу область на основе:- Локальная область: личные 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- путь к исполняемому файлу serverargs- аргументы командной строкиenv- переменные окружения, передаваемые serverurl- для типов HTTP serverheaders- для аутентификации HTTP server
Практические примеры
Пример: мониторинг ошибок с помощью Sentry
Пример: подключение к GitHub для проверки кода
Пример: запрос к базе данных PostgreSQL
Аутентификация с удаленными MCP servers
Многие облачные MCP servers требуют аутентификации. Claude Code поддерживает OAuth 2.0 для безопасных соединений.Используйте фиксированный порт обратного вызова OAuth
Некоторые MCP servers требуют конкретный URI перенаправления, зарегистрированный заранее. По умолчанию Claude Code выбирает случайный доступный порт для обратного вызова OAuth. Используйте--callback-port для фиксации порта, чтобы он соответствовал предварительно зарегистрированному URI перенаправления формы http://localhost:PORT/callback.
Вы можете использовать --callback-port самостоятельно (с динамической регистрацией клиента) или вместе с --client-id (с предварительно настроенными учетными данными).
Используйте предварительно настроенные учетные данные 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.Зарегистрируйте приложение OAuth с помощью server
Создайте приложение через портал разработчика server и запишите ваш client ID и client secret.Многие servers также требуют URI перенаправления. Если это так, выберите порт и зарегистрируйте URI перенаправления в формате
http://localhost:PORT/callback. Используйте тот же порт с --callback-port на следующем шаге.Добавьте server с вашими учетными данными
Выберите один из следующих методов. Порт, используемый для
--callback-port, может быть любым доступным портом. Он просто должен соответствовать URI перенаправления, который вы зарегистрировали на предыдущем шаге.- claude mcp add
- claude mcp add-json
- claude mcp add-json (только порт обратного вызова)
- CI / переменная окружения
Используйте
--client-id для передачи client ID вашего приложения. Флаг --client-secret запрашивает secret с замаскированным вводом:Переопределите обнаружение метаданных OAuth
Если ваш MCP server возвращает ошибки на стандартной конечной точке метаданных OAuth (/.well-known/oauth-authorization-server), но предоставляет рабочую конечную точку OIDC, вы можете указать Claude Code получить метаданные OAuth непосредственно с URL, который вы указываете, обходя стандартную цепочку обнаружения.
Установите authServerMetadataUrl в объекте oauth конфигурации вашего server в .mcp.json:
https://. Эта опция требует Claude Code v2.1.64 или позже.
Используйте динамические заголовки для пользовательской аутентификации
Если ваш MCP server использует схему аутентификации, отличную от OAuth (такую как Kerberos, краткосрочные токены или внутреннее SSO), используйтеheadersHelper для генерации заголовков запроса во время подключения. Claude Code запускает команду и объединяет ее выход в заголовки подключения.
- Команда должна записать объект JSON пар строк ключ-значение в stdout
- Команда запускается в оболочке с timeout в 10 секунд
- Динамические заголовки переопределяют любые статические
headersс тем же именем
headersHelper выполняет произвольные команды оболочки. Когда определено в области проекта или локальной области, он запускается только после того, как вы примете диалог доверия рабочей области.Добавьте MCP servers из конфигурации JSON
Если у вас есть конфигурация JSON для MCP server, вы можете добавить ее напрямую:Импортируйте MCP servers из Claude Desktop
Если вы уже настроили MCP servers в Claude Desktop, вы можете их импортировать:Выберите, какие servers импортировать
После запуска команды вы увидите интерактивный диалог, который позволяет вам выбрать, какие servers вы хотите импортировать.
Используйте MCP servers из Claude.ai
Если вы вошли в Claude Code с учетной записью Claude.ai, MCP servers, которые вы добавили в Claude.ai, автоматически доступны в Claude Code:Настройте MCP servers в Claude.ai
Добавьте servers на claude.ai/settings/connectors. В планах Team и Enterprise только администраторы могут добавлять servers.
ENABLE_CLAUDEAI_MCP_SERVERS на false:
Используйте Claude Code как MCP server
Вы можете использовать сам Claude Code как MCP server, к которому могут подключаться другие приложения:Лимиты выхода MCP и предупреждения
Когда инструменты MCP производят большие выходы, Claude Code помогает управлять использованием токенов, чтобы предотвратить перегрузку контекста вашего разговора:- Порог предупреждения выхода: Claude Code отображает предупреждение, когда выход любого инструмента MCP превышает 10 000 токенов
- Настраиваемый лимит: вы можете отрегулировать максимальное количество разрешенных токенов выхода MCP, используя переменную окружения
MAX_MCP_OUTPUT_TOKENS - Лимит по умолчанию: максимум по умолчанию составляет 25 000 токенов
- запрашивают большие наборы данных или базы данных
- генерируют подробные отчеты или документацию
- обрабатывают обширные файлы журналов или информацию отладки
Ответьте на запросы MCP elicitation
MCP servers могут запрашивать структурированный ввод от вас во время выполнения задачи, используя elicitation. Когда server нуждается в информации, которую он не может получить самостоятельно, Claude Code отображает интерактивный диалог и передает ваш ответ обратно server. На вашей стороне не требуется никакой конфигурации: диалоги elicitation появляются автоматически, когда server их запрашивает. Servers могут запрашивать ввод двумя способами:- Режим формы: Claude Code показывает диалог с полями формы, определенными server (например, приглашение имени пользователя и пароля). Заполните поля и отправьте.
- Режим URL: Claude Code открывает URL браузера для аутентификации или одобрения. Завершите процесс в браузере, затем подтвердите в CLI.
Elicitation hook.
Если вы создаете MCP server, который использует elicitation, см. спецификацию MCP elicitation для деталей протокола и примеров схемы.
Используйте MCP ресурсы
MCP servers могут предоставлять ресурсы, на которые вы можете ссылаться, используя упоминания @, аналогично тому, как вы ссылаетесь на файлы.Ссылка на MCP ресурсы
Список доступных ресурсов
Введите
@ в вашу подсказку, чтобы увидеть доступные ресурсы от всех подключенных MCP servers. Ресурсы отображаются рядом с файлами в меню автодополнения.Ссылка на конкретный ресурс
Используйте формат
@server:protocol://resource/path для ссылки на ресурс:Масштабирование с помощью MCP Tool Search
Когда у вас настроено много MCP servers, определения инструментов могут потреблять значительную часть вашего окна контекста. MCP Tool Search решает эту проблему, динамически загружая инструменты по требованию вместо предварительной загрузки всех из них.Как это работает
Claude Code автоматически включает Tool Search, когда описания инструментов MCP потребляют более 10% окна контекста. Вы можете отрегулировать этот порог или полностью отключить поиск инструментов. При срабатывании:- Инструменты MCP откладываются, а не загружаются в контекст заранее
- Claude использует инструмент поиска для обнаружения релевантных инструментов MCP при необходимости
- Только инструменты, которые Claude действительно нужны, загружаются в контекст
- Инструменты 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 загружаются заранее |
env вашего settings.json.
Вы также можете отключить инструмент MCPSearch специально, используя параметр disallowedTools:
Используйте MCP подсказки как команды
MCP servers могут предоставлять подсказки, которые становятся доступными как команды в Claude Code.Выполните MCP подсказки
Откройте доступные подсказки
Введите
/ для просмотра всех доступных команд, включая те из MCP servers. MCP подсказки отображаются в формате /mcp__servername__promptname.Управляемая конфигурация MCP
Для организаций, которым требуется централизованный контроль над MCP servers, Claude Code поддерживает две опции конфигурации:- Исключительный контроль с
managed-mcp.json: развертывание фиксированного набора MCP servers, которые пользователи не могут изменять или расширять - Контроль на основе политики с allowlists/denylists: позволить пользователям добавлять свои собственные servers, но ограничить, какие из них разрешены
- Контролировать, какие 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:
Вариант 2: контроль на основе политики с allowlists и denylists
Вместо того чтобы брать исключительный контроль, администраторы могут позволить пользователям настраивать свои собственные MCP servers, одновременно применяя ограничения на то, какие servers разрешены. Этот подход используетallowedMcpServers и deniedMcpServers в файле управляемых параметров.
Выбор между вариантами: используйте вариант 1 (
managed-mcp.json), когда вы хотите развернуть фиксированный набор servers без настройки пользователем. Используйте вариант 2 (allowlists/denylists), когда вы хотите позволить пользователям добавлять свои собственные servers в рамках ограничений политики.Опции ограничения
Каждая запись в allowlist или denylist может ограничивать servers тремя способами:- По имени server (
serverName): соответствует настроенному имени server - По команде (
serverCommand): соответствует точной команде и аргументам, используемым для запуска stdio servers - По шаблону URL (
serverUrl): соответствует URL-адресам удаленных servers с поддержкой подстановочных символов
serverName, serverCommand или serverUrl.
Пример конфигурации
Как работают ограничения на основе команд
Точное совпадение:- Массивы команд должны совпадать точно — как команда, так и все аргументы в правильном порядке
- Пример:
["npx", "-y", "server"]НЕ будет совпадать с["npx", "server"]или["npx", "-y", "server", "--flag"]
- Когда allowlist содержит любые записи
serverCommand, stdio servers должны совпадать с одной из этих команд - Stdio servers не могут пройти только по имени, когда присутствуют ограничения команд
- Это гарантирует, что администраторы могут применять, какие команды разрешены для запуска
- Удаленные servers (HTTP, SSE, WebSocket) используют сопоставление на основе URL, когда в allowlist существуют записи
serverUrl - Если записей URL не существует, удаленные servers возвращаются к сопоставлению на основе имени
- Ограничения команд не применяются к удаленным servers
Как работают ограничения на основе URL
Шаблоны URL поддерживают подстановочные символы, используя* для совпадения с любой последовательностью символов. Это полезно для разрешения целых доменов или поддоменов.
Примеры подстановочных символов:
https://mcp.company.com/*- разрешить все пути на конкретном доменеhttps://*.example.com/*- разрешить любой поддомен example.comhttp://localhost:*/*- разрешить любой порт на localhost
- Когда allowlist содержит любые записи
serverUrl, удаленные servers должны совпадать с одним из этих шаблонов URL - Удаленные servers не могут пройти только по имени, когда присутствуют ограничения URL
- Это гарантирует, что администраторы могут применять, какие удаленные конечные точки разрешены
Пример: allowlist только для URL
Пример: allowlist только для URL
- HTTP server на
https://mcp.company.com/api: ✅ разрешено (совпадает с шаблоном URL) - HTTP server на
https://api.internal.corp/mcp: ✅ разрешено (совпадает с подстановочным поддоменом) - HTTP server на
https://external.com/mcp: ❌ заблокировано (не совпадает ни с одним шаблоном URL) - Stdio server с любой командой: ❌ заблокировано (нет записей имени или команды для совпадения)
Пример: allowlist только для команд
Пример: allowlist только для команд
- Stdio server с
["npx", "-y", "approved-package"]: ✅ разрешено (совпадает с командой) - Stdio server с
["node", "server.js"]: ❌ заблокировано (не совпадает с командой) - HTTP server с именем “my-api”: ❌ заблокировано (нет записей имени для совпадения)
Пример: смешанный allowlist имени и команды
Пример: смешанный allowlist имени и команды
- 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”: ❌ заблокировано (имя не совпадает)
Пример: allowlist только для имени
Пример: allowlist только для имени
- 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 фактически загружаются.