Apa Itu MCP Server? Pengertian, Cara Kerja, dan Contoh Implementasinya
MCP Server (Model Context Protocol Server) adalah perangkat lunak yang berfungsi sebagai penghubung antara AI dan berbagai sistem atau aplikasi lain.
Tanpa MCP Server, AI hanya bisa menjawab berdasarkan informasi yang diberikan pengguna atau pengetahuan yang dimilikinya. AI tidak dapat langsung membuka GitHub, membaca file di komputer, mengakses database, atau menjalankan perintah pada server.
Dengan adanya MCP Server, AI dapat berkomunikasi dengan sistem-sistem tersebut melalui cara yang terstandarisasi dan aman. AI bisa meminta data, menjalankan tugas tertentu, atau mengirimkan perubahan sesuai izin yang diberikan.
Sebagai contoh:
- AI dapat membaca isi repository GitHub.
- AI dapat membuat atau memperbarui tiket di Jira.
- AI dapat mengakses database untuk mengambil data.
- AI dapat membaca dan mengedit file di komputer.
- AI dapat mengelola container Docker atau menjalankan perintah di server.
Sederhananya, MCP Server dapat diibaratkan sebagai “jembatan” yang menghubungkan AI dengan berbagai layanan dan aplikasi. AI tidak berkomunikasi langsung dengan GitHub, database, atau server, melainkan melalui MCP Server yang menerjemahkan setiap permintaan menjadi tindakan yang dipahami oleh sistem tersebut.
Karena menggunakan standar yang sama, satu MCP Server dapat digunakan oleh berbagai aplikasi AI yang mendukung Model Context Protocol. Hal ini membuat pengembang tidak perlu membuat integrasi berbeda untuk setiap layanan AI, sehingga proses pengembangan menjadi lebih sederhana, konsisten, dan mudah dipelihara.
Cara kerja dalam studi kasus kependudukan
Sebagai contoh, sebuah MCP Server dapat menyediakan data kependudukan kepada AI. Data tersebut dapat berasal dari database, API, maupun sumber data lain yang dimiliki oleh aplikasi.
Ketika AI pertama kali terhubung ke MCP Server, AI akan meminta informasi mengenai tool yang tersedia. MCP Server kemudian mengirimkan daftar tool beserta deskripsi dan parameter yang diperlukan. Dari informasi tersebut, AI dapat memahami kemampuan yang dimiliki oleh server.
Misalnya tersedia tool seperti get_kecamatan, get_desa, get_penduduk, dan get_total_penduduk_kecamatan. Setiap tool memiliki fungsi yang berbeda. AI akan memilih tool yang paling sesuai berdasarkan pertanyaan yang diajukan pengguna.
Sebagai contoh, ketika pengguna bertanya, “Apa saja desa di Kecamatan Ingin Jaya?”, AI tidak menjawab berdasarkan pengetahuan yang dimilikinya. AI terlebih dahulu memilih tool get_desa karena tool tersebut dirancang untuk menampilkan daftar desa berdasarkan nama kecamatan.
Selanjutnya, AI mengirimkan nama kecamatan kepada MCP Server. MCP Server menerima permintaan tersebut, menjalankan logika yang telah dibuat oleh pengembang, kemudian mencari data yang sesuai dari sumber data yang tersedia. Setelah data ditemukan, MCP Server mengembalikan hasilnya kepada AI dalam format yang telah ditentukan.
AI kemudian mengolah hasil tersebut menjadi jawaban yang mudah dipahami oleh pengguna. Dengan demikian, AI tidak perlu mengetahui bagaimana data disimpan, bagaimana proses pencarian dilakukan, atau teknologi apa yang digunakan di belakangnya. Seluruh proses tersebut ditangani oleh MCP Server.
Alur kerjanya dapat digambarkan sebagai berikut.
Melalui mekanisme tersebut, AI berperan sebagai antarmuka yang memahami bahasa manusia, sedangkan MCP Server bertugas menjembatani komunikasi antara AI dengan sistem yang digunakan. Pembagian tugas ini membuat integrasi menjadi lebih sederhana, karena perubahan pada database, API, maupun logika aplikasi cukup dilakukan di sisi MCP Server tanpa mengubah cara AI berinteraksi dengan sistem tersebut.
Untuk memberikan gambaran yang lebih mudah dipahami, berikut adalah contoh implementasi MCP Server yang dapat dilihat pada https://github.com/fajrulaulia/sse-mcp-server-example?utm_source=fajrulaulia.com
Pada contoh tersebut, MCP Server dibangun menggunakan Node.js, Express, dan MCP SDK. Server menyediakan beberapa tool yang dapat dipanggil oleh AI untuk mengambil informasi mengenai data kependudukan di Aceh. Seluruh data masih disimpan dalam bentuk array di dalam kode program sehingga repository ini berfungsi sebagai contoh implementasi dasar, bukan aplikasi yang terhubung ke database.
Ketika AI berhasil terhubung ke MCP Server melalui endpoint /sse, langkah pertama yang dilakukan adalah meminta daftar tool yang tersedia. MCP Server kemudian mengembalikan informasi mengenai setiap tool beserta deskripsi dan parameter yang dibutuhkan. Informasi ini digunakan AI untuk memahami kemampuan yang dimiliki oleh server.
Sebagai contoh, repository ini menyediakan beberapa tool seperti get_kecamatan, get_desa, get_penduduk, get_all_data, dan get_total_penduduk_kecamatan. Saat pengguna mengajukan pertanyaan, AI akan memilih tool yang paling sesuai, mengirimkan parameter yang diperlukan kepada MCP Server, lalu menunggu hasil pemrosesan.
Setelah menerima permintaan tersebut, MCP Server menjalankan logika yang telah ditentukan. Pada repository ini, proses tersebut dilakukan dengan mencari data pada array DATA dan menyusun hasilnya dalam format yang dapat dipahami oleh AI. Setelah itu, hasil dikirim kembali kepada AI untuk diubah menjadi jawaban yang mudah dipahami oleh pengguna.
Melalui contoh sederhana ini, terlihat bahwa tugas utama MCP Server bukan menghasilkan jawaban, melainkan menyediakan kemampuan (tools) yang dapat digunakan AI untuk berinteraksi dengan data atau sistem lain sesuai kebutuhan.