Настройка Claude Code MCP servers: подключение и интеграция

Когда пишешь код, постоянно приходится переключаться: открыл Jira, скопировал описание задачи в чат, потом то же самое с Sentry, потом вручную тащишь результат SQL-запроса. MCP серверы помогают в этой проблеме, Claude сам обращается к нужному сервису, без посредников.
Как это вообще работает
MCP расшифровывается как Model Context Protocol. Это открытый протокол — что-то вроде универсального переходника между Claude Code и внешними сервисами. Вы подключаете сервер, и у Claude появляются новые «руки»: он может сам дёрнуть базу данных, посмотреть тикет, проверить логи.
Разница с обычной работой принципиальная. Раньше: «вот результат SQL-запроса, что скажешь?» — вы сами бегали за данными. Теперь: «сколько новых пользователей за неделю?» — Claude сам запрашивает, сам читает, сам отвечает. Вы остаётесь в потоке.
В одном сеансе можно, например, сказать: «возьми задачу ENG-512 из Jira, реализуй её и открой PR» — и Claude пройдёт весь путь самостоятельно, работая одновременно с трекером задач и GitHub.
Два способа добавить сервер
Первый — через команду в терминале:
bash
claude mcp add имя-сервера
Запускается пошаговый визард. Работает, но неудобно: любая опечатка — и начинаешь сначала. Для простых случаев сойдёт.
Второй — напрямую через JSON:
bash
claude mcp add-json github ‘{«command»:»npx»,»args»:[«-y»,»@modelcontextprotocol/server-github»],»env»:{«GITHUB_PERSONAL_ACCESS_TOKEN»:»ваш_токен»}}’
Ещё один вариант — открыть файл ~/.claude.json и прописать всё вручную. Это удобнее всего когда серверов несколько, у каждого свои переменные окружения, и хочется видеть всю картину сразу. Плюс такой конфиг легко закоммитить или перенести на другую машину.
Три вида транспорта
Серверы общаются с Claude по-разному, и это определяет флаг —transport:
stdio — сервер запускается как локальный процесс прямо на вашей машине. Большинство серверов работают именно так.
bash
claude mcp add —transport stdio postgres-server — npx @modelcontextprotocol/server-postgres
http — подключение к удалённому серверу через HTTP. Используется для облачных сервисов и командных инструментов.
bash
claude mcp add —transport http team-kb https://kb.example.com/mcp
sse — устаревший формат, Server-Sent Events. Нужен когда сервис ещё не обновился до HTTP-транспорта.
bash
claude mcp add —transport sse legacy-monitoring https://monitor.example.com/sse
Все три типа сосуществуют в одной сессии без проблем.
Кому виден сервер
Флаг —scope управляет областью видимости конфига:
local — конфигурация хранится у вас, только для текущего проекта. Это значение по умолчанию.
project — конфиг записывается в файл .mcp.json в корне проекта и становится доступен всей команде через репозиторий.
Если вы один — local достаточно. Если нужно чтобы коллеги подняли те же серверы без лишних объяснений — используйте project и коммитьте .mcp.json.
Команды для управления
bash
claude mcp list # список всех серверов
claude mcp get имя # посмотреть детали
claude mcp remove имя # удалить сервер
Прямо внутри сессии работает команда /mcp — показывает какие серверы подключены, какие ещё грузятся, какие упали.
Проблема контекста
Каждый подключённый сервер добавляет в контекстное окно описание своих инструментов. Подключили пять серверов — и уже несколько десятков тысяч токенов занято только описаниями, ещё не сделав ничего.
Для этого есть Tool Search: Claude не грузит все описания разом, а подтягивает только те инструменты, которые реально нужны под текущую задачу. Это снижает расход контекста примерно в 8 раз. Работает автоматически на моделях Sonnet 4 и Opus 4, когда инструментов становится много.
Что подключают чаще всего
Большинство разработчиков начинают с нескольких серверов:
GitHub — работа с pull request’ами, задачами, поиск по коду прямо из терминала.
PostgreSQL / Supabase — запросы к базе без выхода из среды. Спросил — получил ответ.
Jira / Linear — читать задачи, обновлять статусы, создавать тикеты.
Sentry — смотреть ошибки в продакшене когда разбираете баги.
Filesystem — расширенный доступ к файлам проекта.
Если не хочется возиться с установкой зависимостей вручную, Docker MCP Toolkit собрал больше 200 серверов в готовых контейнерах — подключаются в несколько кликов из Docker Desktop без головной боли с зависимостями.
Тюнинг под нагрузку
Если сервер долго стартует — увеличьте таймаут:
bash
MCP_TIMEOUT=15000 claude
Если ответы от сервера очень большие и Claude предупреждает о превышении лимита:
bash
MAX_MCP_OUTPUT_TOKENS=50000 claude
Когда сервер не подключается
Три самые частые причины:
Первая — забыли перезапустить Claude Code после изменения конфига. Изменения не применяются на лету, только после рестарта.
Вторая — проблема с токеном. Проверьте что переменная окружения с API-ключом прописана правильно в блоке env.
Третья — сервер упал после нескольких неудачных попыток. Статус виден в /mcp, там же можно перезапустить вручную.
С чего начать
Не пытайтесь подключить всё сразу. Выберите одну точку боли — обычно это база данных или трекер задач — и начните с неё. Разберитесь как это меняет работу. Потом добавите второй сервер. Когда серверов много и они все доступны одновременно, Claude начинает путаться какой инструмент выбрать — это реальная проблема, не теоретическая.
MCP — не магия, а инструмент. Работает ровно настолько, насколько вы его настроили под свой конкретный стек.