Tunas Akara
Kembali ke Blog

Memberi Agen AI Akses ke Sistem Bisnis dengan Aman

MCP menyambungkan agen AI ke ERP atau PMS hotel. Mulai dari akses baca, buat alat yang sempit, setujui tiap perubahan, dan catat semua panggilan.

oleh Rayhan10 menit baca

Untuk Bisnis

mcpai-agentssecurityintegrationllm
Memberi Agen AI Akses ke Sistem Bisnis dengan Aman
Daftar isi

MCP (Model Context Protocol) adalah colokan standar agar asisten AI bisa membaca dan bertindak di ERP, sistem hotel, atau database Anda. Supaya aman, pegang empat aturan: mulai dari akses baca saja, buat setiap alat sesempit mungkin, wajibkan persetujuan manusia untuk setiap perubahan data, dan catat semua panggilan. Pengaman ini dibangun di server Anda, bukan diberikan oleh protokolnya.

Apa itu MCP?

Bayangkan loket bank. Nasabah hanya bisa meminta layanan yang tertulis di papan loket: setor, tarik, cetak buku. Ia tidak bisa masuk ke ruang brankas, sepintar apa pun ia meminta. Server MCP adalah loket untuk salah satu sistem Anda. Server memajang daftar tool atau alat, misalnya "cek kamar kosong" atau "buat draf faktur", lengkap dengan keterangan dan isian yang diterima. Agen AI membaca daftar itu lalu memilih alat yang menurutnya cocok.

Anthropic memperkenalkan MCP pada November 2024. Sejak itu, MCP menjadi cara umum menyambungkan asisten AI dan agen pemrograman ke perangkat lunak lain. Jadi, vendor yang menawarkan "AI untuk ERP Anda" pada 2026 hampir pasti sedang membicarakan server MCP, meski istilah itu tidak disebut. Versi terbarunya adalah spesifikasi 2026-07-28. Ada dua perubahan yang penting bagi pengelola server:

  • Tiap permintaan berdiri sendiri. Jabat tangan pembuka dan header sesi dihapus. Kalau sebuah alat perlu mengingat sesuatu antarpanggilan, ingatan itu dibawa sebagai ID eksplisit. Panduan keamanannya menegaskan bahwa memegang ID semacam itu tidak boleh dianggap sudah login.
  • Nama alat terlihat di header. Permintaan HTTP kini wajib membawa Mcp-Method dan Mcp-Name. Akibatnya, gateway atau firewall di depan server bisa tahu alat mana yang dipanggil, lalu memblokir atau membatasinya tanpa membongkar isi permintaan.

Perumpamaan loket tadi juga menunjukkan letak risikonya. Yang menulis papan layanan menentukan apa yang bisa dilakukan agen. Kalau di papan itu tertulis "jalankan perintah database apa saja", berarti kunci brankas sudah Anda serahkan.

Kenapa menyambungkan agen AI lebih berisiko daripada integrasi biasa?

Integrasi biasa memanggil sistem Anda dengan cara yang sama setiap kali, karena setiap panggilannya ditulis programmer. Agen lain ceritanya. Ia memutuskan sendiri saat berjalan: alat mana yang dipakai dan dengan isian apa, berdasarkan teks yang ia baca. Teks itu termasuk keterangan alat itu sendiri, dan keterangan alat bisa disusupi.

Penyusun spesifikasinya sadar soal ini. Bab tentang alat menyebut sebaiknya selalu ada manusia yang bisa menolak pemanggilan alat. Bab yang sama meminta aplikasi klien memperlakukan label alat, seperti "hanya baca" atau "merusak data", sebagai informasi yang tidak bisa dipercaya kecuali servernya memang tepercaya. Perhatikan kata sebaiknya (SHOULD). Itu anjuran, bukan kewajiban yang pasti dipenuhi semua aplikasi.

Tiga jenis kegagalan berikut sudah terjadi di dunia nyata, bukan sekadar di laboratorium:

