Model Context Protocol, Dijelaskan untuk Pembangun
Setiap tim yang membangun lebih dari satu agent menulis adaptor yang sama dua kali: menyambung ke sistem, menjelaskan apa yang bisa dilakukannya, dan menyajikan kemampuan itu ke model dalam bentuk yang diharapkan klien hari ini. Model Context Protocol ada untuk menghentikan duplikasi itu dengan membakukan antarmuka antara klien agent dan server alat.
Itu benar-benar berguna, dan juga lebih sempit dari yang disiratkan antusiasme. MCP menjelaskan bagaimana kemampuan diumumkan dan dipanggil. Ia tidak memutuskan siapa yang boleh memanggilnya, dan mencampuradukkan keduanya adalah sumber insiden keamanan.
Yang dibakukan protokol ini#
- Penemuan: server memberi tahu klien alat dan sumber daya yang ditawarkan, lengkap dengan skema.
- Pemanggilan: klien memanggil alat dengan argumen bertipe dan menerima hasil terstruktur.
- Sumber daya: konten hanya-baca yang bisa ditarik klien ke konteks saat diminta.
- Transport: format bersama agar klien dan server dari penulis berbeda bisa saling bekerja.
Yang sengaja tidak dilakukannya#
MCP tidak mengautentikasi pengguna Anda, tidak menentukan catatan mana yang boleh dibaca siapa, dan tidak menentukan apakah sebuah tindakan butuh persetujuan. Semua itu tetap milik Anda dan harus hidup di sisi server — klien yang meminta izin dengan sopan bukanlah sistem izin. Kesalahan arsitektur paling umum adalah membuka alat luas seperti `run_query` lewat MCP dan berharap prompt menahannya.
Perlakukan tiap alat MCP seolah pemanggil yang bingung atau dimanipulasi akan memanggilnya dengan argumen terburuk yang masuk akal.
Di mana ia berguna hari ini#
| Situasi | Nilai MCP |
|---|---|
| Satu sistem internal, beberapa klien agent | Tinggi — server ditulis sekali |
| Asisten desktop yang membaca konteks lokal | Tinggi — ekosistemnya dibangun di sana |
| Satu agent dengan tiga alat khusus | Rendah — panggilan fungsi langsung lebih sederhana |
| Alat pihak ketiga yang tak Anda kendalikan | Sedang — praktis, tapi audit servernya |
Cara mengadopsinya dengan aman#
- Bungkus kemampuan sempit, bukan kuasa umum: `get_order(id)`, bukan `sql(query)`.
- Terapkan otorisasi di dalam server, per panggilan, dengan identitas pengguna akhir.
- Kembalikan galat pendek dan jujur — `tidak ditemukan`, `tidak diizinkan`.
- Catat tiap pemanggilan dengan argumen dan identitas; itulah jejak audit Anda.
- Sematkan server yang Anda pakai ke versi yang sudah ditinjau.
Pertanyaan yang sering diajukan
Perlukah MCP untuk membangun agent?
Tidak. Untuk satu agent dengan beberapa alat khusus, panggilan fungsi langsung lebih sederhana. MCP mulai berguna saat kemampuan yang sama harus dijangkau dari beberapa klien.
Apakah MCP aman secara bawaan?
Ia standar transport dan penemuan, bukan model keamanan. Autentikasi, otorisasi per pengguna, dan gerbang persetujuan Anda terapkan di sisi server.
Bisakah server MCP jadi jalur injeksi?
Bisa — lewat deskripsi alat yang masuk ke konteks maupun lewat konten yang dikembalikan. Perlakukan keluarannya sebagai tak tepercaya.
model context protocolmcp dijelaskanstandar alat agentkeamanan mcppenemuan alat