Protokol MCP Menghadapi Tantangan dengan Skema Tool Dinamis saat Komunitas Memperdebatkan Solusi

Tim Komunitas BigGo
Protokol MCP Menghadapi Tantangan dengan Skema Tool Dinamis saat Komunitas Memperdebatkan Solusi

Komunitas Model Context Protocol ( MCP ) sedang bergulat dengan keterbatasan signifikan yang mencegah tool menggunakan skema tipe dinamis yang saling bergantung. Tantangan teknis ini telah memicu diskusi aktif di antara para developer tentang solusi dan cara mengatasi masalah tersebut.

Masalah ini berpusat pada ketidakmampuan MCP untuk menangani skenario di mana skema input tool harus ditentukan saat runtime berdasarkan parameter lain. Berbeda dengan antarmuka chat AI kustom yang dapat menyelesaikan skema secara dinamis, tool MCP harus mendefinisikan struktur input mereka di awal, menciptakan masalah untuk aplikasi yang kompleks.

Keterbatasan MCP Saat Ini:

  • Tidak mendukung resolusi skema JSON dinamis
  • Tools harus mendefinisikan skema input saat inisialisasi
  • Tidak dapat menangani tipe dependen di mana skema bergantung pada nilai runtime
  • Solusi sementara memerlukan proses multi-langkah atau perubahan daftar tool dinamis
Tangkapan layar ini menampilkan panel properti dari model 3D, yang mencontohkan kompleksitas yang dihadapi oleh alat MCP dalam mendefinisikan skema dinamis
Tangkapan layar ini menampilkan panel properti dari model 3D, yang mencontohkan kompleksitas yang dihadapi oleh alat MCP dalam mendefinisikan skema dinamis

Masalah Inti dengan Dependent Types

Keterbatasan ini menjadi jelas dalam kasus penggunaan yang canggih seperti tool pengembangan game. Ketika bekerja dengan model 3D yang mereferensikan format file dan material yang berbeda, setiap resource dapat memiliki properti yang sangat berbeda tergantung pada konfigurasinya. Model sphere dengan material default memiliki properti yang dapat diedit yang benar-benar berbeda dibandingkan sphere yang sama dengan material physically-based rendering ( PBR ) yang diterapkan.

Hal ini menciptakan situasi yang mustahil bagi desainer tool MCP . Mereka tidak dapat mendefinisikan semua kemungkinan kombinasi properti dalam satu skema, namun protokol tidak menawarkan mekanisme untuk menghasilkan skema secara dinamis berdasarkan resource spesifik yang sedang diedit.

Dependent types merujuk pada sistem tipe di mana tipe dari suatu nilai bergantung pada nilai lain, memungkinkan struktur data yang lebih presisi dan fleksibel.

Solusi yang Diusulkan Komunitas

Komunitas developer telah menyarankan beberapa pendekatan untuk mengatasi keterbatasan ini. Satu solusi melibatkan penggunaan fitur notifikasi listChanged, di mana tool dapat ditambahkan secara dinamis ke daftar tool yang tersedia berdasarkan resource tertentu. Namun, pendekatan ini menghadapi hambatan adopsi yang besar.

Masalahnya adalah >90% klien saat ini tidak mengimplementasikan ini - termasuk Anthropic

Pendekatan lain yang disarankan memperlakukan masalah ini sebagai alur kerja dua langkah: pertama memilih resource, kemudian menggunakan tool terpisah untuk mengambil skema yang sesuai sebelum melakukan pengeditan. Meskipun ini bisa berhasil, hal ini bergantung pada agen AI yang benar dalam menghubungkan operasi-operasi ini, berpotensi mengurangi keandalan.

Beberapa anggota komunitas menunjuk pada spesifikasi yang ada seperti Arazzo , yang memperkenalkan ekspresi runtime untuk menangani argumen yang bergantung melalui alur kerja yang tersusun. Pendekatan ini dapat memberikan solusi yang lebih terstruktur untuk masalah dependent type.

Solusi yang Diusulkan:

  • Notifikasi listChanged: Menambah/menghapus tools secara dinamis (dukungan klien terbatas)
  • Alur kerja dua tahap: Memisahkan operasi pencarian skema dan pengeditan
  • Spesifikasi Arazzo: Ekspresi runtime untuk argumen yang saling bergantung
  • Peningkatan protokol: Fitur MCP baru untuk dukungan tipe yang saling bergantung
Jendela chat yang menggambarkan diskusi dalam komunitas developer tentang solusi alternatif untuk keterbatasan skema dinamis pada tool MCP
Jendela chat yang menggambarkan diskusi dalam komunitas developer tentang solusi alternatif untuk keterbatasan skema dinamis pada tool MCP

Perdebatan Akurasi

Diskusi telah mengungkap ketegangan fundamental antara fleksibilitas dan keandalan. Sementara beberapa berpendapat bahwa peningkatan akurasi model AI pada akhirnya akan menyelesaikan masalah koordinasi, yang lain menekankan perbedaan kritis antara keandalan 99% dan 100% dalam sistem produksi.

Fitur structured output saat ini dalam layanan AI terdepan sudah memberikan kepatuhan skema yang terjamin, menghilangkan properti yang dihalusinasi atau field yang diperlukan yang hilang. Komunitas MCP ingin mempertahankan tingkat keandalan ini sambil menambahkan kemampuan skema dinamis.

Perdebatan ini menyoroti pertanyaan yang lebih luas tentang apakah solusi tingkat protokol diperlukan atau apakah masalah ini berasal dari pelatihan model bahasa yang tidak memadai untuk koordinasi tool multi-langkah.

Status Implementasi Klien:

  • Lebih dari 90% klien MCP tidak mendukung notifikasi listChanged
  • Klien resmi Anthropic tidak memiliki kemampuan ini
  • Adopsi yang terbatas menciptakan hambatan untuk solusi tool dinamis

Melihat ke Depan

Seiring matangnya ekosistem MCP , kebutuhan untuk menangani skema yang kompleks dan dinamis kemungkinan akan tumbuh. Komunitas sedang mempertimbangkan proposal peningkatan spesifikasi formal untuk mengatasi keterbatasan ini secara sistematis daripada mengandalkan solusi sementara.

Hasil dari diskusi ini dapat berdampak signifikan pada bagaimana agen AI berinteraksi dengan sistem perangkat lunak yang canggih, khususnya dalam domain seperti pengembangan game, tool CAD , dan aplikasi lain dengan struktur data yang kompleks dan bergantung pada konteks.

Referensi: MCP tools with dependent types