Day 20 - Apa itu Model Context Protocol (MCP)?
Gue nonton video dari Greg Isenberg soal model context protocol atau disingkat MCP. Abis nonton itu, gue jadi pengen belajar soal MCP ini. Lo bisa lihat videonya di sini ya
Nah dari video itu, gue dapet pengentahuan baru soal LLM. Jadi LLM itu ada beberapa generasi:
- Gen 1 -> LLM itu sendiri
- Gen 2 -> LLM + Tools
- Gen 3 -> LLM + MCP
Generasi pertama: LLM itu sendiri
Secara umum, LLM itu gak bisa melakukan hal yang meaningful. Meaningful di sini itu artinya ketika lo pake LLM, LLM bisa ngerjain layaknya manusia. Contoh, ngirim dan nerima email, bales chat di Slack, dst. LLM itu cuma model machine learning yang tujuannya buat prediksi kata-kata selanjutnya dari input yang diberikan. Kita, sebagai user, hanya bisa nanya ke LLM sebuah pertanyaan. Di generasi ini, kita gak bisa nyuruh LLM untuk ngirim email.
Generasi kedua: LLM + Tools
Nah, kita tuh lagi di fase ini. Fase dimana LLM mulai diintegrasikan dengan tools kayak Slack, Email, Calendar, dst. Di fase ini, kita bisa nyuruh LLM untuk melakukan hal-hal meaningful seperti ngirim email dan bales chat. Akan tetapi, semakin banyak tools yang diintegrasikan ke LLM, semakin kompleks sistemnya dan kita perlu bikin custom script untuk setiap tool yang kita integrasikan karena setiap tool beda integrasinya. Kebayangkan ribetnya?
Nah terus ada satu masalah lagi, klo misalnya tool yang kita udah integrasikan ke LLM ternyata berubah total alias major, terus harus gimana? Ya jawabannya mau gamau harus integrasi ulang deh.
3rd Gen: LLM + MCP
Di fase ketiga ini, MCP muncul. MCP itu seperti layer tambahan antara LLM dan tools. Jadi si MCP ini fungsinya kayak USB-C. Lo kalo pake USB-C kan bisa nyolok kemana aja. Laptop bisa, hape bisa, hdmi bisa, apapun yang udah support USB-C bisa dicolok. Nah, MCP juga gitu. MCP adalah protocol yang mentranslate perintah dari Host ke tools yang kita pengen menjadi satu perintah universal. Jadi kita gak usah ribet-ribet bikin custom script untuk setiap tool. Pake aja satu MCP dan kita bisa interaksi dengan tool tersebut.
Antropic Research: Model Context Protocol
MCP itu dilahirkan oleh Antropic dan kita bisa baca intronya di sini. Nah sekarang mari kita beda isi dari MCP berdasarkan dokumentasi yang ada
General Architecture
Arsitektur MCP secara umum itu terdiri dari:
Get Started
- MCP Hosts: Ini adalah program seperti Claude, IDEs, atau AI model yang mau akses data melalui MCP. Istilahnya bot lah wkwk.
- MCP Client: Protocol client yang maintain interaksi 1:1 ke MCP server
- MCP Server: Ini core dari MCP. Jadi MCP server ini adalah program yang akan menerima perintah MCP client dan membuatnya terstandar sesuai protocol MCP.
- Local Data Sources: Data di komputer lo, database, dan service yang MCP bisa akses secara secure karena in local.
- Remote Services: External service yang MCP bisa konek terhadapnya dan biasanya melalui API, kayak API Slack, API github, dst.
Untuk contoh-contoh pengaplikasian MCP, kita bagi ke dalam tiga kelompok:
- MCP untuk Server
- MCP untuk client
- MCP untuk Claude Desktop