Blogg

Verktøysøk i Claude Code: slik finner agenten MCP-verktøyet den trenger

Markdown

Slik fungerer verktøysøk i Claude Code: hva som lastes inn i konteksten med én gang, når mekanismen slår seg av, og hvordan du konfigurerer ENABLE_TOOL_SEARCH og alwaysLoad.

Les hele artikkelen

Hvis du har koblet flere MCP-servere til Claude Code, kan verktøysøk laste inn verktøyene den trenger ved behov, uten å laste inn alle definisjonene på forhånd. Ved oppstart får agenten navnene på utsatte verktøy og instruksjonene fra serverne, og søker deretter i katalogen etter det den trenger. Dette hjelper agenten med å arbeide med et stort verktøysett: Anthropic oppgir i dokumentasjonen at nøyaktigheten ved valg faller når mer enn 30-50 verktøy er lastet inn samtidig. Dette er generell veiledning, ikke en måling av økten din. Verktøysøk er aktivert som standard når modellen støtter det, men plattformen, en proxy eller innstillinger kan deaktivere det.

Ailoot-dokumentasjon: API, nøkler og oppsett.

Hva som skjer med konteksten uten verktøysøk

Hver tilkoblede MCP-server legger verktøyene sine til listen over ting agenten kan kalle. Uten verktøysøk lastes definisjonene deres — navn, beskrivelse og parameterskjema — inn i konteksten på forhånd. Serverne kobler seg til i bakgrunnen når en økt starter. Hvis et verktøy trengs fra en server som ikke er ferdig med å koble seg til, venter Claude Code via det interne verktøyet WaitForMcpServers. Du kan vurdere hvor mange verktøy og tokener en bestemt server legger til, separat for hver tilkobling.

Anthropics offisielle dokumentasjon oppgir to omtrentlige tall (generelle tall, uten oppgitt målemetode):

  • 50 verktøy kan ta opp 10-20 tusen konteksttokener;
  • nøyaktigheten ved valg av riktig verktøy faller når mer enn 30-50 er lastet inn samtidig.

Slik vurderer du verktøysøk ut fra innstillingene

Sjekk disse forholdene for å forstå om verktøysøk skal fungere i den aktuelle økten:

  • hvilken modell som svarer — Sonnet/Haiku/Opus 4.5 eller nyere: mekanismen er tilgjengelig; en eldre modell: den er ikke tilgjengelig;
  • om ANTHROPIC_BASE_URL er satt til en ikke-standard vert — i så fall er mekanismen slått av som standard, med mindre den uttrykkelig aktiveres via ENABLE_TOOL_SEARCH;
  • verdien til variabelen ENABLE_TOOL_SEARCH — false deaktiverer mekanismen helt; auto/auto:N aktiverer den bare når mengden definisjoner når en terskel;
  • om CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS er satt — uten organisasjonens administrerte innstillinger holder den verktøysøk deaktivert selv om brukeren har satt ENABLE_TOOL_SEARCH;
  • om verktøyet ToolSearch er blokkert via permissions.deny i innstillingene — en slik begrensning deaktiverer søk;
  • hvilken plattform som brukes — mekanismen er ikke tilgjengelig på Microsoft Foundry-distribusjoner i Azure, mens virkemåten på Google Cloud Agent Platform avhenger av Claude Code-versjonen og modellen.

Denne kontrollen lar deg vurdere statusen ut fra konfigurasjonen, men ikke observere den inne i økten. MCP-delen og delen om verktøysøk i Agent SDK-dokumentasjonen beskriver ingen direkte indikator i grensesnittet for «verktøysøk: på/av». At dette ikke er nevnt i disse to dokumentene, beviser ikke at en slik indikator ikke finnes noe annet sted.

Du kan sette variabelen før du starter en økt, for eksempel ENABLE_TOOL_SEARCH=auto:15 claude. For å sikre at verktøyene til en bestemt server alltid lastes inn, bruker du feltet alwaysLoad: true i konfigurasjonen for den serveren. Det er tilgjengelig for alle servertyper; vilkårene og begrensningene beskrives i delen om alwaysLoad nedenfor.

Slik fungerer verktøysøk

Når verktøysøk er aktivert, lastes bare navnene på utsatte verktøy og serverens instruksjoner inn i konteksten ved oppstart av økten. Serverinstruksjonene beskriver hvilke oppgaver serveren er nyttig for. Når en oppgave krever en funksjon som ennå ikke finnes i konteksten, søker agenten selv i katalogen etter et passende verktøy.

