Blog

Eszközkeresés a Claude Code-ban: hogyan találja meg az ügynök a szükséges MCP-eszközt

Markdown

Hogyan 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_URL nem szabványos címre — ebben az esetben a mechanizmus alapértelmezés szerint ki van kapcsolva, hacsak az ENABLE_TOOL_SEARCH változóval kifejezetten nem engedélyezik;
  • az ENABLE_TOOL_SEARCH változó értéke — a false teljesen letiltja a mechanizmust; az auto/auto:N csak 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 az ENABLE_TOOL_SEARCH változót;
  • le van-e tiltva a ToolSearch eszköz a beállításokban a permissions.deny segí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_URL címet használ, csak akkor állítsa be kifejezetten az ENABLE_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.

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.

Összes cikk