Large Language Model (LLM) seringkali membutuhkan koneksi ke sumber daya eksternal seperti repositori data, alat khusus, atau Application Programming Interface (API) untuk membuka potensi sebenarnya. Namun, metode standar untuk integrasi ini belum ada - hingga saat ini.
Anthropic telah melangkah maju dengan solusi potensial: Model Context Protocol (MCP), sebuah protokol terbuka yang bertujuan untuk menjadi “USB-C” dari dunia AI. Mari kita jelajahi MCP secara detail, memeriksa fungsionalitas, aplikasi, tantangan, dan strategi penyebarannya.
Diperkenalkan baru-baru ini, MCP adalah proyek sumber terbuka yang dipelopori oleh pencipta model Claude. Ini membayangkan standar terbuka universal yang menghubungkan sistem AI dengan berbagai sumber data secara mulus.
MCP memperluas jangkauannya melampaui basis data sederhana, memungkinkan akses ke beragam alat dan sumber daya. Kemampuan ini termasuk membuat kueri basis data, memulai kontainer Docker, dan bahkan berinteraksi dengan platform pesan populer seperti Slack atau Discord.
Apakah tujuannya adalah untuk mengintegrasikan LLM dengan basis data SQL, mengelola klaster Kubernetes, atau mengotomatiskan tugas Jira, ada kemungkinan besar bahwa server MCP yang sesuai sudah ada. Momentum proyek ini sangat luar biasa, menarik minat dan dukungan signifikan dari raksasa industri seperti OpenAI dan Google.
Eksplorasi ini akan mempelajari aspek praktis MCP, menyoroti potensi aplikasi, tantangan inheren, dan metode untuk menyebarkan dan mengintegrasikan server MCP dengan Claude Desktop dan model khusus menggunakan Open WebUI.
Memahami MCP: Arsitektur Klien-Server
MCP beroperasi pada arsitektur klien-server konvensional, terdiri dari tiga elemen fundamental: host, klien, dan server.
Host biasanya merupakan antarmuka yang menghadap pengguna, seperti Claude Desktop atau Integrated Development Environment (IDE) seperti Cursor. Ia bertanggung jawab untuk mengelola satu atau lebih klien MCP.
Setiap klien membuat koneksi khusus dengan server melalui protokol MCP. Komunikasi antara klien dan server terjadi melalui pesan JSON-RPC, dengan lapisan transport bervariasi berdasarkan implementasi spesifik. Lapisan transport yang saat ini didukung meliputi Stdio, HTTP, dan server-sent events (SSE).
Server MCP mengekspos kemampuan spesifik ke klien, membuatnya dapat diakses oleh host dengan cara yang standar. Aksesibilitas seragam ini adalah alasan utama mengapa MCP sering dibandingkan dengan USB-C untuk AI.
Sama seperti USB merevolusi konektivitas dengan menghilangkan kebutuhan akan antarmuka yang berbeda untuk periferal dan perangkat penyimpanan, MCP berusaha untuk menciptakan bahasa umum bagi model untuk berinteraksi dengan data dan alat.
Peran server MCP bergantung pada lokasi sumber daya. Untuk sumber daya lokal, seperti basis data SQLite, server langsung mengakses sumber daya. Untuk sumber daya jarak jauh, seperti bucket S3, ia bertindak sebagai jembatan, menyampaikan panggilan API. Fungsi menjembatani ini memperkuat analogi USB-C, karena server MCP sering berfungsi sebagai adaptor, menerjemahkan antarmuka khusus vendor ke dalam format standar yang dapat dengan mudah dipahami oleh model bahasa.
Mekanisme eksposur dan respons yang konsisten adalah aspek kunci dari MCP, memastikan keseragaman di berbagai sumber daya.
Salah satu fitur MCP yang paling menarik adalah kemampuan komunikasi dua arahnya. Tidak hanya aplikasi host dapat meminta data dari server, tetapi server juga dapat berkomunikasi dengan LLM melalui permintaan sampling/createMessage ke klien. Meskipun fungsionalitas ini belum didukung secara universal, ini membuka jalan bagi alur kerja agentik yang menarik.
Dengan pemahaman mendasar tentang MCP, mari kita periksa aplikasi praktisnya.
Praktik dengan MCP: Pengujian dengan Claude Desktop
Mengingat pengembangan MCP oleh Anthropic, Claude Desktop menyediakan lingkungan yang mudah untuk eksperimen awal.
Untuk pengguna yang lebih suka menghindari penyedia LLM pihak ketiga, bagian selanjutnya akan membahas tentang menghubungkan server MCP ke model lokal dan antarmuka Open WebUI.
Selain Claude Desktop, beberapa dependensi diperlukan karena server MCP dapat beroperasi di berbagai lingkungan. Untuk demonstrasi ini, Node.js, Python 3, dan manajer paket UVX untuk Python harus diinstal.
Setelah menginstal dependensi yang diperlukan, luncurkan Claude Desktop dan masuk menggunakan akun Anthropic. Navigasi ke pengaturan aplikasi dan kemudian ke tab “Pengembang”.
Mengklik tombol “Edit Config” akan secara otomatis menghasilkan file claude_desktop_config.json
kosong di folder ~/Library/Application Support/Claude/
di macOS atau folder %APPDATA%\\Claude\\
di Windows. File ini akan menampung konfigurasi Klien MCP. Server Waktu Sistem dan Sistem File MCP akan digunakan untuk tujuan pengujian.
Buka file claude_desktop_config.json
di editor teks atau IDE (misalnya, VSCodium) dan ganti isinya dengan konfigurasi time-server berikut, sesuaikan zona waktu sesuai keinginan: