Verktygssökning i Claude Code: så hittar agenten det MCP-verktyg den behöver
MarkdownHur verktygssökning fungerar i Claude Code: vad som laddas in i kontexten direkt, när mekanismen stängs av och hur du konfigurerar ENABLE_TOOL_SEARCH och alwaysLoad.
Läs hela artikeln
Om du har anslutit flera MCP-servrar till Claude Code kan verktygssökning låta systemet läsa in de verktyg som behövs vid behov, utan att läsa in alla definitioner i förväg. Vid start får agenten namnen på uppskjutna verktyg och servrarnas instruktioner och söker sedan i katalogen efter det den behöver. Det hjälper den att arbeta med en stor uppsättning verktyg: Anthropics dokumentation anger att urvalsträffsäkerheten sjunker när fler än 30–50 verktyg läses in samtidigt. Det här är allmän vägledning, inte en mätning av din session. Verktygssökning är aktiverad som standard när modellen stöder den, men plattformen, en proxy eller inställningar kan inaktivera den.
Ailoot-dokumentation: API, nycklar och konfiguration.
Vad som händer med kontexten utan verktygssökning
Varje ansluten MCP-server lägger till sina verktyg i listan över sådant agenten kan anropa. Utan verktygssökning läses verktygens definitioner — namn, beskrivning och parameterschema — in i kontexten i förväg. Servrar ansluter i bakgrunden när en session startar. Om ett verktyg behövs från en server som inte har hunnit ansluta väntar Claude Code via det interna verktyget WaitForMcpServers. Du kan separat bedöma hur många verktyg och token en viss server tillför vid varje anslutning.
Anthropics officiella dokumentation anger två ungefärliga siffror (allmänna tal, utan angiven mätmetod):
- 50 verktyg kan ta upp 10–20 tusen kontexttoken;
- träffsäkerheten i valet av rätt verktyg sjunker när fler än 30–50 läses in samtidigt.
Så bedömer du verktygssökning utifrån inställningarna
Kontrollera följande för att förstå om verktygssökning bör fungera i den aktuella sessionen:
- vilken modell som svarar — Sonnet/Haiku/Opus 4.5 eller senare: mekanismen är tillgänglig; en äldre modell: den är inte tillgänglig;
- om
ANTHROPIC_BASE_URLär inställd på en icke-standardvärd — i så fall är mekanismen av som standard om den inte uttryckligen aktiveras viaENABLE_TOOL_SEARCH; - värdet på variabeln
ENABLE_TOOL_SEARCH—falseinaktiverar mekanismen helt;auto/auto:Naktiverar den bara när mängden definitioner når ett tröskelvärde; - om
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASär inställd — utan organisationens hanterade inställningar håller den verktygssökning avstängd även om användaren har angettENABLE_TOOL_SEARCH; - om verktyget
ToolSearchblockeras viapermissions.denyi inställningarna — en sådan begränsning inaktiverar sökningen; - vilken plattform som används — mekanismen är inte tillgänglig i Microsoft Foundry-distributioner i Azure, medan dess beteende på Google Cloud Agent Platform beror på Claude Code-versionen och modellen.
Den här kontrollen låter dig bedöma läget utifrån konfigurationen, men inte observera det inne i sessionen. Avsnittet om MCP och avsnittet om verktygssökning i Agent SDK-dokumentationen beskriver ingen direkt indikator i gränssnittet för ”verktygssökning: på/av”. Att dessa två dokument inte nämner någon sådan indikator bevisar inte att det inte finns en någon annanstans.
Du kan ange variabeln innan du startar en session, till exempel ENABLE_TOOL_SEARCH=auto:15 claude. Om du vill säkerställa att en viss servers verktyg alltid läses in använder du fältet alwaysLoad: true i serverns konfiguration. Det är tillgängligt för alla servert typer; villkoren och begränsningarna beskrivs i avsnittet om alwaysLoad nedan.
Så fungerar verktygssökning
När verktygssökning är aktiverad läses bara namnen på uppskjutna verktyg och serverns instruktioner in i kontexten när sessionen startar. Serverinstruktionerna beskriver vilka uppgifter servern är användbar för. När en uppgift kräver en funktion som ännu inte finns i kontexten söker agenten själv i katalogen efter ett lämpligt verktyg.
Agent SDK-dokumentationen beskriver sökmekanismen mer ingående: som standard läser en enskild sökning in upp till fem av de mest relevanta verktygen från katalogen. De förblir tillgängliga under efterföljande turer i sessionen tills SDK:t komprimerar meddelandena där agenten hittade dem. Efter komprimeringen kan tidigare upptäckta verktyg försvinna ur kontexten, och agenten söker efter dem igen nästa gång de behövs. Katalogen stöder upp till 10 000 verktyg. MCP-dokumentationen för Claude Code anger inte dessa specifika siffror, men beskriver samma princip med uppskjuten inläsning.
Enligt Agent SDK-dokumentationen lägger varje sökning till en extra rundtur. Dokumentationen anger inte exakt vad den rundturen omfattar. För Claude Code beskriver MCP-dokumentationen också en skillnad i felrapportering: utan verktygssökning berättar Claude Code inte för modellen om misslyckade serveranslutningar. När sökning är aktiverad får modellen information om vilken server som inte kunde ansluta och vad felet var.
Claude Code har ingen fast gräns för antalet verktyg från en enskild server. Den praktiska gränsen är kontextfönstrets budget för den specifika sessionen.
Att konfigurera verktyg är en av uppgifterna när man hanterar en AI-agents kontext.
När verktygssökning är inaktiverad som standard
Mekanismen är aktiverad som standard, men hur den fungerar beror på modellen, API-värden och plattformen.
Modell. Verktygssökning kräver en modell som stöder block av typen tool_reference: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5 eller senare. För äldre modeller läser Claude Code in verktygsdefinitionerna i förväg.
API-värd. Claude Code inaktiverar verktygssökning när variabeln ANTHROPIC_BASE_URL pekar på en tredjepartsvärd: de flesta proxyservrar vidarebefordrar inte de särskilda blocken tool_reference. Detta gäller när du ansluter till Claude via din egen gateway eller proxyserver i stället för direkt via Anthropics adress. Orsaken till inaktiveringen är en icke-standardiserad ANTHROPIC_BASE_URL; hur prenumerationen betalas orsakar inte detta i sig. Du kan uttryckligen ange ENABLE_TOOL_SEARCH för att åsidosätta beteendet. Om proxyn själv inte stöder blocken tool_reference leder en tvingad aktivering av mekanismen till ett begärandefel. I så fall växlar den inte tillbaka till att läsa in definitionerna i förväg.
Distributionsplattform. Verktygssökning fungerar inte i Microsoft Foundry-distributioner på Azure: servern avvisar begäran, och ENABLE_TOOL_SEARCH åsidosätter inte detta. På Google Cloud Agent Platform var mekanismen avstängd för alla modeller före Claude Code version 2.1.221, om inte ENABLE_TOOL_SEARCH=true uttryckligen hade angetts. Från och med den versionen är den aktiverad som standard för Opus/Sonnet/Haiku 4.5 och senare. För äldre modeller på plattformen läser Claude Code fortfarande in alla verktyg i förväg eftersom serverinfrastrukturen avvisar den interna header som krävs.
Variabeln ENABLE_TOOL_SEARCH har fem möjliga inställningar:
- ej angiven — standardbeteendet, med undantagen ovan;
true— mekanismen aktiveras för modeller som stöder den, med två undantag: Azure Foundry och äldre Agent Platform-modeller; begäranden via en proxy utan stöd för blocken tool_reference misslyckas;auto— Claude Code läser in verktyg i förväg medan deras sammanlagda definitioner tar upp mindre än 10 % av kontextfönstret och växlar till uppskjuten inläsning när tröskelvärdet nås;auto:N— samma princip, med ett manuellt angivet procentuellt tröskelvärde;false— mekanismen inaktiveras helt och alla verktyg läses in i förväg.
Det finns också variabeln CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: om den är inställd förblir verktygssökning avstängd, och om användaren anger ENABLE_TOOL_SEARCH ändrar det inte saken. Undantaget är när organisationen håller verktygssökning aktiverad via hanterade inställningar, vilket är tillgängligt från Claude Code version 2.1.227.
Vad alwaysLoad gör och hur det påverkar kontext och start
Fältet alwaysLoad: true i en servers konfiguration är tillgängligt för alla servert typer. Med det läses alla verktyg från den servern in i kontexten vid start, oavsett inställningen för ENABLE_TOOL_SEARCH. Agenten behöver inte söka efter dem innan användning.
Att alltid läsa in verktyg får två konsekvenser. Varje verktyg som läses in i förväg tar upp en del av den kontext som annars hade varit tillgänglig för själva uppgiften. Dessutom väntar sessionsstarten på att servern ska ansluta, inom den vanliga tidsgränsen på fem sekunder.
Undantaget är en fjärrserver med en giltig cachepost: den tillhandahåller verktygen från cachen utan att ansluta och fördröjer inte starten. Upptäcktscachen är av som standard om den inte redan har aktiverats för kontot under den gradvisa utrullningen av funktionen. Du kan också aktivera den uttryckligen via MCP_DISCOVERY_CACHE=1. Undantaget för snabb start gäller när cachen är aktiv och innehåller en giltig post. Verktyg med alwaysLoad tar fortfarande permanent upp kontext, oavsett om agenten hade behövt dem när den arbetade med sökning.
För dig som skriver en egen MCP-server: serverinstruktioner hjälper Claude att förstå när den ska söka efter serverns verktyg, ungefär som Skills gör. Claude Code kortar som standard varje verktygsbeskrivning och varje servers instruktioner till 2048 tecken, så placera viktiga detaljer i början.
Valet av hur Claude Code ska utökas beror på mer än antalet anslutna MCP-servrar. Guiderna Claude Code: hur många tillägg ska man ha åt gången och Vad ska du välja i Claude Code: Skills, Subagents, MCP eller Plugins granskar Skills, Subagents, MCP och Plugins för olika uppgifter. Stegvisa instruktioner för att konfigurera specifika MCP-servrar finns i MCP-servrar för Claude Code: färdiga kombinationer.
Vad händer härnäst
För en uppsättning med färre än ungefär 10 verktyg vars definitioner ryms utan problem i kontexten påpekar Agent SDK-dokumentationen att det vanligtvis går snabbare att läsa in alla på en gång. I Claude Codes standardbeteende är verktygssökning dock aktiverad när variabeln inte har angetts och ingen av begränsningarna ovan gäller; MCP-verktyg läses då in först vid sökning, med undantag för servrar med alwaysLoad.
Här kan du uttryckligen ange ENABLE_TOOL_SEARCH=auto: definitionerna läses in i förväg medan deras sammanlagda mängd är mindre än 10 % av kontextfönstret, och sökning aktiveras när tröskelvärdet nås. Ett annat alternativ är ENABLE_TOOL_SEARCH=false om du vet att uppsättningen inte kommer att växa. I så fall slutar Claude Code att berätta för modellen om misslyckade serveranslutningar, enligt beskrivningen ovan.
I andra fall bör du kontrollera driftvillkoren igen när miljön förändras:
- byt till Sonnet/Haiku/Opus 4.5 eller senare om sessionen använder en äldre modell;
- om anslutningen använder en icke-standardiserad
ANTHROPIC_BASE_URL, ange uttryckligenENABLE_TOOL_SEARCH=trueendast när proxyn själv vidarebefordrar blocken tool_reference; - kontrollera att distributionsplattformen inte finns bland undantagen: Azure Foundry eller äldre Google Cloud Agent Platform-modeller.
Om villkoren är uppfyllda och sökning inte blockeras av inställningarna kan du ansluta de MCP-servrar du behöver. Använd alwaysLoad endast för servrar vars verktyg behövs vid varje tur i sessionen; låt de andra läsas in via sökning.
Källor
Om du behöver tillgång till AI-modeller via Ailoot kan du ta en titt på Ailoot.
Fler detaljer
Frågor om den här guiden: Verktygssökning i Claude Code: så hittar agenten det MCP-verktyg den behöver
Varför kan verktygssökning misslyckas bakom en proxy trots att den är aktiverad?
En API-värd från tredje part måste stödja tool_reference-block. Att tvinga ENABLE_TOOL_SEARCH till på kan inte lägga till det stödet; en inkompatibel proxy kan neka förfrågan i stället för att falla tillbaka på inläsning av alla verktyg.
När bör jag sätta alwaysLoad för en MCP-server?
Använd det när serverns verktyg behövs på varje tur. Alla dess verktygsdefinitioner tar då plats i startkontexten och uppstarten kan invänta anslutningen om ingen giltig post i upptäcktscachen gäller.