Когда к Claude Code подключено слишком много MCP-серверов, ощущение обычно одно: сессия быстрее доходит до compaction, модель хуже выбирает инструмент, а после одного большого запроса к логам или базе теряет главный вопрос. Причина редко сводится к голому числу серверов. Контекст расходуют четыре разных вещи: определения инструментов, результаты вызовов, следы длинной сессии и слишком широкая поверхность выбора.
По состоянию на 23 мая 2026 года Claude Code документирует MCP-настройки, Tool Search и предупреждение для MCP-вывода больше 10 000 tokens. Tool Search полезен, потому что может отложить загрузку определений инструментов там, где это поддержано. Но он не делает бесплатными нерелевантные серверы, огромные ответы, старые ветки разговора или поведение прокси-провайдера, которое вы не проверяли в своей среде.
Начните не со списка популярных MCP, а с бюджета:
| Затрата | Как выглядит | Первое исправление |
|---|---|---|
| Определения | До первого внешнего вызова модель уже видит много названий, описаний и схем. | Проверьте Tool Search и отключите серверы без текущего владельца задачи. |
| Результаты | После вызова логов, таблицы, issue или базы сессия резко тяжелеет. | Возвращайте summary, фильтр, page, limit, cursor или handle. |
| Следы сессии | Старые ошибки, планы и неудачные ветки остаются в рабочей памяти. | Сведите текущее решение в короткое резюме или начните чистый поток. |
| Поверхность выбора | Несколько серверов дают похожие search, read, list, fetch. | Оставьте одного владельца workflow или разделите широкий сервер. |
Практический первый шаг: выполните /mcp, посмотрите активные серверы для этой задачи и пометьте каждый как keep, defer, disable, split или redesign. Если не хватает повторяемого метода, это работа для skill. Если нужен внешний доступ или действие, оставьте только MCP-сервер, который владеет этим workflow, и сжимайте то, что он возвращает.
Начните с бюджета контекста
MCP-сервер - это не просто строка в конфиге. Инструмент MCP имеет имя, описание, входную schema, иногда output schema и возвращаемый content. В зависимости от клиента и загрузки часть этих данных может попасть в видимый контекст еще до вызова инструмента. Поэтому набор подключенных серверов влияет на рабочую память даже до реальных запросов.
Но первая затрата не единственная. Один database MCP может перегрузить сессию сильнее, чем несколько тихих серверов, если он возвращает тысячи строк, полный trace или целые документы. И наоборот, несколько узких серверов с короткими описаниями и маленькими ответами могут быть нормальными, если у каждого есть понятный владелец задачи.

Диагностика должна идти по месту боли. Если Claude Code медлит еще до tool call, смотрите определения, дублирующиеся имена и список активных серверов. Если все ломается после одного вызова, смотрите размер output. Если качество падает после десяти попыток исправления, проблема может быть в следах сессии, а не в MCP как таковом.
| Симптом | Вероятная причина | Где смотреть |
|---|---|---|
| Медленно до внешнего вызова | definitions или decision surface | /mcp, claude mcp list, похожие имена инструментов |
| Нормально до одного вызова, потом шум | result load | размер логов, таблиц, файлов, trace, строк базы |
| Модель спорит со старыми решениями | session residue | старые ошибки, планы, выводы, незакрытые ветки |
| Выбирается не тот инструмент | decision surface | несколько серверов с одинаковыми read/search/list |
Этот подход важен потому, что простое удаление всего - плохая долгосрочная стратегия. Вам нужен компактный активный набор, а не пустая среда. Сервер должен оставаться активным только тогда, когда он действительно владеет текущим workflow.
Tool Search помогает, но не сжимает ответы
Современный нюанс Claude Code - Tool Search. Он меняет старый совет о том, что каждый MCP всегда полностью грузит schema в контекст. На поддерживаемом пути Tool Search может откладывать discovery и загрузку tool definitions до момента, когда они понадобятся.
Но это только одна часть бюджета. Как только Claude вызывает инструмент, результат вызова все равно становится частью разговора. Большая таблица, полный лог, HTML-снимок, список файлов или raw API payload будут занимать окно независимо от того, были ли определения загружены заранее.

