Claude Code: как сэкономить токены на MCP с Tool Search
MCP-серверы съедают десятки тысяч токенов контекста в Claude Code. Tool Search загружает инструменты по запросу и экономит до 85% — разбираем настройку.
TL;DR: Если у тебя подключено несколько MCP-серверов к Claude Code, их определения могут съедать 30–60 тысяч токенов контекста ещё до начала работы. Tool Search — встроенная фича, которая подгружает инструменты по запросу вместо того, чтобы держать всё в памяти. Включается автоматически или вручную.
Почему MCP-серверы съедают контекст?
Каждый MCP-сервер отдаёт Claude список своих инструментов — с названиями, описаниями, параметрами и типами. Claude нужно знать про все эти тулзы, чтобы выбрать правильный. Вот только эти описания занимают место в контекстном окне.
Типичный набор из 5 серверов:
| Сервер | Инструменты | Токены |
|---|---|---|
| GitHub | 35 | ~26K |
| Slack | 11 | ~21K |
| Sentry | 5 | ~3K |
| Grafana | 5 | ~3K |
| Splunk | 2 | ~2K |
Итого: 58 инструментов, примерно 55 тысяч токенов. И это до того, как ты вообще что-то спросил. По данным Anthropic, в их внутренних тестах определения инструментов съедали до 134K токенов.
А ещё с ростом числа инструментов падает точность выбора. После 30–50 тулзов Claude начинает путать похожие, особенно если названия вроде notification-send-user и notification-send-channel.
Как Tool Search решает проблему?
Вместо загрузки всех определений сразу Claude Code держит только сам инструмент поиска. Когда нужен конкретный тул, модель ищет его по каталогу и подгружает только релевантные 3–5 штук.
Было: ~55K токенов на определения перед стартом. Стало: ~500 токенов на Tool Search + ~3K на найденные тулзы по запросу.
Anthropic заявляет снижение расхода токенов на 85%+. В их тестах точность выбора инструментов выросла с 49% до 74% на Opus 4, и с 79.5% до 88.1% на Opus 4.5. Вот это, пожалуй, даже важнее экономии токенов — Claude реже вызывает не тот инструмент.

Как включить Tool Search в Claude Code?
Автоматический режим
По умолчанию Claude Code сам определяет, когда MCP-инструменты занимают больше 10% контекстного окна. Если порог превышен — Tool Search включается автоматически, и инструменты подгружаются по запросу вместо предзагрузки.
Проверить, сколько токенов съедают твои MCP-серверы, можно командой:
/context
Увидишь что-то вроде:
MCP tools: 28.1k tokens (14.1%)
Если процент больше 10% и у тебя свежая версия Claude Code (2.1.14+), Tool Search должен включиться сам.
Принудительное включение
Если автоматический режим не срабатывает или хочешь включить Tool Search при любом количестве тулзов, есть два способа.
Через settings.json — самый удобный вариант. Добавь в конфиг:
{
"enable_tool_search": true
}
Файл можно положить в одно из трёх мест:
~/.claude/settings.json— глобально, для всех проектов.claude/settings.json— на уровне проекта (коммитится в git, шарится с командой).claude/settings.local.json— локальный оверрайд (gitignored, только для тебя)
Через переменную окружения — если хочешь включить на лету:
ENABLE_TOOL_SEARCH=true claude
Или добавь в .zshrc / .bashrc для постоянного эффекта:
export ENABLE_TOOL_SEARCH=true
После этого все MCP-инструменты будут загружаться отложенно. Claude увидит только Tool Search и будет искать нужные тулзы при необходимости.
Как это выглядит в работе
Когда Tool Search активен, в списке доступных инструментов появляется ToolSearch. Вместо полных определений всех MCP-тулзов ты видишь список отложенных инструментов:
Available deferred tools (must be loaded before use):
mcp__github__create_pull_request
mcp__slack__send_message
mcp__sentry__get_issue
...
Claude сам ищет нужный инструмент, когда ему потребуется. Тебе ничего делать не нужно — процесс полностью прозрачный.
Сколько токенов реально экономит Tool Search?
Один из разработчиков проанализировал 51 инструмент от Palantir MCP-сервера. Без Tool Search все определения занимали ~37 555 токенов. С отложенной загрузкой:
| Задача | С Tool Search | Без | Экономия |
|---|---|---|---|
| Поиск документации | ~150 | 37 555 | 99% |
| Поиск по онтологии | 2 800 | 37 555 | 93% |
| Построение датасетов | ~1 200 | 37 555 | 97% |
Самые тяжёлые инструменты — aggregate_ontology_objects (6 300 токенов) и create_foundry_rest_api_data_source_webhook (3 900 токенов). Они загружаются только когда реально нужны.
Как получить максимум от Tool Search?
Обнови Claude Code. Tool Search нормально работает начиная с версии 2.1.14. В ранних версиях были баги с автоматическим включением. Проверь версию через claude --version.
Проверяй /context регулярно. Если MCP-тулзы занимают больше 10% — Tool Search должен быть активен. Если нет, используй ENABLE_TOOL_SEARCH=true.
Хорошие описания инструментов помогают. Tool Search ищет по названиям и описаниям. Если у твоего MCP-сервера тулзы названы do_thing_1 и do_thing_2 — Claude будет путаться. Чем понятнее имена и описания, тем точнее поиск.
Не перегружай серверами. Tool Search снимает проблему раздувания контекста, но не отменяет здравый смысл. Если у тебя 15 MCP-серверов, возможно, часть из них не нужна в каждой сессии. Подключай только те, что реально используешь.
FAQ
Нужно ли что-то менять в .mcp.json? Нет, конфигурацию MCP-серверов трогать не нужно. Tool Search работает на уровне Claude Code и автоматически применяется ко всем подключённым серверам. Твой .mcp.json с описаниями серверов остаётся как есть, ничего переписывать не придётся.
Какие модели поддерживают Tool Search? По данным документации Anthropic, Tool Search работает с Sonnet 4.0 и выше, Opus 4.0 и выше. Haiku пока не поддерживается. Максимальный каталог — до 10 000 инструментов, что хватит для любого разумного количества MCP-серверов.
Tool Search замедляет работу? Перед вызовом инструмента добавляется шаг поиска, но на практике задержка незаметна. Зато экономия контекста позволяет Claude вести более длинные сессии без деградации качества. В итоге общее время работы скорее сокращается, потому что модель реже ошибается с выбором тула.
Это платная фича? Отдельной платы нет, Tool Search входит в стандартную подписку Claude Code. Более того, ты экономишь — меньше токенов расходуется на определения инструментов в каждом запросе, а значит общий расход на API снижается, особенно в длинных сессиях.
Я могу отключить Tool Search? Да, поставь "enable_tool_search": false в settings.json или убери переменную окружения ENABLE_TOOL_SEARCH. Без принудительного включения Tool Search активируется только автоматически — когда MCP-инструменты превышают порог в 10% контекстного окна.
Что ещё почитать
- MCP серверы для Claude — что это и как настроить — базовая настройка MCP для Claude Code
- Плагины Claude Code — как расширить возможности — другие способы добавить тулзы в Claude Code
- Память Claude Code — auto memory, rules и CLAUDE.md — ещё один способ оптимизировать работу с контекстом