Claude Code: как сэкономить токены на MCP с Tool Search

MCP-серверы съедают десятки тысяч токенов контекста в Claude Code. Tool Search загружает инструменты по запросу и экономит до 85% — разбираем настройку.

Claude Code: как сэкономить токены на MCP с Tool Search
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 Tool — сравнение с обычным подходом

Как включить 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 сам ищет нужный инструмент, когда ему потребуется. Тебе ничего делать не нужно — процесс полностью прозрачный.

Один из разработчиков проанализировал 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 токенов). Они загружаются только когда реально нужны.

Обнови 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% контекстного окна.

Что ещё почитать