Держите три границы отдельно:
| Граница | Что может Tool Search | Что он не исправляет |
|---|---|---|
| Определения | Отложить загрузку tool schema и описаний на поддержанном пути. | Плохие имена, длинные описания, похожие владельцы workflow. |
| Результаты | Сам по себе ничего. | Большие логи, таблицы, trace, файлы, raw payload. |
| История сессии | Сам по себе ничего. | Долгий диалог, повторы, старые ошибки, незакрытые решения. |
Если вы используете ANTHROPIC_BASE_URL, совместимый gateway, альтернативный provider или custom model path, проверяйте поведение внутри своей среды. После проверки Tool Search сделайте один настоящий workflow. Если боль осталась до вызова инструмента, чистите определения и активные серверы. Если боль появляется после вызова, переходите к output compression.
Keep, defer, disable, split, redesign
Хороший список MCP не обязан быть минимальным, но он должен быть объяснимым. Каждый активный сервер должен отвечать на фразу: "В этой задаче этот сервер владеет ____". Если вместо ответа получается "вдруг пригодится", сервер не должен висеть в основной сессии.
| Решение | Когда применять | Пример |
|---|---|---|
| Keep | Сервер нужен прямо сейчас и не заменяется локальными файлами, memory или skill. | GitHub MCP во время PR review, docs MCP при миграции framework. |
| Defer | Нужен позже, но не на текущем этапе. | Browser QA включить после UI-правки, а не во время чтения backend-кода. |
| Disable | Не помогает текущему workflow или дублирует другой сервер. | Два docs-сервера отвечают на один и тот же library вопрос. |
| Split | Один custom server смешивает unrelated read, write, deploy, metrics. | Разделить read-only search и write/deploy actions. |
| Redesign | Сервер ваш, а инструмент возвращает слишком много или слишком неопределенно. | Заменить dump_database на search_errors(service, time_range, limit). |
В Claude Code используйте /mcp для текущей сессии. В терминале используйте claude mcp list, claude mcp get и claude mcp remove, когда нужно пройтись по конфигу. Но цель не в том, чтобы хвастаться числом отключенных серверов. Цель - оставить список, где у каждого active item есть понятная работа.
Если вы еще выбираете первые интеграции, читайте англоязычный каталог Best Claude Code MCP Servers. Эта статья про другой момент: setup уже вырос, и теперь его нужно вернуть в рабочий размер.
Сжимайте output до входа в разговор
После Tool Search часто выясняется, что главный вред делает не количество серверов, а один объемный ответ. Playwright snapshot, список GitHub issues, выгрузка логов, таблица базы или полный файл могут съесть больше контекста, чем несколько тихих серверов вместе.
Предупреждение Claude Code о 10 000 tokens и MAX_MCP_OUTPUT_TOKENS стоит воспринимать как guardrail. Цель не в том, чтобы ответ едва помещался под лимит. Цель в том, чтобы Claude получил самый маленький ответ, который все еще помогает принять следующее решение.
| Правило | Плохая форма | Лучшая форма |
|---|---|---|
| Summary first | весь log stream | counts, anomalies, three examples |
| Filter at source | все rows | rows by service, time range, status, owner |
| Paginate | один giant response | initial batch plus next_cursor |
| Default cap | unlimited matches | limit 20 with explicit override |
| Return handles | полный file или dataset | file path, object id, job id, stored result |
| Preview before raw | raw payload сразу | compact preview, raw only on request |
Пользователь тоже влияет на форму. Вместо "прочитай базу" спросите: "top 20 errors за 24 часа, сгруппируй по service, дай count и один sample trace". Вместо "покажи logs" спросите: "только failed deployment logs после timestamp X, без health checks". Узкий вопрос не только экономит tokens; он заставляет tool выбрать полезную форму ответа.
Проектируйте компактные MCP-серверы
Если MCP-сервер ваш, лучшее исправление - не переключатель, а форма tools. Компактный сервер дает модели меньше, но точнее: короткие названия, короткие descriptions, один owner на tool, безопасные defaults, summary by default и отдельный путь к raw detail.

