Menghubungkan LLM ke sumber data lewat MCP
Bayangkan tiap aplikasi AI harus menulis ulang kode integrasi ke Google Drive, database, atau Slack dari nol. MCP (Model Context Protocol) menstandarkan ini — sekali kamu tulis 'server' MCP, semua aplikasi AI yang mendukung protokolnya bisa memakainya.
Intisari
- MCP (Model Context Protocol) adalah standar terbuka dari Anthropic untuk menghubungkan aplikasi AI ke sumber data & tool eksternal — dianalogikan sebagai 'USB-C untuk aplikasi AI'.
- Tanpa MCP: tiap kombinasi (aplikasi AI × sumber data) butuh kode integrasi custom sendiri — kombinasi M aplikasi × N sumber data = M×N integrasi. Dengan MCP: M+N (tiap sisi cukup mendukung protokolnya sekali).
- Arsitekturnya client-server: aplikasi AI (mis. Claude Desktop, atau aplikasimu sendiri) bertindak sebagai MCP client, yang terhubung ke MCP server yang mengekspos data/tool tertentu (database, filesystem, API internal).
- MCP server bisa mengekspos tiga jenis kemampuan: tools (fungsi yang bisa dipanggil, seperti tool use di Fase 2), resources (data yang bisa dibaca), dan prompts (template siap pakai).
- Untuk AI engineer, MCP relevan dua arah: memakai MCP server yang sudah ada (Anthropic & komunitas menyediakan banyak) supaya agentmu langsung bisa akses Slack/GitHub/database, atau menulis MCP server sendiri untuk mengekspos sistem internal perusahaan ke aplikasi AI apa pun.
Masalah M×N yang dipecahkan MCP
Tool use di Fase 2 mengharuskanmu mendefinisikan skema tool secara manual untuk setiap kombinasi aplikasi dan sumber data — kode untuk menghubungkan agent ke database berbeda dari kode untuk menghubungkannya ke Google Drive, dan itu harus ditulis ulang di setiap aplikasi AI yang ingin memakainya.
Tanpa standar: M aplikasi AI × N sumber data = M×N integrasi custom
Dengan MCP: M aplikasi (jadi MCP client) + N sumber data (jadi MCP server) = M+N
MCP (Model Context Protocol), dibuat & dirilis terbuka oleh Anthropic, menstandarkan "bentuk" komunikasi ini — sekali sebuah sistem punya MCP server, aplikasi AI apa pun yang mendukung MCP bisa langsung memakainya tanpa kode integrasi custom.
Arsitektur: client dan server
| Peran | Contoh | Tugasnya |
|---|---|---|
| MCP host/client | Claude Desktop, IDE dengan AI, atau aplikasi agent buatanmu sendiri | Terhubung ke satu atau lebih MCP server, meneruskan kemampuannya ke model |
| MCP server | Server yang mengekspos database perusahaan, filesystem, Slack, GitHub, dll. | Menyediakan tools/resources/prompts lewat protokol standar |
Tiga jenis kemampuan yang diekspos server
| Jenis | Analoginya | Contoh |
|---|---|---|
| Tools | Persis seperti tool use di Fase 2 — fungsi yang bisa dipanggil model | buat_tiket_jira(judul, deskripsi) |
| Resources | Data yang bisa dibaca model sebagai konteks, mirip mengambil file | Isi dokumen kebijakan perusahaan, skema database |
| Prompts | Template prompt siap pakai yang disediakan server | "Template untuk merangkum tiket support" |
Contoh minimal: MCP server untuk database internal
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("data-internal")
@mcp.tool()
def cari_pelanggan(email: str) -> dict:
"""Cari data pelanggan berdasarkan email di database internal."""
return db.query("SELECT * FROM pelanggan WHERE email = %s", [email])
@mcp.resource("kebijakan://refund")
def kebijakan_refund() -> str:
"""Isi kebijakan refund terbaru perusahaan."""
return open("kebijakan_refund.md").read()
if __name__ == "__main__":
mcp.run()
Ini terasa mirip tool use di Fase 2 — dan memang begitu secara konsep. Perbedaannya bukan pada apa yang dilakukan model (masih memutuskan panggil tool, terima hasil, lanjutkan), tapi pada siapa yang menulis & memelihara kode integrasinya. Tool use manual berarti kamu menulis definisi skema & implementasi sendiri di setiap aplikasi. MCP server ditulis sekali, lalu bisa dipakai ulang oleh aplikasi AI mana pun yang menjadi MCP client — termasuk Claude Code, yang sedang kamu pakai untuk membaca materi ini.
Kapan menulis MCP server sendiri vs pakai tool use manual
| Situasi | Pilihan |
|---|---|
| Tool sekali pakai, khusus satu aplikasi | Tool use manual (Fase 2) — lebih sederhana, tidak butuh infrastruktur server terpisah |
| Sumber data/tool yang ingin dipakai lintas banyak aplikasi AI (Claude Desktop, IDE, agent internal) | MCP server — ditulis sekali, dipakai berkali-kali |
| Ingin memakai integrasi yang sudah ada (Slack, GitHub, Google Drive, dll.) | Cari MCP server yang sudah tersedia dari komunitas/vendor sebelum menulis sendiri |
Latihan: baca bagian arsitektur di dokumentasi resmi MCP, lalu gambarkan diagram sederhana (di kertas atau teks) untuk skenario: aplikasi customer-service internalmu (sebagai MCP client) perlu akses ke database pelanggan DAN ke sistem tiket support — dua MCP server terpisah. Tandai di diagram itu mana bagian yang menurutmu sebaiknya jadi tool vs resource.
Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.