Eszközkeresés a Claude Code-ban: hogyan találja meg az ügynök a szükséges MCP-eszközt
MarkdownHogyan működik az eszközkeresés a Claude Code-ban: mi töltődik be azonnal a kontextusba, mikor kapcsol ki magától a mechanizmus, és hogyan állítható be az ENABLE_TOOL_SEARCH és az alwaysLoad.
A teljes cikk elolvasása
Ha több MCP-szervert csatlakoztatott a Claude Code-hoz, az eszközkeresés lehetővé teszi, hogy igény szerint töltse be a szükséges eszközöket, anélkül hogy előre betöltené az összes definíciót. Induláskor az ügynök megkapja a késleltetett eszközök nevét és a szerverek utasításait, majd megkeresi a katalógusban, amire szüksége van. Ez segíti a nagy eszközkészlettel való munkát: az Anthropic dokumentációja szerint a kiválasztás pontossága csökken, ha egyszerre több mint 30-50 eszköz van betöltve. Ez általános útmutatás, nem az Ön munkamenetének mérése. Az eszközkeresés alapértelmezés szerint engedélyezett, ha a modell támogatja, de a platform, egy proxy vagy a beállítások letilthatják.
Ailoot dokumentáció: API, kulcsok és beállítás.
Mi történik a kontextussal eszközkeresés nélkül
Minden csatlakoztatott MCP-szerver hozzáadja az eszközeit azon dolgok listájához, amelyeket az ügynök meghívhat. Eszközkeresés nélkül a definícióik — név, leírás és paraméterséma — előre betöltődnek a kontextusba. A szerverek a munkamenet kezdetekor a háttérben csatlakoznak. Ha egy még csatlakozás alatt álló szerver eszközére van szükség, a Claude Code a belső WaitForMcpServers eszközön keresztül vár. Külön-külön felmérheti, hogy egy adott szerver hány eszközt és tokent ad hozzá az egyes kapcsolatokhoz.
Az Anthropic hivatalos dokumentációja két hozzávetőleges értéket közöl (általános számok, megadott mérési módszer nélkül):
- 50 eszköz 10-20 ezer kontextustokent is igénybe vehet;
- a megfelelő eszköz kiválasztásának pontossága csökken, ha egyszerre több mint 30-50 eszköz van betöltve.
Az eszközkeresés állapotának felmérése a beállítások alapján
Annak megállapításához, hogy az eszközkeresésnek működnie kell-e az aktuális munkamenetben, ellenőrizze az alábbiakat:
- melyik modell válaszol — Sonnet/Haiku/Opus 4.5 vagy újabb: a mechanizmus elérhető; régebbi modell: nem érhető el;
- be van-e állítva az
ANTHROPIC_BASE_URLnem szabványos címre — ebben az esetben a mechanizmus alapértelmezés szerint ki van kapcsolva, hacsak azENABLE_TOOL_SEARCHváltozóval kifejezetten nem engedélyezik; - az
ENABLE_TOOL_SEARCHváltozó értéke — afalseteljesen letiltja a mechanizmust; azauto/auto:Ncsak akkor engedélyezi, ha a definíciók mennyisége elér egy küszöbértéket; - be van-e állítva a
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS— a szervezet által felügyelt beállítások nélkül kikapcsolva tartja az eszközkeresést akkor is, ha a felhasználó beállította azENABLE_TOOL_SEARCHváltozót; - le van-e tiltva a
ToolSearcheszköz a beállításokban apermissions.denysegítségével — az ilyen korlátozás letiltja a keresést; - melyik platformot használja — a mechanizmus Azure-beli Microsoft Foundry-deployokban nem érhető el, míg a Google Cloud Agent Platformon a viselkedése a Claude Code verziójától és a modelltől függ.
Ezzel az ellenőrzéssel a konfiguráció alapján felmérheti az állapotot, de a munkameneten belül nem figyelheti meg. Az MCP-ről és az eszközkeresésről szóló részek az Agent SDK dokumentációjában nem írnak le közvetlen, „eszközkeresés: be/ki” jelzőt a felületen. Az, hogy ez a két dokumentum nem említi ilyen jelzőt, nem bizonyítja, hogy sehol máshol nincs ilyen.
A munkamenet indítása előtt beállíthatja a változót, például így: ENABLE_TOOL_SEARCH=auto:15 claude. Ha azt szeretné, hogy egy adott szerver eszközei mindig betöltődjenek, használja a szerver konfigurációjában az alwaysLoad: true mezőt. Ez minden szervertípusnál elérhető; feltételeit és korlátozásait az alábbi alwaysLoad című szakasz ismerteti.
Hogyan működik az eszközkeresés
Ha az eszközkeresés engedélyezett, a munkamenet indulásakor csak a késleltetett eszközök nevei és a szerver utasításai töltődnek be a kontextusba. A szerver utasításai leírják, hogy milyen feladatokhoz hasznos a szerver. Ha egy feladathoz olyan képesség kell, amely még nincs a kontextusban, az ügynök maga keres megfelelő eszközt a katalógusban.
Az Agent SDK dokumentációja részletesebben ismerteti a keresési mechanizmust: alapértelmezés szerint egyetlen keresés legfeljebb öt, a katalógusból származó, legrelevánsabb eszközt tölt be. Ezek a munkamenet további fordulóiban is elérhetők maradnak, amíg az SDK össze nem tömöríti azokat az üzeneteket, amelyekben az ügynök megtalálta őket. A tömörítés után a korábban felfedezett eszközök kikerülhetnek a kontextusból, és az ügynök a következő szükséges alkalommal újra megkeresi őket. A katalógus legfeljebb 10 000 eszközt támogat. Maga a Claude Code MCP-dokumentációja nem közli ezeket a konkrét értékeket, de ugyanezt a késleltetett betöltési elvet írja le.
Az Agent SDK dokumentációja szerint minden keresés egy további oda-vissza kört jelent. A dokumentáció nem részletezi pontosan, mit foglal magában ez az oda-vissza kör. A Claude Code MCP-dokumentációja az egyes hibák jelentésében is különbséget ír le: eszközkeresés nélkül a Claude Code nem tájékoztatja a modellt a sikertelen szerverkapcsolatokról. Ha a keresés engedélyezett, a modell értesül arról, melyik szerverhez nem sikerült csatlakozni, és mi volt a hiba.
A Claude Code nem szab meg rögzített korlátot az egyetlen szervertől származó eszközök számára. A gyakorlati korlát az adott munkamenet kontextusablakának kerete.
Az eszközök konfigurálása az AI-ügynök kontextusának kezeléséhez tartozó feladatok egyike.
Mikor van alapértelmezés szerint letiltva az eszközkeresés
A mechanizmus alapértelmezés szerint engedélyezett, de a működése a modelltől, az API-hosttól és a platformtól függ.
Modell. Az eszközkereséshez tool_reference blokkokat támogató modell szükséges: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5 vagy újabb. Régebbi modellek esetén a Claude Code előre betölti az eszközdefiníciókat.
API-host. A Claude Code letiltja az eszközkeresést, ha az ANTHROPIC_BASE_URL változó egy harmadik fél hostjára mutat: a legtöbb proxy nem továbbítja a speciális tool_reference blokkokat. Ez akkor érvényes, ha a Claude-hoz a saját átjáróján vagy proxyszerverén keresztül csatlakozik, nem közvetlenül az Anthropic címén. A letiltás oka a nem szabványos ANTHROPIC_BASE_URL; az előfizetés fizetési módja önmagában nem okozza ezt. A viselkedés felülbírálásához kifejezetten beállíthatja az ENABLE_TOOL_SEARCH változót. Ha maga a proxy nem támogatja a tool_reference blokkokat, a mechanizmus kényszerített bekapcsolása kérési hibát eredményez. Ilyenkor a rendszer nem tér vissza az előzetes definícióbetöltéshez.
Telepítési platform. Az eszközkeresés nem működik az Azure-ban hosztolt Microsoft Foundry-deployokban: a szerver elutasítja a kérést, és az ENABLE_TOOL_SEARCH ezt nem írja felül. A Google Cloud Agent Platformon a Claude Code 2.1.221-es verziója előtt a mechanizmus minden modellnél ki volt kapcsolva, hacsak kifejezetten be nem állították az ENABLE_TOOL_SEARCH=true értéket. Ettől a verziótól kezdve alapértelmezés szerint engedélyezett az Opus/Sonnet/Haiku 4.5 és újabb modellekhez. A platform régebbi modelljeinél a Claude Code továbbra is előre betölti az összes eszközt, mert a szerver infrastruktúrája elutasítja a szükséges belső fejlécet.
Az ENABLE_TOOL_SEARCH változónak öt lehetséges beállítása van:
- nincs beállítva — az alapértelmezett viselkedés, a fent felsorolt kivételekkel;
true— a mechanizmus engedélyezett az azt támogató modelleknél, kivéve két esetet: Azure Foundry és a régebbi Agent Platform-modellek; a tool_reference blokkokat nem támogató proxyn keresztül küldött kérések sikertelenek lesznek;auto— a Claude Code előre betölti az eszközöket, amíg a definícióik együttesen a kontextusablak kevesebb mint 10%-át foglalják el, majd a küszöb elérésekor áttér a késleltetett betöltésre;auto:N— ugyanez az elv, kézzel megadott százalékos küszöbértékkel;false— a mechanizmus teljesen le van tiltva, és minden eszköz előre betöltődik.
Létezik a CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS változó is: ha be van állítva, az eszközkeresés kikapcsolva marad, és a felhasználó ENABLE_TOOL_SEARCH beállítása nem változtat ezen. Kivételt jelent, ha a szervezet felügyelt beállításokkal engedélyezi az eszközkeresést; ez a Claude Code 2.1.227-es verziójától érhető el.
Mit csinál az alwaysLoad, és hogyan hat a kontextusra és az indulásra
A szerver konfigurációjában szereplő alwaysLoad: true mező minden szervertípusnál elérhető. Ezzel az adott szerver összes eszköze betöltődik a kontextusba induláskor, az ENABLE_TOOL_SEARCH beállításától függetlenül. Az ügynöknek nem kell megkeresnie őket használat előtt.
Az eszközök folyamatos betöltésének két következménye van. Minden előre betöltött eszköz elvesz valamennyit abból a kontextusból, amely egyébként magához a feladathoz lenne elérhető. Emellett a munkamenet indulásakor a rendszer megvárja, amíg ez a szerver csatlakozik, legfeljebb az alapértelmezett öt másodperces időkorlátig.
Kivételt jelent az érvényes gyorsítótárazott bejegyzéssel rendelkező távoli szerver: a gyorsítótárból szolgáltatja az eszközöket csatlakozás nélkül, és nem késlelteti az indulást. A felfedezési gyorsítótár alapértelmezés szerint ki van kapcsolva, hacsak a funkció fokozatos bevezetése során nem engedélyezték már az adott fióknál. Kifejezetten is engedélyezheti az MCP_DISCOVERY_CACHE=1 beállítással. A gyors indulást lehetővé tevő kivétel akkor érvényes, ha a gyorsítótár aktív, és érvényes bejegyzést tartalmaz. Az alwaysLoad beállítású eszközök tartósan foglalják a kontextust, függetlenül attól, hogy az ügynöknek szüksége lett volna-e rájuk keresés közben.
Ha saját MCP-szervert ír: a szerver utasításai segítenek Claude-nak megérteni, mikor keressen az eszközei között, hasonlóan a Skills működéséhez. A Claude Code alapértelmezés szerint minden eszköz leírását és minden szerver utasításait 2048 karakterre csonkítja, ezért a kritikus részleteket tegye az elejükre.
A Claude Code bővítésének kiválasztása nemcsak a csatlakoztatott MCP-szerverek számától függ. A Claude Code: hány bővítményt érdemes egyszerre megtartani és a Mit válasszunk a Claude Code-ban: Skills, Subagents, MCP vagy Plugins útmutatók különböző feladatokhoz vizsgálják a Skills, Subagents, MCP és Plugins lehetőségeit. Konkrét MCP-szerverek lépésről lépésre történő beállításához lásd: MCP-szerverek a Claude Code-hoz: kész kombinációk.
Mi következik
A nagyjából 10-nél kevesebb eszközből álló készletnél, amelynek definíciói gond nélkül elférnek a kontextusban, az Agent SDK dokumentációja szerint általában gyorsabb az összes eszközt egyszerre betölteni. A Claude Code alapértelmezett viselkedésében azonban, ha a változó nincs beállítva, és a fenti korlátozások egyike sem érvényes, az eszközkeresés engedélyezett, és az MCP-eszközök betöltése a keresésig késleltetett, kivéve az alwaysLoad beállítású szervereket.
Ebben az esetben kifejezetten beállíthatja az ENABLE_TOOL_SEARCH=auto értéket: a definíciók előre betöltődnek, amíg az együttes méretük kisebb a kontextusablak 10%-ánál, és a keresés a küszöb elérésekor válik aktívvá. Másik lehetőség az ENABLE_TOOL_SEARCH=false, ha tudja, hogy a készlet nem fog bővülni. Ebben az esetben a Claude Code nem tájékoztatja többé a modellt a szerverkapcsolati hibákról, a fent leírtak szerint.
Egyéb esetekben, amikor változik a környezet, ellenőrizze újra a működési feltételeket:
- váltson Sonnet/Haiku/Opus 4.5 vagy újabb modellre, ha a munkamenet régebbi modellt használ;
- ha a kapcsolat nem szabványos
ANTHROPIC_BASE_URLcímet használ, csak akkor állítsa be kifejezetten azENABLE_TOOL_SEARCH=trueértéket, ha maga a proxy továbbítja a tool_reference blokkokat; - győződjön meg róla, hogy a telepítési platform nem szerepel a kivételek között: Azure Foundry vagy a Google Cloud Agent Platform régebbi modelljei.
Ha a feltételek teljesülnek, és a beállítások nem tiltják a keresést, csatlakoztathatja a szükséges MCP-szervereket. Az alwaysLoad beállítást csak azoknál használja, amelyek eszközeire a munkamenet minden fordulójában szükség van; a többit hagyja keresés útján betöltődni.
Források
Ha az AI-modellekhez Ailooton keresztül szeretne hozzáférni, nézze meg az Ailoot oldalt.
További részletek
Kérdések és válaszok: Eszközkeresés a Claude Code-ban: hogyan találja meg az ügynök a szükséges MCP-eszközt
Miért hibázhat az eszközkeresés proxyn át akkor is, ha be van kapcsolva?
A külső API-kiszolgálónak támogatnia kell a tool_reference blokkokat. Az ENABLE_TOOL_SEARCH kényszerített bekapcsolása ezt nem adja hozzá; az inkompatibilis proxy a kezdeti teljes betöltésre visszaesés helyett elutasíthatja a kérést.
Mikor állítsak alwaysLoad értéket egy MCP-szerverhez?
Akkor használd, ha a szerver eszközeire minden körben szükség van. Ilyenkor minden eszközdefiníciója indulási kontextust foglal, és az indulás várhat a kapcsolatra, hacsak nincs alkalmazható érvényes feltárási gyorsítótár-bejegyzés.