Agent SDK-dokumentasjonen beskriver søkemekanismen mer detaljert: Som standard laster ett søk inn opptil fem av de mest relevante verktøyene fra katalogen. De forblir tilgjengelige i senere runder av økten til SDK-en komprimerer meldingene der agenten fant dem. Etter komprimering kan verktøy som tidligere ble funnet, falle ut av konteksten, og agenten søker etter dem på nytt neste gang de trengs. Katalogen støtter opptil 10 000 verktøy. MCP-dokumentasjonen for Claude Code gir ikke disse spesifikke tallene, men beskriver det samme prinsippet om utsatt innlasting.

Ifølge Agent SDK-dokumentasjonen legger hvert søk til én ekstra tur-retur-forespørsel. Dokumentasjonen spesifiserer ikke nøyaktig hva denne forespørselen omfatter. For Claude Code beskriver MCP-dokumentasjonen også en forskjell i feilrapportering: Uten verktøysøk forteller ikke Claude Code modellen om mislykkede servertilkoblinger. Når søk er aktivert, får modellen informasjon om hvilken server det ikke gikk å koble til, og hva feilen var.

Claude Code har ingen fast grense for antallet verktøy fra én enkelt server. Den praktiske grensen er budsjettet for kontekstvinduet i den aktuelle økten.

Konfigurering av verktøy er en av oppgavene som inngår i håndteringen av konteksten til en AI-agent.

Når verktøysøk er deaktivert som standard

Mekanismen er aktivert som standard, men funksjonen avhenger av modellen, API-verten og plattformen.

Modell. Verktøysøk krever en modell som støtter tool_reference-blokker: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5 eller nyere. For eldre modeller laster Claude Code inn verktøydefinisjonene på forhånd.

API-vert. Claude Code deaktiverer verktøysøk når variabelen ANTHROPIC_BASE_URL peker til en tredjepartsvert: De fleste proxyer videresender ikke de spesielle tool_reference-blokkene. Dette gjelder når du kobler til Claude via din egen gateway eller proxyserver i stedet for direkte via Anthropics adresse. Grunnen til at funksjonen deaktiveres, er en ikke-standard ANTHROPIC_BASE_URL; hvordan abonnementet betales, er ikke i seg selv årsaken. Du kan uttrykkelig sette ENABLE_TOOL_SEARCH for å overstyre denne virkemåten. Hvis proxyen selv ikke støtter tool_reference-blokker, fører det å tvinge mekanismen på til en forespørselsfeil. I dette tilfellet går den ikke tilbake til å laste inn definisjonene på forhånd.

Distribusjonsplattform. Verktøysøk fungerer ikke på Microsoft Foundry-distribusjoner som driftes på Azure: serveren avviser forespørselen, og ENABLE_TOOL_SEARCH overstyrer ikke dette. På Google Cloud Agent Platform var mekanismen deaktivert for alle modeller før Claude Code-versjon 2.1.221, med mindre ENABLE_TOOL_SEARCH=true var uttrykkelig satt. Fra og med den versjonen er funksjonen aktivert som standard for Opus/Sonnet/Haiku 4.5 og nyere. For eldre modeller på plattformen laster Claude Code fortsatt inn alle verktøy på forhånd, fordi serverinfrastrukturen deres avviser den nødvendige interne headeren.

Variabelen ENABLE_TOOL_SEARCH har fem mulige innstillinger:

  • ikke satt — standardvirkemåten, med unntakene som er oppført ovenfor;
  • true — mekanismen aktiveres på modeller som støtter den, bortsett fra i to tilfeller: Azure Foundry og eldre Agent Platform-modeller; forespørsler sendt via en proxy uten støtte for tool_reference-blokker vil mislykkes;
  • auto — Claude Code laster inn verktøy på forhånd mens de samlede definisjonene deres tar opp mindre enn 10% av kontekstvinduet, og går over til utsatt innlasting når denne terskelen er nådd;
  • auto:N — samme prinsipp, med en manuelt angitt prosentterskel;
  • false — mekanismen deaktiveres helt, og alle verktøy lastes inn på forhånd.

Det finnes også variabelen CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: Hvis den er satt, forblir verktøysøk deaktivert, og brukerens innstilling av ENABLE_TOOL_SEARCH endrer ikke dette. Unntaket er når organisasjonen holder verktøysøk aktivert via administrerte innstillinger, som er tilgjengelige fra Claude Code-versjon 2.1.227.

Hva alwaysLoad gjør, og hvordan det påvirker kontekst og oppstart

Feltet alwaysLoad: true i konfigurasjonen for en server er tilgjengelig for alle servertyper. Med dette lastes alle verktøyene til serveren inn i konteksten ved oppstart, uavhengig av innstillingen for ENABLE_TOOL_SEARCH. Agenten trenger ikke å søke etter dem før bruk.

