Firman Hanafi
Solution Architect · Notes
← Blog·AI Engineering

MCP Server DOKU Itu Buat Apa? Dan Kenapa Nggak Ada Tool Refund-nya

Penjelasan MCP buat yang udah biasa pakai REST, apa aja yang DOKU buka ke agent, dan kenapa justru tool yang nggak ada di daftar itu yang paling penting.

Ini lanjutan dari materi Kelas Beta 23 September. Di tulisan pertama AI cuma bantu bikin sistem, jadi paling parah ya dokumennya jelek. Sekarang beda cerita. AI ikut ngejalanin sistem pembayaran, dan kalau salah, yang pindah itu uang.

Bagian ini yang paling panjang malam itu. Wajar sih, soalnya ini yang paling dekat sama pertanyaan di kepala peserta: “Oke, terus agent-nya nyolok ke sistem pembayaran gw itu di mana?”

MCP nggak serumit kedengarannya

Kalau udah biasa sama REST, MCP (Model Context Protocol) itu sebenarnya sederhana. API pembayaran kamu kan udah ada. Bikin checkout, bikin VA, cek transaksi. MCP tinggal ngebungkus API-API itu jadi daftar tool. Tiap tool punya nama, deskripsi, sama skema input. Dari daftar itu agent bisa lihat sendiri apa aja yang tersedia, terus milih mau manggil yang mana.

Protokolnya sendiri biasa aja. Yang perlu diperhatiin itu daftar tool-nya, karena daftar itu sekarang jadi kontrak antara sistem kamu dan sesuatu yang ngerti bahasa manusia. Tool yang ada di daftar bisa aja dipanggil kalau agent-nya berhasil dibujuk. Tool yang nggak ada di daftar ya nggak bakal kepanggil, mau sepintar apa pun prompt-nya.

Jadi menurut gw, pakai MCP itu lebih ke keputusan integrasi. Sistem pembayaran kamu udah jalan di produksi, udah direkonsiliasi, udah diaudit. Nggak mungkin ditulis ulang cuma demi agent. Yang perlu kamu putusin cuma satu: bagian mana yang mau dibuka.

Yang dibuka DOKU lewat MCP

MCP server DOKU isinya operasi buat nerima pembayaran. Bisa langsung dipakai dari tool yang biasa dipakai orang buat bikin agent: VS Code, Cursor, Claude Code, n8n, sampai LangChain (Python atau JavaScript).

Sasarannya merchant atau developer yang lagi bikin agent sendiri. Bisa kasir lewat chat, bot CS, atau asisten buat tim operasional. Intinya, mereka pengen agent-nya bisa bikin tagihan dan ngecek status bayar tanpa harus nulis integrasi satu-satu per metode pembayaran.

Pas gw minta daftar tool-nya langsung ke server, yang keluar ada 35. Server ngasih daftarnya polos tanpa kategori, jadi pengelompokan di bawah ini gw sendiri yang bikin:

  • Checkout (6): create_doku_direct_checkout dan variasinya, termasuk payment link.
  • Virtual account (3): bikin, ubah, sama hapus VA yang belum dibayar.
  • Kartu (4): autentikasi 3DS, charge, capture.
  • e-Wallet dan QRIS (7): OVO, DOKU Wallet, DANA, ShopeePay, QRIS.
  • PayLater dan gerai (4): Akulaku, Kredivo, Alfamart, Indomaret.
  • Cek transaksi (3): dari nomor invoice, nama pelanggan, atau rentang tanggal.
  • Pelanggan (7): bikin, ubah, cari, ambil semua.
  • Merchant (1): get_merchant_payment_methods.

Buat urusan nerima duit, lengkap banget. Hampir semua cara orang Indonesia biasa bayar ada di situ.

Coba cari refund

Nggak ada. Dari 35 tool itu, nggak satu pun yang bisa refund transaksi yang udah dibayar. Void, cancel, settlement, payout, dispute juga nggak ada. Paling mentok cuma hapus VA yang belum dibayar, dan itu kan cuma batalin tagihan, bukan balikin uang.

