
Claude Code — MCP серверы которые стоит добавить
Claude Code достаточно способен из коробки - читает файлы, пишет код, запускает shell команды. Но реальные проекты не живут в изоляции: issues в GitHub, ошибки в Sentry, данные в базе данных. Без подключения Claude к этим системам - всегда сам строишь мосты. MCP (Model Context Protocol) - механизм для закрытия этого разрыва - стандартизированный интерфейс для подключения Claude Code к внешним инструментам и источникам данных.
Как MCP серверы подключаются
MCP сервер - это процесс (локальный или удалённый) который открывает набор инструментов через определённый протокол. Claude Code действует как клиент. Когда сервер подключён, его инструменты появляются рядом со встроенными инструментами Claude (Bash, чтение/запись файлов, поиск), и Claude может вызывать их так же.
Три типа транспорта:
- stdio - запускает локальный процесс. Для вещей которым нужен прямой системный доступ: файловая система, локальные базы данных, Docker.
- HTTP - подключается к удалённым сервисам. Текущий рекомендуемый транспорт для облачных серверов.
- SSE (Server-Sent Events) - старый удалённый транспорт. Устарел с начала 2026 в пользу HTTP. Много серверов всё ещё используют его, но новые интеграции должны использовать HTTP.
Область конфигурации важна почти так же как какой сервер добавить:
- local (дефолт) - доступен только тебе в текущем проекте. Хранится в
~/.claude.json. Правильное место для credentials и серверов которые тестируешь. - project - хранится в
.mcp.jsonв корне проекта. Шарится с командой через version control. Определения серверов идут сюда; credentials - нет. - user - доступен тебе во всех проектах, тоже хранится в
~/.claude.jsonно глобально.
Практический паттерн: определяй форму сервера в .mcp.json (имя сервера, команда, args). Потом каждый разработчик предоставляет свои credentials через local конфиг или переменные окружения.
Добавление сервера
claude mcp add --scope project github \
-- npx -y @modelcontextprotocol/server-github
Для серверов которым нужны credentials и не хочешь их в .mcp.json - используй флаг --env или ссылку на переменную окружения:
claude mcp add-json github \
'{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer '"$GITHUB_TOKEN"'"}}'
Внутри сессии /mcp открывает панель управления - можно включать, отключать и переподключать серверы без редактирования файлов конфигурации.
claude mcp list
Серверы которые стоит добавить
GitHub - тот что установил бы первым. PR ревью, поиск issue, создание веток, проверка статуса CI. Интеграция официальная и поддерживается GitHub. Используй HTTP транспорт с personal access token.
claude mcp add-json github \
'{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer '"$GITHUB_TOKEN"'"}}'
PostgreSQL - прямой доступ к базе данных. Спроси Claude запросить таблицу, изучить схему, или найти записи соответствующие условию. Вопросы по схеме которые потребовали бы трёх ручных запросов могут стать одним на естественном языке.
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "$DATABASE_URL"
}
}
}
}
Filesystem - стоит рассмотреть когда хочешь дать Claude явный, скопированный доступ к конкретным директориям со структурированными операциями (list, read, write, move) вместо сырого shell доступа. Аргумент path действует как whitelist.
claude mcp add --scope project filesystem \
-- npx -y @modelcontextprotocol/server-filesystem /home/user/shared
Sentry - если дебажишь production проблемы, наличие Sentry подключённым означает что Claude может напрямую получить реальный stack trace для данной ошибки и работать с ним, а не ты копируешь его вручную.
Context7 - предоставляет актуальную документацию библиотек. Данные обучения Claude имеют cutoff; API фреймворков меняются. Context7 тянет текущую документацию для библиотеки и делает её доступной во время сессии.
claude mcp add context7 -- npx -y @upstash/context7-mcp@latest
Прежде чем добавлять что-либо: безопасность
MCP серверы опаснее чем выглядят, и это стоит понять до начала установки чего-либо из npm.
Каждый MCP сервер который подключаешь открывает набор определений инструментов в контексте Claude. Эти определения включают имена, описания и схемы параметров - и модель их читает и воспринимает как инструкции. Так работает tool poisoning: вредоносный сервер встраивает скрытые инструкции внутри описания инструмента, невидимые в любом UI но полностью видимые модели.
Что делает это трудно заметить: никогда не видишь сырые определения инструментов. Видишь имя инструмента в диалоге подтверждения, не полные метаданные которые получает модель.
Есть также вариант "rug pull": сервер который выглядел чистым при установке может молча изменить определения инструментов после того как ты уже одобрил его.
Практические шаги которым я реально следую:
- Устанавливай только из источников с чётким владельцем и аудируемым исходным кодом. Namespace
@modelcontextprotocol/на npm и first-party серверы (официальный сервер GitHub, сервер Anthropic) - разумный baseline. - Запускай
mcp-scanпосле добавления любого сервера. Это сканнер от Invariant Labs который проверяет определения инструментов на скрытые инструкции и закрепляет хэши инструментов:
uvx mcp-scan@latest
- Давай серверам минимальный доступ который им нужен. Database серверы должны использовать read-only строку подключения если не нужна запись. Filesystem серверы должны быть скопированы до директории, не домашней папки.
- Держи количество установленных серверов маленьким. Каждый дополнительный сервер - дополнительная attack surface, и есть токенная стоимость.
Частые ошибки
Каждый сервер стоит контекст
Каждый подключённый MCP сервер открывает определения инструментов в контекстное окно Claude, и эти определения занимают место даже когда инструменты не используются. Добавишь пять серверов - платишь за 20-30 определений инструментов за сессию, используешь ли их или нет.
С MCP Tool Search (теперь доступным в Claude Code) серверы загружаются лениво - инструменты не расширяются в контексте пока они реально не нужны. Но не все серверы это поддерживают.
Моё правило: если не использовал сервер неделю - отключаю. Команда /mcp disable <name> делает это без удаления конфигурации.
Credentials в project-scope конфиге
Легко случайно положить API token напрямую в .mcp.json. Если .mcp.json закоммичен - token теперь в version control.
Правильный паттерн: имя сервера, команда и args в .mcp.json; credentials в переменных окружения или в local scope.
{
"mcpServers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp",
"headers": {
"Authorization": "Bearer $GITHUB_TOKEN"
}
}
}
}
SSE серверы которые молча сбоят
Если подключаешься к более старому MCP серверу который использует SSE транспорт, можешь получить сбои подключения без полезного сообщения об ошибке.
Если сервер показывается как "disconnected" в /mcp без ясной причины: проверь использует ли он SSE, есть ли HTTP транспорт вариант, и запусти claude mcp get <name> для инспекции конфигурации.
Итог
MCP серверы - extension layer который делает Claude Code реально полезным для работы с реальными проектами. Начни с одного-двух серверов соответствующих твоему реальному ежедневному воркфлоу вместо добавления дюжины сразу - каждый сервер имеет токенную стоимость, и те которые никогда не используешь всё равно оплачиваешь.

Комментарии