Å alltid laste inn verktøy har to konsekvenser. Hvert verktøy som lastes inn på forhånd, tar opp noe av konteksten som ellers ville vært tilgjengelig for selve oppgaven. I tillegg venter oppstarten av økten på at denne serveren kobler seg til, innenfor standardtidsavbruddet på fem sekunder.

Unntaket er en ekstern server med en gyldig oppføring i hurtigbufferen: Den leverer verktøyene fra hurtigbufferen uten å koble seg til og forsinker ikke oppstarten. Oppdagingsbufferen er deaktivert som standard, med mindre den allerede er aktivert for kontoen under den gradvise utrullingen av funksjonen. Du kan også aktivere den uttrykkelig via MCP_DISCOVERY_CACHE=1. Unntaket for rask oppstart gjelder når hurtigbufferen er aktiv og inneholder en gyldig oppføring. Verktøy med alwaysLoad opptar fortsatt kontekst permanent, uavhengig av om agenten ville ha trengt dem mens den arbeidet med søk.

For alle som skriver sin egen MCP-server: Serverinstruksjoner hjelper Claude med å forstå når den skal søke etter serverens verktøy, omtrent slik Skills gjør. Claude Code avkorter som standard beskrivelsen av hvert verktøy og instruksjonene fra hver server til 2048 tegn, så plasser viktige detaljer først.

Valg av hvordan Claude Code skal utvides, avhenger av mer enn antallet tilkoblede MCP-servere. Veiledningene Claude Code: hvor mange utvidelser bør du ha samtidig og Hva bør du velge i Claude Code: Skills, Subagents, MCP eller Plugins ser på Skills, Subagents, MCP og Plugins for ulike oppgaver. Se MCP-servere for Claude Code: ferdige kombinasjoner for trinnvis oppsett av bestemte MCP-servere.

Hva nå

For et sett med færre enn omtrent 10 verktøy, der definisjonene får plass i konteksten uten problemer, bemerker Agent SDK-dokumentasjonen at det vanligvis går raskere å laste inn alle samtidig. I standardvirkemåten til Claude Code er imidlertid verktøysøk aktivert når variabelen ikke er satt og ingen av begrensningene ovenfor gjelder. MCP-verktøy lastes da ikke inn før søk, bortsett fra på servere med alwaysLoad.

Her kan du uttrykkelig sette ENABLE_TOOL_SEARCH=auto: Definisjonene lastes inn på forhånd så lenge det samlede volumet deres er mindre enn 10% av kontekstvinduet, og søk aktiveres når terskelen nås. Et annet alternativ er ENABLE_TOOL_SEARCH=false hvis du vet at settet ikke vil vokse. I så fall slutter Claude Code å fortelle modellen om mislykkede servertilkoblinger, som beskrevet ovenfor.

I andre tilfeller bør du kontrollere driftsvilkårene på nytt når miljøet endres:

  • bytt til Sonnet/Haiku/Opus 4.5 eller nyere hvis økten bruker en eldre modell;
  • hvis tilkoblingen bruker en ikke-standard ANTHROPIC_BASE_URL, setter du ENABLE_TOOL_SEARCH=true uttrykkelig bare når proxyen selv videresender tool_reference-blokker;
  • kontroller at distribusjonsplattformen ikke er på listen over unntak: Azure Foundry eller eldre Google Cloud Agent Platform-modeller.

Hvis vilkårene er oppfylt og søk ikke er blokkert av innstillingene, kan du koble til MCP-serverne du trenger. Bruk alwaysLoad bare for servere med verktøy som trengs i hver runde av økten; la de andre lastes inn via søk.

Hvis du trenger tilgang til AI-modeller via Ailoot, kan du ta en titt på Ailoot.

Flere detaljer

Spørsmål om denne veiledningen: Verktøysøk i Claude Code: slik finner agenten MCP-verktøyet den trenger

Hvorfor kan verktøysøk feile bak en proxy selv om det er aktivert?

En tredjeparts API-vert må støtte tool_reference-blokker. Tvungen ENABLE_TOOL_SEARCH legger ikke til slik støtte. En inkompatibel proxy kan avvise forespørselen fremfor å falle tilbake på forhåndslasting.

Når bør jeg angi alwaysLoad for en MCP-server?

Bruk det når serverens verktøy trengs i hver runde. Alle verktøydefinisjonene tar da oppstartskontekst, og oppstart kan vente på forbindelsen med mindre en gyldig oppføring i oppdagelsesbufferen gjelder.

Alle artikler