MasalahnyaKasus nyataPelajaran untuk sistem Anda
Perintah tersembunyi dalam keterangan alatUji MCPTox, Agustus 2025: 353 alat dari 45 server aktif diuji ke 20 model; keterangan yang disusupi berhasil rata-rata 36,5%, tertinggi 72,8% pada satu modelJangan mengandalkan model untuk mengabaikan keterangan yang jahat
Tiruan server aslipostmark-mcp versi 1.0.16, 17 September 2025: tiruan server email Postmark menambahkan satu baris yang diam-diam mengirim tembusan BCC setiap email ke penyerangPasang hanya dari penerbit yang sudah diverifikasi, dan kunci versinya
Server yang berjalan otomatis dari folder proyekAmazon Q untuk VS Code, CVE-2026-12957 dan CVE-2026-12958: berkas konfigurasi rakitan di repositori menjalankan kode dengan kredensial cloud milik pengembang; dilaporkan 20 April, buletin AWS terbit 26 Juni 2026Konfigurasi alat tidak boleh langsung jalan tanpa diperiksa

Tim respons insiden Microsoft merangkum pergeseran ini dalam tulisan 30 Juni 2026: penyusupan perintah ke agen bisa memicu tindakan. Peringkas teks yang membaca email jahat hanya menghasilkan ringkasan yang keliru. Lain halnya dengan agen yang tersambung ke PMS, sistem pengelola reservasi hotel. Setelah membaca email jahat, agen itu bisa mengubah pemesanan. Sisi kotak masuknya sudah saya bahas di artikel penyusupan perintah lewat pesan. Artikel ini membahas ujung satunya: sistem yang bisa disentuh agen.

Langkah 1: Mulai dari akses baca, dan kunci di database

Versi pertama server MCP untuk sistem internal sebaiknya hanya bisa membaca. Ketersediaan kamar, stok, faktur yang belum dibayar, riwayat perawatan mesin: nilainya sudah besar. Staf cukup bertanya "kamar apa yang kosong tanggal 20, dan berapa tarif kita akhir pekan lalu?" tanpa membuka tiga layar.

Status "hanya baca" harus benar-benar berlaku di sistem, bukan sekadar tertulis di keterangan alat. Label itu cuma petunjuk yang belum tentu dituruti model, dan spesifikasinya sendiri melarang klien memercayainya mentah-mentah. Di lapangan, caranya begini:

  • Beri server MCP akun database sendiri yang hanya punya izin SELECT. Lebih baik lagi kalau izinnya hanya ke beberapa view, yaitu kueri tersimpan yang sudah disaring, bukan ke tabel mentah.
  • Buang kolom yang tidak perlu dilihat agen, seperti nomor identitas tamu, potongan nomor kartu, atau gaji staf. Kolom yang tidak ada di view tidak mungkin bocor.
  • Batasi jumlah hasil. Alat "daftar reservasi" yang bisa mengembalikan 50.000 baris sebetulnya alat ekspor data dengan nama yang lebih ramah.

Dengan begitu, kalau keterangan alat atau perintahnya disusupi, akibat terburuknya hanya agen membaca data yang memang boleh ia baca. Insiden seperti itu jauh lebih kecil daripada reservasi yang berubah diam-diam.

Langkah 2: Buat alat yang sempit, bukan alat serba bisa

Cara tercepat menyambungkan agen adalah satu alat umum, misalnya execute_sql atau call_api(endpoint, body). Cara ini juga yang paling berbahaya, karena seluruh kemampuan sistem Anda langsung tersedia di loket.

Alat yang sempit memang menambah sedikit waktu pengembangan. Sebagai gantinya, kerusakan akibat satu kesalahan jadi jauh lebih terbatas. Contohnya untuk PMS hotel:

Alat umum (hindari)Alat sempit (pilih ini)Kenapa lebih aman
execute_sql(query)get_room_availability(date_from, date_to, room_type)Kuerinya tetap, rentang tanggal dibatasi, tabel lain tidak tersentuh
update_reservation(id, fields)request_rate_change(reservation_id, new_rate, reason)Hanya membuat usulan perubahan, menyentuh satu kolom, dan mencatat alasannya
send_message(to, text)draft_guest_reply(reservation_id, text)Penerima diambil dari data reservasi, bukan dipilih model
call_api(endpoint, body)Satu alat per tindakan bisnisTiap tindakan bisa punya izin dan batasnya sendiri

Perhatikan baris ketiga. Kalau model boleh memilih penerima, data bisa keluar lewat jalan itu. Penerima, nomor rekening, atau nominal yang bisa diambil dari data yang sudah ada sebaiknya ditentukan server, bukan diterima sebagai isian dari model.

Nama alat, isian, dan keterangannya adalah kesepakatan dengan setiap agen yang memakainya. Ganti nama alat atau ubah arti salah satu isian, dan agen mulai memanggilnya dengan keliru. Polanya sama dengan integrasi mitra yang rusak karena API berubah tanpa pemberitahuan. Beri versi seperti kontrak integrasi pada umumnya.

Langkah 3: Pakai izin masing-masing orang, bukan satu kunci induk

Jalan pintas yang sering diambil adalah memberi server MCP satu akun layanan berizin besar, lalu semua agen memakainya. Hasilnya, asisten milik petugas resepsionis bisa melihat laporan keuangan, hanya karena servernya bisa.

Kaitkan setiap panggilan dengan orang di baliknya. Agen yang bekerja untuk resepsionis cukup melihat apa yang hari ini bisa dilihat resepsionis di PMS. Spesifikasi MCP mendukung pola ini. Server boleh menampilkan daftar alat yang berbeda sesuai izin pemanggil. Agen milik night auditor bisa ditawari alat yang tidak pernah muncul untuk agen kepala housekeeping.

Dua aturan dari panduan keamanan spesifikasinya layak Anda teruskan ke vendor yang membangun sistem ini:

  • Jangan meneruskan token begitu saja. Server MCP tidak boleh menerima token yang tidak diterbitkan khusus untuknya. Server yang menerima token login apa pun dari klien, lalu meneruskannya ke ERP, membuat Anda tidak bisa melacak siapa melakukan apa.
  • Mulai dari izin terkecil. Awali dengan cakupan baca dasar. Cakupan (scope) adalah kumpulan izin yang tertulis di dalam token login. Minta cakupan tambahan hanya ketika alat yang lebih berisiko pertama kali dipakai. Cakupan lebar seperti admin:* mengubah satu token yang dicuri menjadi akses ke semua hal.

Langkah 4: Wajibkan persetujuan sebelum ada data yang berubah

Setelah versi baca saja terbukti berjalan baik, kemampuan menulis bisa ditambahkan. Namun, setiap perubahan harus lewat tangan manusia. Pola paling aman: alat penulis hanya membuat draf, bukan mengubah data langsung. Contohnya usulan perubahan tarif, draf pesanan pembelian, atau draf balasan. Staf lalu menyetujuinya di aplikasi yang sudah biasa mereka pakai.

Memuat diagram…

Kenapa persetujuannya di PMS, bukan di jendela obrolan? Agen tidak bisa memalsukan klik di aplikasi Anda sendiri. Spesifikasi 2026-07-28 memang memungkinkan alat berhenti sejenak untuk meminta konfirmasi pengguna, dan itu berguna. Tetapi permintaan itu tetap lewat aplikasi AI. Persetujuan yang tercatat di sistem Anda, dengan login penyetuju sendiri, adalah bukti yang bisa diaudit belakangan.

Tidak semua tindakan perlu pintu yang sama. Pembagian sederhana seperti ini sudah cukup:

TindakanContohPengaman
MembacaKetersediaan, stok, laporanOtomatis, dicatat
Menulis di internal dan bisa dibatalkanMenambah catatan, membuat drafOtomatis atau persetujuan ringan
Uang, penghapusan, atau apa pun yang dikirim keluarRefund, perubahan tarif, email ke tamuSelalu disetujui manusia
Tidak boleh lewat agenMengubah izin pengguna, ekspor seluruh dataAlatnya tidak dibuat

Baris terakhir paling penting. Ada tindakan yang memang tidak perlu dipajang di loket.

Langkah 5: Catat setiap panggilan dan siapkan tombol mati

