# Pencarian Alat di Claude Code: Cara Agen Menemukan Alat MCP yang Dibutuhkan

> Cara kerja pencarian alat di Claude Code: apa yang langsung dimuat ke dalam konteks, kapan mekanisme ini nonaktif dengan sendirinya, dan cara mengonfigurasi ENABLE_TOOL_SEARCH dan alwaysLoad.

Source: https://ailoot.ai/blog/id/claude-code-tool-search-mcp-limit/
Canonical: https://ailoot.ai/blog/id/claude-code-tool-search-mcp-limit/
Language: id
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-055
Revision: sha256-2681b821b1d5df7daf2799c9f8bd8cd4f33043e984551615c37f6aeeae18607e


Jika Anda telah menghubungkan beberapa server MCP ke Claude Code, pencarian alat memungkinkannya memuat alat yang dibutuhkan sesuai permintaan, tanpa memuat semua definisi terlebih dahulu. Saat startup, agen menerima nama alat yang ditangguhkan dan instruksi server, lalu mencari katalog untuk menemukan yang dibutuhkan. Ini membantunya bekerja dengan sekumpulan alat yang besar: dokumentasi Anthropic menyatakan bahwa akurasi pemilihan menurun ketika lebih dari 30-50 alat dimuat sekaligus. Ini adalah panduan umum, bukan pengukuran sesi Anda. Pencarian alat diaktifkan secara default saat model mendukungnya, tetapi platform, proksi, atau pengaturan dapat menonaktifkannya.

