Blog

Iskanje orodij v Claude Code: kako agent najde potrebno orodje MCP

Markdown

Kako deluje iskanje orodij v Claude Code: kaj se takoj naloži v kontekst, kdaj se mehanizem sam izklopi in kako konfigurirati ENABLE_TOOL_SEARCH in alwaysLoad.

Preberi celoten članek

Če ste v Claude Code povezali več strežnikov MCP, mu iskanje orodij omogoča, da po potrebi naloži orodja, ki jih potrebuje, ne da bi vnaprej naložil vse definicije. Ob zagonu agent prejme imena odloženih orodij in navodila strežnikov, nato pa v katalogu poišče, kar potrebuje. To mu pomaga pri delu z velikim naborom orodij: Anthropicova dokumentacija navaja, da se natančnost izbire zmanjša, ko je hkrati naloženih več kot 30-50 orodij. To je splošna usmeritev, ne meritev vaše seje. Iskanje orodij je privzeto omogočeno, kadar ga model podpira, vendar ga lahko onemogočijo platforma, posredniški strežnik ali nastavitve.

Dokumentacija Ailoot: API, ključi in nastavitev.

Kaj se zgodi s kontekstom brez iskanja orodij

Vsak povezan strežnik MCP doda svoja orodja na seznam stvari, ki jih agent lahko pokliče. Brez iskanja orodij se njihove definicije — ime, opis in shema parametrov — vnaprej naložijo v kontekst. Strežniki se povežejo v ozadju, ko se seja začne. Če je potrebno orodje s strežnika, ki se še ni povezal, Claude Code počaka z uporabo notranjega orodja WaitForMcpServers. Ločeno lahko ocenite, koliko orodij in žetonov določen strežnik doda pri vsaki povezavi.

Uradna Anthropicova dokumentacija navaja dve približni vrednosti (splošni številki brez navedene merilne metode):

  • 50 orodij lahko porabi 10-20 tisoč kontekstnih žetonov;
  • natančnost izbire pravega orodja se zmanjša, ko je hkrati naloženih več kot 30-50 orodij.

Kako oceniti iskanje orodij na podlagi nastavitev

Če želite ugotoviti, ali naj bi iskanje orodij delovalo v trenutni seji, preverite naslednje pogoje:

  • kateri model odgovarja — Sonnet/Haiku/Opus 4.5 ali novejši: mehanizem je na voljo; starejši model: ni na voljo;
  • ali je ANTHROPIC_BASE_URL nastavljen na nestandardni gostitelj — v tem primeru je mehanizem privzeto izklopljen, razen če ga izrecno omogočite prek ENABLE_TOOL_SEARCH;
  • vrednost spremenljivke ENABLE_TOOL_SEARCH — false mehanizem povsem onemogoči; auto/auto:N ga omogoči samo, ko obseg definicij doseže prag;
  • ali je nastavljena spremenljivka CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS — brez upravljanih nastavitev organizacije ohrani iskanje orodij izklopljeno, tudi če je uporabnik nastavil ENABLE_TOOL_SEARCH;
  • ali je orodje ToolSearch blokirano prek permissions.deny v nastavitvah — takšna omejitev onemogoči iskanje;
  • katera platforma je v uporabi — mehanizem ni na voljo pri uvedbah Microsoft Foundry v Azure, medtem ko je njegovo delovanje na Google Cloud Agent Platform odvisno od različice in modela Claude Code.

S tem preverjanjem lahko stanje ocenite na podlagi konfiguracije, ne morete pa ga opazovati znotraj seje. Razdelek MCP in razdelek o iskanju orodij v dokumentaciji Agent SDK ne opisujeta neposrednega indikatorja »iskanje orodij: vklopljeno/izklopljeno« v vmesniku. To, da v teh dveh dokumentih ni omembe takšnega indikatorja, ne dokazuje, da ga ni nikjer.

Spremenljivko lahko nastavite pred začetkom seje, na primer ENABLE_TOOL_SEARCH=auto:15 claude. Če želite zagotoviti, da so orodja določenega strežnika vedno naložena, v konfiguraciji tega strežnika uporabite polje alwaysLoad: true. Na voljo je za vse vrste strežnikov; pogoji in omejitve so opisani v spodnjem razdelku alwaysLoad.

Kako deluje iskanje orodij

Ko je iskanje orodij omogočeno, se ob začetku seje v kontekst naložijo samo imena odloženih orodij in navodila strežnika. Navodila strežnika opisujejo, pri katerih nalogah je strežnik uporaben. Ko naloga zahteva zmožnost, ki je še ni v kontekstu, agent sam poišče ustrezno orodje v katalogu.