Bukan juga karena DOKU nggak punya fiturnya. Refund, cancel order, settlement, sama payout semuanya ada sebagai REST API biasa, dan kebuka di dokumentasi developer DOKU. Cuma ya nggak dibuka ke agent.

Jadi kalau gw baca dari daftar tool-nya, polanya kelihatan: uang masuk boleh lewat agent, uang keluar nggak. Tapi gw mau hati-hati di sini. Itu bacaan gw dari daftar tool, bukan kebijakan resmi DOKU yang pernah diumumkan. Terlepas ada yang pernah nulis itu jadi aturan atau nggak, gw rasa desainnya udah bener, dan ini yang bakal gw sarankan ke siapa pun yang mau bikin MCP di atas sistem pembayaran.

Alasannya soal bisa dibalikin atau nggak. Kalau agent salah bikin checkout, paling apes ada link yang nggak dibayar terus kedaluwarsa sendiri. Kalau agent salah ngirim refund, duitnya udah keluar. Mau narik balik? Siap-siap ada orang yang harus nelponin satu-satu. Dua kesalahan itu levelnya jauh beda, dan cara paling murah buat ngebedainnya ya dari awal nggak usah kasih tool-nya.

Jangan lupa: agent juga bisa lihat

Bagian ini hampir kelewat pas gw nyiapin materi. Kalau daftar tool itu pintu masuk serangan, cara bacanya harus dua arah. Bukan cuma apa yang bisa agent lakukan, tapi juga apa yang bisa agent lihat.

Di 35 tool yang sama ada get_all_customers. Ada juga cari pelanggan lewat email atau nama, riwayat transaksi berdasarkan nama pelanggan, sama daftar token kartu yang tersimpan. Pintu uang keluar emang ketutup. Tapi kalau tool-tool baca itu ikut dikasih ke agent, data pelanggan merchant bisa kebuka. Prompt injection nggak butuh tool refund buat bikin kacau. Cukup nama produk atau alamat kirim yang dirancang supaya agent “ngecek” semua pelanggan.

Obatnya sama kayak sisi tulis: kasih secukupnya aja, dan putusin itu di konfigurasi. Agent demo yang gw bikin buat kelas ini (dibahas di tulisan ketiga) cuma dapat 4 dari 35 tool:

get_merchant_payment_methods
get_transaction_by_invoice_number
get_transaction_by_date_range
create_doku_direct_checkout

Yang 31 lainnya nggak dikasih bukan karena bahaya, tapi emang kasir toko keripik nggak butuh. Di n8n ini cuma satu pengaturan di node MCP client. Menurut gw ini keputusan keamanan paling murah yang bisa diambil siapa pun yang nyambungin agent ke pembayaran. Dan kayaknya justru ini yang paling sering dibiarin di default “semua tool”.

Pasti ada yang bilang: kalau tool-nya dibatasi, agent-nya jadi kurang pinter, dan fitur berikutnya pasti butuh tool yang belum dikasih. Betul. Ya tinggal ditambahin pas butuh, dengan sadar, plus ditulis alasannya. Itu jauh lebih aman daripada nyalain semua dari awal, terus baru tahu mana yang penting setelah ada insiden.

PR buat kamu

Di akhir sesi gw nggak nyuruh peserta nyobain MCP server DOKU. Gw minta mereka buka notes di HP, terus bikin dua kolom buat produk yang lagi mereka garap. Kolom kiri: tool apa aja yang boleh dipanggil agent. Kolom kanan: apa yang nggak boleh. Kolom kanan itu yang bakal nentuin arsitekturnya, dan bikin versi pertamanya paling lima menit.

Kalau mau langsung nyoba ke sistem beneran, kredensial sandbox DOKU bisa didapat gratis. Di tulisan berikutnya gw bedah agent kasir keripik yang bisa dicoba peserta malam itu, termasuk di mana sebenarnya pengamannya dipasang.


Seri dari sesi Kelas Beta, 23 September 2026: 1 · AI-assisted development · 2 · MCP server DOKU itu buat apa · 3 · Kasir chat yang nggak boleh ngitung uang

Diskusi

Memuat komentar…