По умолчанию Claude работает с файлами. MCP даёт ему всё остальное: браузер, базы, доки, Slack, логи. Разберём, какие серверы реально стоят места, как их подключить без утечки ключей, и почему больше не значит лучше.
Model Context Protocol — это стандарт, по которому Claude Code подключается к внешним инструментам, базам и API. С ним агент перестаёт быть заперт в файлах проекта: он ищет и пишет в Slack, гоняет запросы в BigQuery, тянет ошибки из Sentry, водит браузер. Сервер один раз описывается в конфиге и коммитится в репозиторий, так что инструменты появляются у всей команды.
“Claude Code пользуется всеми твоими инструментами. Он постоянно ищет и постит в Slack через MCP, гоняет запросы BigQuery для аналитики, забирает логи ошибок из Sentry. Конфиг Slack лежит в .mcp.json и шарится с командой.
Дальше начинается соблазн натащить всё подряд. Это ошибка: каждый сервер добавляет инструменты, а каждый инструмент стоит контекста и внимания модели. Сообщество это уже прошло.
“Переборщил с 15 MCP-серверами, думая, что больше — лучше. В итоге пользуюсь только четырьмя каждый день.
Эти пять покрывают рабочий цикл: узнать, отладить, задокументировать. Остальное добавляй точечно под конкретную задачу, а не на всякий случай.
| Сервер | Что делает |
|---|---|
| Context7 | Тянет актуальные доки библиотек в контекст. Лечит галлюцинации API из устаревших данных обучения. Сообщество зовёт его лучшим MCP для кода. |
| Playwright | Автоматизация браузера: реализовать, протестировать и проверить UI самому. Скриншоты, навигация, формы. |
| Claude in Chrome | Подключение к твоему реальному Chrome: консоль, сеть, DOM. Видеть то, что видит пользователь. |
| DeepWiki | Структурная вики по любому GitHub-репо: архитектура, поверхность API, связи. |
| Excalidraw | Генерит архитектурные схемы и флоучарты в стиле рисунка от руки прямо из промпта. |
Context7 настолько полезен, что для документации библиотек его берут вместо веб-поиска: твои данные обучения могут не знать про свежие изменения API, а он подтягивает текущие доки. Если правишь незнакомую либу, начни с него.
Серверы бывают двух типов: stdio (харнесс запускает локальный процесс через npx, python или бинарь) и http (подключение к удалённому URL). Описываются в .mcp.json в корне репозитория.
{ "mcpServers": { "context7": { "command": "npx", "args": ["-y", "@upstash/context7-mcp"] }, "playwright": { "command": "npx", "args": ["-y", "@playwright/mcp"] }, "remote-api": { "type": "http", "url": "https://mcp.example.com/mcp?token=${MCP_API_TOKEN}" } } } # секрет ${MCP_API_TOKEN} подставляется из окружения — не коммить ключи в файл
Чужие серверы из .mcp.json по умолчанию спрашивают подтверждение. Управляется это настройками, а доступ к самим инструментам — обычными правилами разрешений из Главы 03 по схеме mcp__сервер__тул.
"enabledMcpjsonServers": ["context7", "playwright"], # аллоулист серверов "permissions": { "allow": [ "mcp__context7__*", "mcp__playwright__browser_snapshot" ], "deny": [ "mcp__dangerous-server__*" ] }
MCP-серверы определяются на трёх уровнях, как и почти всё в Главе 03. Более узкий уровень перебивает более широкий.
| Скоуп | Где | Зачем |
|---|---|---|
| Проект | .mcp.json в корне | Командные серверы, в git. |
| Пользователь | ~/.claude.json | Личные серверы во всех проектах. |
| Субагент | frontmatter, поле mcpServers | Серверы под конкретного агента. |
По умолчанию определения MCP-инструментов отложены: они грузятся в контекст по требованию через поиск инструментов, а не все сразу. Поставишь alwaysLoad: true — инструменты сервера грузятся на старте всегда, и каждый из них съедает место, которое могло бы пойти на разговор. Бери alwaysLoad только для того, что нужно буквально каждый ход. Это и есть техническая причина правила «15 серверов вредят»: дело не в числе серверов, а в том, сколько инструментов висит в окне.
Приятная мелочь: .mcp.json перечитывается на лету. Действие «Reconnect» в /mcp заново читает файл с диска, так что добавить или поправить сервер можно без перезапуска сессии.