Проверьте сервер по этому списку:
- Один tool - одна работа. Не смешивайте issues, logs, metrics, files и deployments в одном вызове.
- Называйте результат, а не внутреннюю реализацию. search_recent_errors лучше, чем query_system.
- Description должен помогать выбрать tool, а не документировать весь backend.
- Используйте mode: summary/detail/export вместо трех почти одинаковых tools.
- Summary должен быть default. Raw output - только через явный параметр.
- Для больших данных обязательны filter, limit, pagination или cursor.
- Для тяжелого payload возвращайте path, id или handle.
- Разделяйте read-only exploration и write/destructive actions.
Плохой tool - get_everything_from_database(), который возвращает rows, logs, traces и metadata. Хороший tool - search_errors(service, time_range, limit), который возвращает summary, top rows и next_cursor. Второй не просто меньше. Он дает Claude структуру для следующего шага.
Выносите шум из main thread
Иногда правильный ответ - не меньше MCP вообще, а меньше MCP в основном потоке. Subagents в Claude Code полезны, когда нужно исследовать шумные данные: отдельный agent с узким набором tools может прочитать логи, проверить branch hypothesis и вернуть summary, а main thread останется местом решения.
Но subagent помогает только при аккуратном scope. Если он наследует все tools, то не становится границей сжатия. Дайте ему только нужные server/tools и попросите вернуть findings, counts, paths, risks и next actions, а не raw dump.
Skills решают другой класс задач. Если вам нужен повторяемый метод, checklist, reference bundle или последовательность scripts, это skill. Если нужен внешний доступ или action surface, это MCP. Если нужно и то и другое, проектируйте вместе: MCP дает reach, skill задает operating method. Для durable rules лучше использовать memory, а не надеяться, что длинный transcript всегда останется чистым.
20-минутная чистка MCP
Когда Claude Code начинает преждевременно compact, ошибается с tools или замедляется после расширения setup, сделайте короткий проход:
- Выполните /mcp и выпишите активные серверы.
- Для каждого поставьте keep, defer, disable, split или redesign.
- Отключите все без current workflow owner.
- Запустите ту же маленькую задачу и посмотрите, где появляется боль.
- До tool call - проверяйте definitions, names, descriptions, Tool Search support.
- После tool call - проверяйте output size и форму возвращаемых данных.
- После многих попыток - подведите summary и начните чистую сессию.
- Если не хватает метода, пишите skill, а не добавляйте еще один server.
Хорошая метрика - не общее число configured servers. Важны число активных выборов в текущей задаче и размер данных, которые tool calls возвращают в разговор. Самый полезный MCP setup часто выглядит скучно: мало активных owners, маленькие outputs, понятные boundaries.
FAQ
Tool Search полностью решает перегрузку MCP-контекста?
Нет. Он помогает с upfront tool definitions на поддержанном пути. Он не сжимает tool results, не убирает старые turns, не чинит широкие custom tools и не делает лишние серверы полезными.
Сколько MCP-серверов включать в Claude Code?
Универсального числа нет. Включайте серверы, которые владеют текущим workflow. Один шумный database MCP может быть хуже пяти узких серверов, если он возвращает огромные dumps.
Что делать с огромным MCP output?
Сжимать в источнике: summary, filters, pagination, limits, cursors, paths, ids и handles. Raw data должен быть отдельным запросом, а не default.
Когда skill лучше MCP?
Skill лучше, когда проблема - метод. MCP нужен, когда Claude должен достать внешние данные или выполнить действие. Если нужны оба слоя, разделите роли: MCP для доступа, skill для способа работы.
Как проектировать компактный MCP server?
Меньше tools, более ясные names, короткие descriptions, bounded output, filters, limits, cursors, summary first и read/write separation. Не заставляйте Claude читать всю систему, чтобы ответить на один вопрос.
Полностью отключить MCP - самый безопасный путь?
Полное отключение полезно как диагностика. Долгосрочно лучше компактный active set: оставить нужный доступ, отложить все остальное и переделать tools, которые возвращают слишком много.
Перегрузка Claude Code MCP контекстом исправляется, когда вы перестаете считать интеграции и начинаете считать рабочую память. Оставляйте только владельцев текущего workflow, сжимайте результаты до входа в conversation, переносите методы в skills, а шумные исследования - в узкие контексты. Это не делает setup беднее; это делает его пригодным для рассуждения.