Dokumentacija Agent SDK podrobneje opisuje mehanizem iskanja: privzeto eno iskanje iz kataloga naloži do pet najprimernejših orodij. Ta ostanejo na voljo v naslednjih potezah seje, dokler SDK ne strne sporočil, v katerih jih je agent našel. Po strnitvi lahko prej odkrita orodja izginejo iz konteksta, agent pa jih ob naslednji potrebi znova poišče. Katalog podpira do 10 000 orodij. Dokumentacija MCP za sam Claude Code teh konkretnih številk ne navaja, opisuje pa isto načelo odloženega nalaganja.

Dokumentacija Agent SDK navaja, da vsako iskanje doda en dodaten povratni krog. Ne določa natančno, kaj ta povratni krog vključuje. Za Claude Code dokumentacija MCP opisuje tudi razliko pri poročanju o napakah: brez iskanja orodij Claude Code modela ne obvesti o neuspelih povezavah s strežniki. Ko je iskanje omogočeno, model prejme informacijo o tem, kateri strežnik se ni povezal in kakšna je bila napaka.

Claude Code ne določa fiksne omejitve števila orodij z enega strežnika. Praktično omejitev predstavlja proračun kontekstnega okna za posamezno sejo.

Konfiguriranje orodij je ena od nalog pri upravljanju konteksta agenta AI.

Kdaj je iskanje orodij privzeto onemogočeno

Mehanizem je privzeto omogočen, vendar je njegovo delovanje odvisno od modela, gostitelja API in platforme.

Model. Iskanje orodij zahteva model, ki podpira bloke tool_reference: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5 ali novejši. Pri starejših modelih Claude Code vnaprej naloži definicije orodij.

Gostitelj API. Claude Code onemogoči iskanje orodij, ko spremenljivka ANTHROPIC_BASE_URL kaže na gostitelja tretje osebe: večina posredniških strežnikov ne posreduje posebnih blokov tool_reference. To velja, kadar se s Claude povežete prek lastnega prehoda ali posredniškega strežnika, namesto neposredno prek Anthropicovega naslova. Razlog za onemogočenje je nestandardni ANTHROPIC_BASE_URL; način plačila naročnine tega sam po sebi ne povzroči. To vedenje lahko preglasite tako, da izrecno nastavite ENABLE_TOOL_SEARCH. Če sam posredniški strežnik ne podpira blokov tool_reference, prisilni vklop mehanizma povzroči napako zahteve. V tem primeru se sistem ne bo vrnil k vnaprejšnjemu nalaganju definicij.

Platforma uvedbe. Iskanje orodij ne deluje pri uvedbah Microsoft Foundry, gostovanih v Azure: strežnik zavrne zahtevo, ENABLE_TOOL_SEARCH pa tega ne preglasi. Na Google Cloud Agent Platform je bil mehanizem pred različico Claude Code 2.1.221 izklopljen za vse modele, razen če je bil izrecno nastavljen ENABLE_TOOL_SEARCH=true. Od te različice naprej je privzeto omogočen za Opus/Sonnet/Haiku 4.5 in novejše modele. Pri starejših modelih na tej platformi Claude Code še vedno vnaprej naloži vsa orodja, saj strežniška infrastruktura zavrne zahtevano notranjo glavo.

Spremenljivka ENABLE_TOOL_SEARCH ima pet možnih nastavitev:

  • ni nastavljena — standardno vedenje z zgoraj navedenimi izjemami;
  • true — mehanizem je omogočen pri modelih, ki ga podpirajo, razen v dveh primerih: Azure Foundry in starejši modeli Agent Platform; zahteve, poslane prek posredniškega strežnika, ki ne podpira blokov tool_reference, ne bodo uspele;
  • auto — Claude Code vnaprej nalaga orodja, dokler njihove skupne definicije zasedajo manj kot 10% kontekstnega okna, nato pa po doseženem pragu preklopi na odloženo nalaganje;
  • auto:N — enako načelo, vendar z ročno določenim odstotnim pragom;
  • false — mehanizem je povsem onemogočen in vsa orodja so naložena vnaprej.

Obstaja tudi spremenljivka CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: če je nastavljena, ostane iskanje orodij izklopljeno, uporabnikova nastavitev ENABLE_TOOL_SEARCH pa tega ne spremeni. Izjema je primer, ko organizacija ohrani iskanje orodij omogočeno z upravljanimi nastavitvami, ki so na voljo od različice Claude Code 2.1.227 naprej.

Kaj počne alwaysLoad in kako vpliva na kontekst ter zagon

Polje alwaysLoad: true v konfiguraciji strežnika je na voljo za vse vrste strežnikov. Z njim se vsa orodja tega strežnika ob zagonu naložijo v kontekst ne glede na nastavitev ENABLE_TOOL_SEARCH. Agentu jih pred uporabo ni treba iskati.