Spesifikasinya mewajibkan server memeriksa isian, menegakkan hak akses, membatasi frekuensi panggilan, dan membersihkan keluaran. Pencatatan untuk audit hanya dianjurkan di sisi aplikasi klien. Jangan serahkan pencatatan ke klien. Server Anda sendiri harus mencatat setiap panggilan: siapa penggunanya, alat apa, isiannya, berapa data yang dikembalikan, dan ID persetujuan bila ada.

Dua kebiasaan operasional ini cepat terasa manfaatnya:

  • Batas panggilan per alat. Karena Mcp-Name kini ada di header, gateway bisa mengizinkan 200 cek ketersediaan per jam tetapi hanya 10 usulan perubahan tarif, tanpa mengubah kode server.
  • Sakelar untuk mematikan satu alat tanpa deploy ulang. Kalau ada yang janggal pukul dua pagi, manajer malam harus bisa mematikan request_rate_change, sementara alat baca tetap berjalan.

Di minggu-minggu awal, baca catatannya setiap minggu. Agen sering memanggil alat dengan pola yang tidak terduga. Dari catatan itulah Anda tahu alat mana yang perlu dipersempit.

Yang perlu dicek sebelum memasang server MCP buatan pihak lain

Banyak tim tidak akan menulis server sendiri. Mereka memasang buatan vendor atau dari direktori publik. Keputusan itu sama seriusnya dengan menambahkan pustaka perangkat lunak dari luar. Panduan Microsoft tanggal 30 Juni tadi menyarankan daftar penerbit yang disetujui dan mematikan pengaturan "izinkan semua". Sebelum memasang, periksa lima hal ini:

  1. Pastikan penerbitnya asli. Apakah ini paket resmi vendor, atau tiruan bernama mirip seperti kasus postmark-mcp?
  2. Kunci versinya, lalu baca ulang keterangan alat setiap kali ada pembaruan. Server bisa tampil bersih hari ini dan berubah bulan depan.
  3. Jalankan di dalam kontainer, semacam ruang terisolasi yang hanya berisi kredensial yang benar-benar diperlukan. Jangan di laptop yang juga menyimpan kunci cloud dan akses SSH.
  4. Jangan muat otomatis konfigurasi server yang ikut datang di folder proyek atau repositori. Periksa seperti memeriksa kode.
  5. Cek apa saja yang bisa dihubunginya. Server yang hanya butuh PMS tidak perlu bisa membuka koneksi ke internet.

Proyek pertama yang masuk akal

Pilih satu bagian dan satu pertanyaan yang setiap hari mereka ajukan. Di hotel, biasanya resepsionis yang menanyakan kamar kosong dan tarif. Di distributor, biasanya tim penjualan yang menanyakan stok dan tagihan yang belum lunas. Buat dua atau tiga alat baca untuk kebutuhan itu, sambungkan dengan izin bagian itu, lalu jalankan beberapa minggu sambil membaca catatannya.

Baru setelah itu tambahkan satu alat tulis yang hanya membuat draf, dengan persetujuan di sistem yang sudah ada. Jalannya memang lebih lambat daripada menyambungkan semuanya di hari pertama. Namun, dengan cara ini Anda tahu apa yang sebenarnya dilakukan agen sebelum ia sempat merusak apa pun. Disiplin yang sama saya sarankan untuk agen AI yang memanggil alat berulang kali secara umum.

Jika Anda sedang menimbang tawaran "AI untuk ERP", atau ingin menyambungkan agen ke sistem sendiri tanpa menyerahkan kunci induk, saya bisa membantu merancang batasnya sebelum sistem dipakai.

Artikel Terkait

Perlu bantuan menerapkan solusi ini?

Konsultasi Perencanaan Sistem

Petakan kebutuhan, integrasi, dan risiko sebelum membangun atau memperluas sistem. Dapatkan rancangan serta prioritas yang bisa dibahas bersama tim.

Lihat layanan terkait

Ceritakan kendala operasional Anda agar kita dapat membahas langkah yang sesuai.

Bagikan artikel
Diskusi Awal Gratis