[Dokumentasi Ailoot: API, kunci, dan penyiapan](https://ailoot.ai/docs/).

## Apa yang terjadi pada konteks tanpa pencarian alat

Setiap server MCP yang terhubung menambahkan alatnya ke daftar hal yang dapat dipanggil agen. Tanpa pencarian alat, definisinya — nama, deskripsi, dan skema parameter — dimuat ke dalam konteks terlebih dahulu. Server terhubung di latar belakang saat sesi dimulai. Jika alat dari server yang belum selesai terhubung diperlukan, Claude Code menunggu melalui alat internal `WaitForMcpServers`. Anda dapat menilai secara terpisah berapa banyak alat dan token yang ditambahkan server tertentu pada setiap koneksi.

Dokumentasi resmi Anthropic memberikan dua angka perkiraan (angka umum, tanpa metode pengukuran yang dinyatakan):

- 50 alat dapat menggunakan 10-20 ribu token konteks;
- akurasi dalam memilih alat yang tepat menurun ketika lebih dari 30-50 alat dimuat sekaligus.

## Cara menilai pencarian alat dari pengaturan

Untuk memahami apakah pencarian alat seharusnya berfungsi dalam sesi saat ini, periksa kondisi berikut:

- model mana yang merespons — Sonnet/Haiku/Opus 4.5 atau yang lebih baru: mekanisme tersedia; model yang lebih lama: tidak tersedia;
- apakah `ANTHROPIC_BASE_URL` diatur ke host nonstandar — dalam hal ini, mekanisme nonaktif secara default kecuali diaktifkan secara eksplisit melalui `ENABLE_TOOL_SEARCH`;
- nilai variabel `ENABLE_TOOL_SEARCH` — `false` menonaktifkan mekanisme sepenuhnya; `auto`/`auto:N` mengaktifkannya hanya ketika jumlah definisi mencapai ambang batas;
- apakah `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` diatur — tanpa pengaturan terkelola organisasi, variabel ini membuat pencarian alat tetap nonaktif meskipun pengguna telah mengatur `ENABLE_TOOL_SEARCH`;
- apakah alat `ToolSearch` diblokir melalui `permissions.deny` di pengaturan — pembatasan semacam itu menonaktifkan pencarian;
- platform mana yang digunakan — mekanisme ini tidak tersedia pada deployment Microsoft Foundry di Azure, sedangkan pada Google Cloud Agent Platform, perilakunya bergantung pada versi dan model Claude Code.

Pemeriksaan ini memungkinkan Anda menilai status dari konfigurasi, tetapi tidak mengamatinya di dalam sesi. Bagian MCP dan bagian pencarian alat dalam dokumentasi Agent SDK tidak menjelaskan indikator langsung “pencarian alat: aktif/nonaktif” di antarmuka. Tidak adanya keterangan dalam kedua dokumen ini tidak membuktikan bahwa indikator semacam itu tidak ada di mana pun.

Anda dapat mengatur variabel sebelum memulai sesi, misalnya `ENABLE_TOOL_SEARCH=auto:15 claude`. Untuk memastikan alat dari server tertentu selalu dimuat, gunakan kolom `alwaysLoad: true` dalam konfigurasi server tersebut. Kolom ini tersedia untuk semua jenis server; kondisi dan batasannya dijelaskan pada bagian alwaysLoad di bawah.

## Cara kerja pencarian alat

Saat pencarian alat diaktifkan, hanya nama alat yang ditangguhkan dan instruksi server yang dimuat ke dalam konteks saat sesi dimulai. Instruksi server menjelaskan tugas apa yang cocok dibantu oleh server tersebut. Ketika suatu tugas memerlukan kemampuan yang belum ada dalam konteks, agen mencari sendiri alat yang sesuai di katalog.

Dokumentasi Agent SDK menjelaskan mekanisme pencarian secara lebih terperinci: secara default, satu pencarian memuat hingga lima alat paling relevan dari katalog. Alat tersebut tetap tersedia untuk giliran berikutnya dalam sesi sampai SDK memadatkan pesan saat agen menemukannya. Setelah pemadatan, alat yang sebelumnya ditemukan dapat keluar dari konteks, dan agen mencarinya kembali saat diperlukan berikutnya. Katalog mendukung hingga 10 000 alat. Dokumentasi MCP untuk Claude Code sendiri tidak memberikan angka spesifik ini, tetapi menjelaskan prinsip pemuatan tertunda yang sama.

Menurut dokumentasi Agent SDK, setiap pencarian menambahkan satu bolak-balik tambahan. Dokumentasi tidak menjelaskan secara persis apa yang termasuk dalam bolak-balik tersebut. Untuk Claude Code, dokumentasi MCP juga menjelaskan perbedaan dalam pelaporan kesalahan: tanpa pencarian alat, Claude Code tidak memberi tahu model tentang kegagalan koneksi server. Saat pencarian diaktifkan, model menerima informasi tentang server mana yang gagal terhubung dan apa kesalahannya.

Claude Code tidak menetapkan batas tetap jumlah alat dari satu server. Batas praktisnya adalah anggaran jendela konteks untuk sesi tertentu.

Mengonfigurasi alat adalah salah satu tugas dalam mengelola konteks agen AI.



## Kapan pencarian alat dinonaktifkan secara default

Mekanisme ini diaktifkan secara default, tetapi pengoperasiannya bergantung pada model, host API, dan platform.

**Model.** Pencarian alat memerlukan model yang mendukung blok tool_reference: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5, atau yang lebih baru. Untuk model yang lebih lama, Claude Code memuat definisi alat terlebih dahulu.

**Host API.** Claude Code menonaktifkan pencarian alat ketika variabel `ANTHROPIC_BASE_URL` mengarah ke host pihak ketiga: kebanyakan proksi tidak meneruskan blok tool_reference khusus. Ini berlaku saat menghubungkan ke Claude melalui gateway atau server proksi Anda sendiri, alih-alih langsung melalui alamat Anthropic. Alasan penonaktifannya adalah `ANTHROPIC_BASE_URL` yang nonstandar; cara pembayaran langganan tidak dengan sendirinya menyebabkan hal ini. Anda dapat secara eksplisit mengatur `ENABLE_TOOL_SEARCH` untuk mengesampingkan perilaku ini. Jika proksi itu sendiri tidak mendukung blok tool_reference, memaksa mekanisme ini aktif akan menghasilkan kesalahan permintaan. Dalam hal ini, mekanisme tidak akan beralih kembali ke pemuatan definisi terlebih dahulu.

**Platform deployment.** Pencarian alat tidak berfungsi pada deployment Microsoft Foundry yang dihosting di Azure: server menolak permintaan, dan `ENABLE_TOOL_SEARCH` tidak mengesampingkan hal ini. Di Google Cloud Agent Platform, sebelum Claude Code versi 2.1.221, mekanisme ini nonaktif untuk semua model kecuali `ENABLE_TOOL_SEARCH=true` diatur secara eksplisit. Mulai versi tersebut, mekanisme ini diaktifkan secara default untuk Opus/Sonnet/Haiku 4.5 dan yang lebih baru. Untuk model yang lebih lama di platform tersebut, Claude Code tetap memuat semua alat terlebih dahulu karena infrastruktur servernya menolak header internal yang diperlukan.

Variabel `ENABLE_TOOL_SEARCH` memiliki lima kemungkinan pengaturan:

- tidak diatur — perilaku standar, dengan pengecualian yang tercantum di atas;
- `true` — mekanisme diaktifkan pada model yang mendukungnya, kecuali dalam dua kasus: Azure Foundry dan model Agent Platform yang lebih lama; permintaan yang dikirim melalui proksi tanpa dukungan untuk blok tool_reference akan gagal;
- `auto` — Claude Code memuat alat terlebih dahulu selama gabungan definisinya menggunakan kurang dari 10% jendela konteks, lalu beralih ke pemuatan tertunda setelah ambang batas tercapai;
- `auto:N` — prinsip yang sama, dengan ambang batas persentase yang ditentukan secara manual;
- `false` — mekanisme dinonaktifkan sepenuhnya dan semua alat dimuat terlebih dahulu.

Ada juga variabel `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`: jika variabel ini diatur, pencarian alat tetap nonaktif, dan pengaturan `ENABLE_TOOL_SEARCH` oleh pengguna tidak mengubahnya. Pengecualiannya adalah ketika organisasi mempertahankan pencarian alat tetap aktif melalui pengaturan terkelola, yang tersedia mulai Claude Code versi 2.1.227.

## Fungsi alwaysLoad dan dampaknya pada konteks serta startup

Kolom `alwaysLoad: true` dalam konfigurasi server tersedia untuk semua jenis server. Dengan kolom ini, semua alat dari server tersebut dimuat ke dalam konteks saat startup, apa pun pengaturan `ENABLE_TOOL_SEARCH`-nya. Agen tidak perlu mencarinya sebelum digunakan.

Memuat alat selalu memiliki dua konsekuensi. Setiap alat yang dimuat terlebih dahulu menggunakan sebagian konteks yang seharusnya tersedia untuk tugas itu sendiri. Selain itu, startup sesi menunggu server ini terhubung, dalam batas waktu standar lima detik.

Pengecualiannya adalah server jarak jauh dengan entri cache yang valid: server tersebut menyediakan alat dari cache tanpa terhubung dan tidak menunda startup. Cache penemuan nonaktif secara default kecuali sudah diaktifkan untuk akun tersebut selama peluncuran bertahap fitur ini. Anda juga dapat mengaktifkannya secara eksplisit melalui `MCP_DISCOVERY_CACHE=1`. Pengecualian startup cepat berlaku ketika cache aktif dan berisi entri yang valid. Alat dengan `alwaysLoad` tetap menggunakan konteks secara permanen, terlepas dari apakah agen akan membutuhkannya saat bekerja melalui pencarian.

Bagi siapa pun yang menulis server MCP sendiri: instruksi server membantu Claude memahami kapan harus mencari alat-alatnya, seperti halnya Skills. Claude Code memotong deskripsi setiap alat dan instruksi setiap server hingga 2048 karakter secara default, jadi letakkan detail penting di bagian awal.

Memilih cara memperluas Claude Code bergantung pada lebih dari sekadar jumlah server MCP yang terhubung. Panduan [Claude Code: berapa banyak ekstensi yang perlu dipertahankan sekaligus](https://ailoot.ai/blog/id/claude-code-skills-subagents-mcp-plugins/) dan [Apa yang harus dipilih di Claude Code: Skills, Subagents, MCP, atau Plugins](https://ailoot.ai/blog/id/skills-subagents-mcp-plugins-claude-code/) membahas Skills, Subagents, MCP, dan Plugins untuk berbagai tugas. Untuk penyiapan server MCP tertentu langkah demi langkah, lihat [Server MCP untuk Claude Code: kombinasi siap pakai](https://ailoot.ai/blog/id/mcp-servers-claude-code/).

## Selanjutnya

Untuk sekumpulan kurang dari kira-kira 10 alat yang definisinya dapat dimuat ke dalam konteks tanpa kesulitan, dokumentasi Agent SDK menyebutkan bahwa memuat semuanya sekaligus biasanya lebih cepat. Namun, dalam perilaku default Claude Code, ketika variabel tidak diatur dan tidak ada batasan di atas yang berlaku, pencarian alat diaktifkan dan pemuatan alat MCP ditunda hingga pencarian, kecuali untuk server dengan `alwaysLoad`.

Dalam kasus ini, Anda dapat secara eksplisit mengatur `ENABLE_TOOL_SEARCH=auto`: definisi akan dimuat terlebih dahulu selama jumlah gabungannya kurang dari 10% jendela konteks, dan pencarian akan diaktifkan setelah ambang batas tercapai. Pilihan lainnya adalah `ENABLE_TOOL_SEARCH=false` jika Anda tahu jumlahnya tidak akan bertambah. Dalam hal itu, Claude Code akan berhenti memberi tahu model tentang kegagalan koneksi server, seperti dijelaskan di atas.

Dalam kasus lain, periksa kembali kondisi pengoperasian saat lingkungan berubah:

- beralih ke Sonnet/Haiku/Opus 4.5 atau yang lebih baru jika sesi menggunakan model yang lebih lama;
- jika koneksi menggunakan `ANTHROPIC_BASE_URL` nonstandar, atur `ENABLE_TOOL_SEARCH=true` secara eksplisit hanya jika proksi itu sendiri meneruskan blok tool_reference;
- pastikan platform deployment bukan salah satu pengecualian: Azure Foundry atau model Google Cloud Agent Platform yang lebih lama.

Jika kondisinya terpenuhi dan pencarian tidak diblokir oleh pengaturan, Anda dapat menghubungkan server MCP yang diperlukan. Gunakan `alwaysLoad` hanya untuk server yang alatnya dibutuhkan pada setiap giliran sesi; biarkan alat lainnya dimuat melalui pencarian.

<div class="section" role="doc-bibliography" aria-label="Sumber">

### Sumber

- [MCP di Claude Code, bagian “Scale with MCP tool search” — dokumentasi resmi Anthropic](https://code.claude.com/docs/en/mcp.md)
- [Pencarian alat di Agent SDK — dokumentasi resmi Anthropic](https://code.claude.com/docs/en/agent-sdk/tool-search.md)

</div>



Jika Anda memerlukan akses ke model AI melalui Ailoot, kunjungi [Ailoot](https://ailoot.ai/).

## Pertanyaan tentang Pencarian Alat di Claude Code: Cara Agen Menemukan Alat MCP yang Dibutuhkan

### Mengapa pencarian alat bisa gagal di balik proxy meskipun aktif?

Host API pihak ketiga harus mendukung blok tool_reference. Memaksa ENABLE_TOOL_SEARCH aktif tidak dapat menambahkan dukungan itu; proxy yang tidak kompatibel dapat menolak permintaan, bukan kembali memuat semua definisi alat di awal.

### Kapan sebaiknya memakai alwaysLoad untuk server MCP?

Gunakan ketika alat server diperlukan pada setiap giliran. Semua definisi alatnya lalu menempati konteks saat startup, dan startup dapat menunggu koneksi kecuali ada entri cache penemuan yang valid.


## Ailoot · Perusahaan dan portofolio proyeknya

Ailoot bertumpu pada pengalaman operasional yang teruji, basis pelanggan yang besar, layanan yang stabil, dan pemantauan KPI berkelanjutan.

Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.

Ailoot memanfaatkan pengalaman operasional ini untuk akses API ke fitur AI dalam produk pelanggan, agen, aplikasi, dan otomatisasi.