Nenehno nalaganje orodij ima dve posledici. Vsako vnaprej naloženo orodje zasede del konteksta, ki bi bil sicer na voljo za samo nalogo. Poleg tega seja ob zagonu čaka, da se ta strežnik poveže, v okviru standardne petsekundne časovne omejitve.

Izjema je oddaljeni strežnik z veljavnim predpomnjenim vnosom: orodja posreduje iz predpomnilnika brez povezovanja in ne zadrži zagona. Predpomnilnik odkrivanja je privzeto izklopljen, razen če je bil za račun že omogočen med postopnim uvajanjem funkcije. Izrecno ga lahko omogočite tudi z MCP_DISCOVERY_CACHE=1. Izjema za hiter zagon velja, ko je predpomnilnik aktiven in vsebuje veljaven vnos. Orodja z nastavitvijo alwaysLoad še vedno trajno zasedajo kontekst, ne glede na to, ali bi jih agent pri delu z iskanjem potreboval.

Če pišete lasten strežnik MCP: navodila strežnika Claudeu pomagajo razumeti, kdaj naj poišče njegova orodja, podobno kot Skills. Claude Code privzeto skrajša opis vsakega orodja in navodila vsakega strežnika na 2048 znakov, zato ključne podrobnosti postavite na začetek.

Izbira načina razširitve Claude Code je odvisna od več kot le števila povezanih strežnikov MCP. Vodnika Claude Code: koliko razširitev obdržati hkrati in Kaj izbrati v Claude Code: Skills, Subagents, MCP ali Plugins obravnavata Skills, Subagents, MCP in Plugins za različne naloge. Navodila za postopno nastavitev posameznih strežnikov MCP najdete v Strežniki MCP za Claude Code: pripravljene kombinacije.

Kaj sledi

Za nabor z manj kot približno 10 orodji, katerih definicije brez težav sodijo v kontekst, dokumentacija Agent SDK navaja, da je običajno hitreje naložiti vsa orodja hkrati. Vendar je pri privzetem delovanju Claude Code, kadar spremenljivka ni nastavljena in ne velja nobena od zgornjih omejitev, iskanje orodij omogočeno, nalaganje orodij MCP pa je odloženo do iskanja, razen pri strežnikih z nastavitvijo alwaysLoad.

V tem primeru lahko izrecno nastavite ENABLE_TOOL_SEARCH=auto: definicije se bodo vnaprej nalagale, dokler njihov skupni obseg ne bo dosegel 10% kontekstnega okna, iskanje pa se bo omogočilo, ko bo prag dosežen. Druga možnost je ENABLE_TOOL_SEARCH=false, če veste, da se nabor ne bo povečal. V tem primeru Claude Code modela ne bo več obveščal o napakah pri povezavi s strežniki, kot je opisano zgoraj.

V drugih primerih znova preverite pogoje delovanja, ko se okolje spremeni:

  • če seja uporablja starejši model, preklopite na Sonnet/Haiku/Opus 4.5 ali novejši model;
  • če povezava uporablja nestandardni ANTHROPIC_BASE_URL, izrecno nastavite ENABLE_TOOL_SEARCH=true samo, če sam posredniški strežnik posreduje bloke tool_reference;
  • prepričajte se, da platforma uvedbe ni med izjemami: Azure Foundry ali starejši modeli Google Cloud Agent Platform.

Če so pogoji izpolnjeni in nastavitve ne blokirajo iskanja, lahko povežete potrebne strežnike MCP. alwaysLoad uporabite samo za tiste, katerih orodja so potrebna v vsaki potezi seje; druga naj se naložijo prek iskanja.

Če potrebujete dostop do modelov AI prek Ailoota, si oglejte Ailoot.

Več podrobnosti

Vprašanja in odgovori: Iskanje orodij v Claude Code: kako agent najde potrebno orodje MCP

Zakaj iskanje orodij prek proxyja ne deluje, čeprav je vklopljeno?

Gostitelj API tretje osebe mora podpirati bloke tool_reference. Prisilni vklop ENABLE_TOOL_SEARCH te podpore ne doda; nezdružljiv proxy lahko zahtevo zavrne, namesto da bi prešel na vnaprejšnje nalaganje orodij.

Kdaj naj za strežnik MCP nastavim alwaysLoad?

Uporabite ga, kadar so orodja strežnika potrebna pri vsakem obratu. Vse njegove definicije orodij nato zasedajo začetni kontekst, zagon pa lahko čaka na povezavo, razen če velja veljaven vnos v predpomnilniku odkrivanja.

Vsi članki