𝗟𝗮𝘇𝘆 𝗟𝗼𝗮𝗱𝗶𝗻𝗴 𝗠𝗖𝗣 𝗧𝗼𝗼𝗹𝘀: 𝗦𝗶𝗮𝗽𝗮 𝘆𝗮𝗻𝗴 𝗠𝗲𝗻𝗱𝘂𝗸𝘂𝗻𝗴𝗻𝘆𝗮 𝗱𝗮𝗻 𝗕𝗮𝗴𝗮𝗶𝗺𝗮𝗻𝗮

Kebanyakan orang mengira biaya server MCP terletak pada kode. Mereka salah.

Jika Anda membangun server MCP, Anda akan menghadapi dua jenis biaya token:

  • Biaya tetap: Definisi tool yang dimuat ke dalam konteks setiap giliran.
  • Biaya variabel: Ukuran respons yang dikembalikan oleh sebuah tool.

Anda dapat mengontrol biaya variabel. Anda bisa melakukan paginasi hasil atau membatasi ukuran output.

Anda tidak dapat mengontrol biaya tetap. Itu adalah tugas host (client).

Jika Anda memiliki sepuluh server dengan banyak tool, Anda mungkin membuang 40.000 token bahkan sebelum model membaca pesan pertama Anda. Hal ini terjadi karena host memuat setiap definisi tool di awal.

Solusinya adalah lazy loading. Ini berarti host hanya memuat tool pencarian kecil dan menarik definisi lainnya hanya saat dibutuhkan.

Masalahnya? Kebanyakan client belum mendukung hal ini.

Status terkini dari lazy loading:

  • Claude Code: Mendukungnya. Tool dimuat sesuai permintaan melalui tool pencarian.
  • Cursor, Devin, dan lainnya: Tidak mendukungnya. Mereka memuat semuanya sekaligus.

Jika konteks Anda membengkak pada client yang tidak memiliki fitur lazy loading, Anda memiliki dua opsi:

  1. Gunakan lazy proxy Arahkan host Anda ke server proxy, bukan ke server asli Anda. Proxy tersebut hanya mengekspos dua tool: search_tools dan execute_tool. Proxy ini memuat definisi asli Anda hanya saat diminta. Ini memperkecil konteks Anda tetapi menghilangkan kontrol izin yang mendetail.

  2. Gunakan pola router Jika satu server menjadi terlalu besar, jangan menambah lebih banyak tool. Sebaliknya, buatlah satu tool dengan parameter operasi. Misalnya, gunakan satu tool "docs" dengan perintah seperti "list", "get", atau "search". Ini mengurangi jumlah skema yang harus dimuat oleh host.

Ringkasan strategi:

  • 6 hingga 15 tool: Jangan lakukan apa-apa. Biayanya terlalu rendah untuk dikhawatirkan.
  • Banyak tool dalam satu server: Gunakan pola router.
  • Banyak server yang berbeda: Gunakan lazy proxy.

Periksa perilaku client Anda sebelum Anda menghabiskan waktu berjam-jam untuk mengoptimalkan kode Anda. Perbaikannya mungkin tidak terletak pada server Anda sama sekali.

Sumber: https://dev.to/ismaestro/lazy-loading-mcp-tools-which-clients-support-it-and-how-4414

Komunitas belajar opsional: https://t.me/GyaanSetuAi