Vyhľadávanie nástrojov v Claude Code: ako agent nájde potrebný nástroj MCP
MarkdownAko funguje vyhľadávanie nástrojov v Claude Code: čo sa načíta do kontextu okamžite, kedy sa mechanizmus sám vypne a ako nakonfigurovať ENABLE_TOOL_SEARCH a alwaysLoad.
Prečítať celý článok
Ak ste v Claude Code pripojili niekoľko serverov MCP, vyhľadávanie nástrojov mu umožňuje načítať potrebné nástroje až vtedy, keď ich potrebuje, bez toho, aby sa vopred načítali všetky ich definície. Pri spustení agent dostane názvy nástrojov s odloženým načítaním a pokyny serverov, potom vyhľadá v katalógu to, čo potrebuje. Pomáha mu to pracovať s veľkou sadou nástrojov: dokumentácia spoločnosti Anthropic uvádza, že presnosť výberu klesá, keď sa naraz načíta viac ako 30-50 nástrojov. Ide o všeobecné odporúčanie, nie o meranie vašej relácie. Vyhľadávanie nástrojov je predvolene zapnuté, ak ho model podporuje, no platforma, proxy alebo nastavenia ho môžu vypnúť.
Dokumentácia Ailoot: API, kľúče a nastavenie.
Čo sa deje s kontextom bez vyhľadávania nástrojov
Každý pripojený server MCP pridáva svoje nástroje do zoznamu toho, čo môže agent zavolať. Bez vyhľadávania nástrojov sa ich definície — názov, opis a schéma parametrov — načítajú do kontextu vopred. Servery sa pripájajú na pozadí pri spustení relácie. Ak je potrebný nástroj zo servera, ktorý ešte nedokončil pripájanie, Claude Code čaká prostredníctvom interného nástroja WaitForMcpServers. Môžete samostatne pre každé pripojenie posúdiť, koľko nástrojov a tokenov konkrétny server pridáva.
Oficiálna dokumentácia spoločnosti Anthropic uvádza dva približné údaje (všeobecné čísla bez uvedenej metódy merania):
- 50 nástrojov môže zabrať 10-20 tisíc tokenov kontextu;
- presnosť výberu správneho nástroja klesá, keď sa naraz načíta viac ako 30-50 nástrojov.
Ako posúdiť vyhľadávanie nástrojov podľa nastavení
Ak chcete zistiť, či má vyhľadávanie nástrojov v aktuálnej relácii fungovať, skontrolujte tieto podmienky:
- ktorý model odpovedá — Sonnet/Haiku/Opus 4.5 alebo novší: mechanizmus je dostupný; starší model: dostupný nie je;
- či je
ANTHROPIC_BASE_URLnastavené na neštandardný hostiteľ — v takom prípade je mechanizmus predvolene vypnutý, pokiaľ ho výslovne nezapnete prostredníctvomENABLE_TOOL_SEARCH; - hodnotu premennej
ENABLE_TOOL_SEARCH—falsemechanizmus úplne vypne;auto/auto:Nho zapne, len keď objem definícií dosiahne určitý prah; - či je nastavené
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS— bez spravovaných nastavení organizácie ponechá vyhľadávanie nástrojov vypnuté, aj keď používateľ nastavilENABLE_TOOL_SEARCH; - či je nástroj
ToolSearchzablokovaný prostredníctvompermissions.denyv nastaveniach — takéto obmedzenie vypne vyhľadávanie; - ktorá platforma sa používa — mechanizmus nie je dostupný pri nasadeniach Microsoft Foundry v Azure, zatiaľ čo na Google Cloud Agent Platform jeho správanie závisí od verzie Claude Code a modelu.
Táto kontrola vám umožní posúdiť stav podľa konfigurácie, nie však pozorovať ho priamo v relácii. Sekcia MCP ani sekcia o vyhľadávaní nástrojov v dokumentácii Agent SDK neuvádzajú priamy indikátor „vyhľadávanie nástrojov: zapnuté/vypnuté“ v rozhraní. To, že sa o takom indikátore tieto dva dokumenty nezmieňujú, nedokazuje, že nikde neexistuje.
Premennú môžete nastaviť pred spustením relácie, napríklad ENABLE_TOOL_SEARCH=auto:15 claude. Ak chcete zabezpečiť, aby sa nástroje konkrétneho servera načítali vždy, použite v konfigurácii servera pole alwaysLoad: true. Je dostupné pre všetky typy serverov; podmienky a obmedzenia sú opísané nižšie v sekcii alwaysLoad.
Ako funguje vyhľadávanie nástrojov
Keď je vyhľadávanie nástrojov zapnuté, pri spustení relácie sa do kontextu načítajú iba názvy nástrojov s odloženým načítaním a pokyny servera. Pokyny servera opisujú, pri ktorých úlohách je server užitočný. Keď si úloha vyžaduje schopnosť, ktorá ešte nie je v kontexte, agent sám vyhľadá v katalógu vhodný nástroj.
Dokumentácia Agent SDK opisuje mechanizmus vyhľadávania podrobnejšie: jedno vyhľadávanie predvolene načíta až päť najrelevantnejších nástrojov z katalógu. Zostanú dostupné v ďalších kolách relácie, kým SDK neskomprimuje správy, v ktorých ich agent našiel. Po kompakcii môžu predtým objavené nástroje z kontextu vypadnúť a agent ich pri ďalšej potrebe znova vyhľadá. Katalóg podporuje až 10 000 nástrojov. Dokumentácia MCP pre samotný Claude Code tieto konkrétne údaje neuvádza, opisuje však rovnaký princíp odloženého načítania.
Podľa dokumentácie Agent SDK každé vyhľadávanie pridáva jedno ďalšie kolo komunikácie. Dokumentácia presne neuvádza, čo toto kolo zahŕňa. Dokumentácia MCP pre Claude Code opisuje aj rozdiel v hlásení chýb: bez vyhľadávania nástrojov Claude Code modelu neoznámi neúspešné pripojenia serverov. Keď je vyhľadávanie zapnuté, model dostane informáciu o tom, ktorý server sa nepodarilo pripojiť a aká chyba nastala.
Claude Code nestanovuje pevný limit počtu nástrojov z jedného servera. Praktickým limitom je rozpočet kontextového okna pre konkrétnu reláciu.
Konfigurácia nástrojov je jednou z úloh pri správe kontextu AI agenta.
Kedy je vyhľadávanie nástrojov predvolene vypnuté
Mechanizmus je predvolene zapnutý, jeho fungovanie však závisí od modelu, hostiteľa API a platformy.
Model. Vyhľadávanie nástrojov vyžaduje model, ktorý podporuje bloky tool_reference: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5 alebo novší. Pri starších modeloch Claude Code načíta definície nástrojov vopred.
Hostiteľ API. Claude Code vypne vyhľadávanie nástrojov, keď premenná ANTHROPIC_BASE_URL smeruje na hostiteľa tretej strany: väčšina proxy neprepúšťa špeciálne bloky tool_reference. Platí to pri pripájaní ku Claude cez vlastnú bránu alebo proxy server namiesto priameho pripojenia cez adresu spoločnosti Anthropic. Dôvodom vypnutia je neštandardné ANTHROPIC_BASE_URL; spôsob platby za predplatné to sám osebe nespôsobuje. Toto správanie môžete prepísať výslovným nastavením ENABLE_TOOL_SEARCH. Ak samotná proxy nepodporuje bloky tool_reference, vynútené zapnutie mechanizmu spôsobí chybu požiadavky. V takom prípade sa definície nenačítajú vopred ako náhradné riešenie.
Platforma nasadenia. Vyhľadávanie nástrojov nefunguje pri nasadeniach Microsoft Foundry hostovaných v Azure: server požiadavku odmietne a ENABLE_TOOL_SEARCH toto správanie neprepíše. Na Google Cloud Agent Platform bol pred verziou Claude Code 2.1.221 mechanizmus vypnutý pre všetky modely, pokiaľ nebolo výslovne nastavené ENABLE_TOOL_SEARCH=true. Od tejto verzie je predvolene zapnutý pre modely Opus/Sonnet/Haiku 4.5 a novšie. Pri starších modeloch na tejto platforme Claude Code stále načítava všetky nástroje vopred, pretože ich serverová infraštruktúra odmieta požadovanú internú hlavičku.
Premenná ENABLE_TOOL_SEARCH má päť možných nastavení:
- unset — štandardné správanie s výnimkami uvedenými vyššie;
true— mechanizmus sa zapne na modeloch, ktoré ho podporujú, okrem dvoch prípadov: Azure Foundry a staršie modely Agent Platform; požiadavky odoslané cez proxy bez podpory blokov tool_reference zlyhajú;auto— Claude Code načítava nástroje vopred, kým ich súhrnné definície zaberajú menej než 10% kontextového okna, a po dosiahnutí tohto prahu prejde na odložené načítanie;auto:N— rovnaký princíp s percentuálnym prahom zadaným manuálne;false— mechanizmus je úplne vypnutý a všetky nástroje sa načítajú vopred.
Existuje aj premenná CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: ak je nastavená, vyhľadávanie nástrojov zostane vypnuté a používateľské nastavenie ENABLE_TOOL_SEARCH to nezmení. Výnimkou je prípad, keď organizácia ponechá vyhľadávanie nástrojov zapnuté prostredníctvom spravovaných nastavení dostupných od verzie Claude Code 2.1.227.
Čo robí alwaysLoad a ako ovplyvňuje kontext a spustenie
Pole alwaysLoad: true v konfigurácii servera je dostupné pre všetky typy serverov. Vďaka nemu sa pri spustení načítajú do kontextu všetky nástroje daného servera bez ohľadu na nastavenie ENABLE_TOOL_SEARCH. Agent ich pred použitím nemusí vyhľadávať.
Načítavanie nástrojov vopred má dva dôsledky. Každý vopred načítaný nástroj zaberá časť kontextu, ktorá by inak bola dostupná pre samotnú úlohu. Spustenie relácie navyše čaká na pripojenie tohto servera v rámci štandardného päťsekundového časového limitu.
Výnimkou je vzdialený server s platnou položkou vo vyrovnávacej pamäti: poskytne nástroje z vyrovnávacej pamäte bez pripojenia a nespomalí spustenie. Vyrovnávacia pamäť zisťovania je predvolene vypnutá, pokiaľ už nebola pre účet aktivovaná počas postupného zavádzania tejto funkcie. Môžete ju tiež výslovne zapnúť prostredníctvom MCP_DISCOVERY_CACHE=1. Výnimka pre rýchle spustenie platí, keď je vyrovnávacia pamäť aktívna a obsahuje platnú položku. Nástroje s alwaysLoad naďalej trvalo zaberajú miesto v kontexte bez ohľadu na to, či by ich agent pri práci cez vyhľadávanie potreboval.
Pre každého, kto píše vlastný server MCP: pokyny servera pomáhajú Claude pochopiť, kedy má vyhľadať jeho nástroje, podobne ako Skills. Claude Code predvolene skracuje opis každého nástroja a pokyny každého servera na 2048 znakov, preto umiestnite kľúčové podrobnosti na začiatok.
Výber spôsobu rozšírenia Claude Code závisí od viac než len počtu pripojených serverov MCP. Sprievodcovia Claude Code: koľko rozšírení ponechať naraz a Čo si vybrať v Claude Code: Skills, Subagents, MCP alebo Plugins rozoberajú Skills, Subagents, MCP a Plugins pre rôzne úlohy. Podrobný postup nastavenia konkrétnych serverov MCP nájdete v článku Servery MCP pre Claude Code: hotové kombinácie.
Čo ďalej
Pri sade s menej než približne 10 nástrojmi, ktorých definície sa bez problémov zmestia do kontextu, dokumentácia Agent SDK uvádza, že zvyčajne je rýchlejšie načítať ich všetky naraz. V predvolenom správaní Claude Code je však vyhľadávanie nástrojov zapnuté, keď premenná nie je nastavená a neplatí žiadne z vyššie uvedených obmedzení; načítanie nástrojov MCP sa odloží až do vyhľadávania, s výnimkou serverov s alwaysLoad.
V tomto prípade môžete výslovne nastaviť ENABLE_TOOL_SEARCH=auto: definície sa budú načítavať vopred, kým ich súhrnný objem nedosiahne 10% kontextového okna, a po dosiahnutí prahu sa zapne vyhľadávanie. Ďalšou možnosťou je ENABLE_TOOL_SEARCH=false, ak viete, že sa sada nebude rozširovať. V takom prípade Claude Code prestane model informovať o neúspešných pripojeniach serverov, ako je opísané vyššie.
V ostatných prípadoch pri zmene prostredia znova skontrolujte prevádzkové podmienky:
- ak relácia používa starší model, prejdite na Sonnet/Haiku/Opus 4.5 alebo novší;
- ak pripojenie používa neštandardné
ANTHROPIC_BASE_URL, výslovne nastavteENABLE_TOOL_SEARCH=truelen vtedy, keď proxy prepúšťa samotné bloky tool_reference; - uistite sa, že platforma nasadenia nepatrí medzi výnimky: Azure Foundry alebo staršie modely Google Cloud Agent Platform.
Ak sú podmienky splnené a nastavenia neblokujú vyhľadávanie, môžete pripojiť potrebné servery MCP. alwaysLoad používajte len pri serveroch, ktorých nástroje potrebujete v každom kole relácie; ostatné nechajte načítavať cez vyhľadávanie.
Zdroje
Ak potrebujete prístup k modelom AI cez Ailoot, pozrite sa na Ailoot.
Viac podrobností
Otázky a odpovede: Vyhľadávanie nástrojov v Claude Code: ako agent nájde potrebný nástroj MCP
Prečo môže vyhľadávanie nástrojov zlyhať za proxy, aj keď je zapnuté?
Hostiteľ API tretej strany musí podporovať bloky tool_reference. Vynútené ENABLE_TOOL_SEARCH túto podporu nepridá; nekompatibilné proxy môže požiadavku odmietnuť namiesto návratu k načítaniu všetkých nástrojov.
Kedy nastaviť alwaysLoad pre server MCP?
Keď sú jeho nástroje potrebné v každom kole. Všetky definície potom zaberajú kontext pri štarte a spustenie môže čakať na pripojenie, ak neplatí použiteľný záznam discovery cache.