BroadNet
JurnalTeknik
Teknik

MCP untuk perpesanan: bagaimana agen AI dapat mengirim SMS dan WhatsApp secara aman

Server MCP mengubah API perpesanan menjadi alat yang dapat dipanggil oleh agen AI. Hal ini sangat kuat sekaligus berisiko: seorang agen dengan alat pengiriman dapat mengirim pesan ke pelanggan asli. Berikut adalah cara kerja MCP untuk SMS dan WhatsApp, cara terhubung ke server BroadNet, serta batasan keamanan yang harus diterapkan terlebih dahulu.

Tim Teknik BroadNet
11 menit baca
Teknik · Edisi 47
11 menit baca

erver MCP untuk perpesanan mengekspos API perpesanan sebagai alat yang dapat ditemukan dan dipanggil oleh agen AI melalui Model Context Protocol, sehingga asisten dapat mengirim pesan SMS atau WhatsApp sesuai permintaan. BroadNet menjalankan satu server di https://mcp.broadnet.me/mcp, menggunakan transport Streamable HTTP dan Bearer token, melalui API yang sama yang melayani WhatsApp, SMS, RCS, Telegram, Push, Email, Messenger, dan Instagram. Panduan ini menjelaskan cara kerjanya dan, yang lebih penting, cara mencegah agen mengirim pesan ke orang yang salah.

Poin-poin utama

  • MCP adalah protokol terbuka, yang dibangun di atas JSON-RPC 2.0, yang memungkinkan aplikasi AI menemukan dan memanggil alat eksternal. Server MCP perpesanan mengubah endpoint kirim, templat, dan laporan menjadi alat.
  • Server jarak jauh menggunakan transport Streamable HTTP: satu endpoint HTTPS, di mana setiap pesan klien adalah sebuah POST HTTP. Server lokal biasanya menggunakan stdio.
  • Server MCP BroadNet berada di https://mcp.broadnet.me/mcp dan menolak permintaan apa pun tanpa header Authorization: Bearer.
  • Token adalah kredensial pengiriman. Agen bertindak dengan izinnya, persis seperti kode Anda sendiri.
  • Spesifikasi MCP menyatakan bahwa SEHARUSNYA selalu ada manusia dalam proses (human in the loop) yang dapat menolak panggilan alat, dan server WAJIB membatasi laju (rate-limit) pemanggilan alat. Terapkan pemeriksaan persetujuan pengguna, jam tenang, batas pengiriman, dan persetujuan manusia pada setiap alat pengiriman.

Apa itu Model Context Protocol?

Spesifikasi MCP mendeskripsikan MCP sebagai "protokol terbuka yang memungkinkan integrasi mulus antara aplikasi LLM dengan sumber data dan alat eksternal". Protokol ini menggunakan pesan JSON-RPC 2.0 di antara tiga peran: host (aplikasi AI), klien (konektor di dalam host), dan server (layanan yang menyediakan alat, sumber daya, dan prompt). Per 26 September 2026, revisi terbaru dari spesifikasi ini bertanggal 2026-07-28.

Alat (tools) adalah bagian yang penting untuk perpesanan. Sebuah klien mencantumkannya dengan tools/list, model memilih salah satu, dan klien memanggilnya dengan tools/call. Spesifikasi menyebut alat sebagai "model-controlled": model memutuskan kapan harus menggunakannya. Itulah alasan mengapa alat pengiriman memerlukan guardrails yang tidak dapat dihindari oleh model melalui percakapan.

Bagaimana cara kerja server MCP untuk SMS dan WhatsApp?

Jalur permintaan memiliki lima lompatan (hops). Poin desainnya adalah server MCP tidak menambah kekuatan pengiriman baru; ia mengekspos API yang sudah Anda miliki, di bawah token dan kontrol yang sama.

  1. Seorang pengguna meminta host AI, misalnya: "kirim pembaruan pengiriman ke pelanggan ini melalui WhatsApp".
  2. Model memilih sebuah alat dari daftar yang diambil oleh klien MCP, seperti alat pengiriman WhatsApp, dan mengisi argumennya.
  3. Klien MCP mengirimkan permintaan tools/call sebagai HTTP POST ke https://mcp.broadnet.me/mcp dengan Bearer token.
  4. Server MCP BroadNet memvalidasi token dan memanggil endpoint API BroadNet yang sesuai.
  5. API merutekan pesan ke WhatsApp atau ke jaringan seluler dan mengembalikan hasil, yang dikirim kembali ke model sebagai hasil tool.

Dalam rekaman demo tim produk, klien mencantumkan 380 tools BroadNet, di antaranya adalah send_message, post_sms_send, post_whatsapp_message_send, get_whatsapp_template_list, post_whatsapp_template_send, post_rcs_message_send dan get_report_delivery. Daftar pastinya bergantung pada versi server dan akun Anda; lihat dokumentasi server MCP.

Streamable HTTP atau stdio: transport mana yang digunakan?

Spesifikasi ini menentukan dua transport standar. Transport mana yang Anda gunakan bergantung pada di mana server berjalan, dan hal ini menentukan cara Anda melakukan autentikasi.

stdioStreamable HTTP
Tempat server berjalanSebagai subproses yang diluncurkan oleh klien, pada mesin yang samaSebagai layanan independen yang diakses melalui HTTPS
Cara pesan dikirimJSON-RPC dengan pemisah baris baru melalui input dan output standarSetiap pesan klien adalah HTTP POST ke satu titik akhir MCP; balasan diterima sebagai JSON atau aliran server-sent-events
Cara kerja kredensialSpesifikasi menyatakan bahwa server stdio harus membaca kredensial dari lingkungan (environment)Header Authorization: Bearer pada setiap permintaan; token tidak boleh diletakkan di dalam query string
Penggunaan umumAlat pengembang lokalLayanan terhosting yang digunakan oleh banyak klien, seperti API perpesanan
BroadNetTidak ditawarkanhttps://mcp.broadnet.me/mcp

Untuk server HTTP, revisi spesifikasi tanggal 18-06-2025 juga mengharuskan server untuk memvalidasi header Origin dan menyarankan agar server mengautentikasi setiap koneksi. Revisi terbaru (28-07-2026) membuat setiap permintaan bersifat mandiri, dengan menyertakan versi protokol dan kapabilitas klien dalam metadatanya sendiri; revisi sebelumnya membuka sesi dengan jabat tangan inisialisasi, dan klien akan mendeteksi revisi mana yang digunakan server lalu melakukan fallback.

Bagaimana cara menghubungkan agen AI ke server MCP milik BroadNet?

  1. Dapatkan token dari akun BroadNet Anda. Di portal BroadAdmin, pilih Integrations, lalu MCP Integration, yang akan menerbitkan kunci sementara; kunci permanen diperoleh dari admin akun atau akun master Anda.
  2. Tambahkan server ke klien MCP Anda. Sebagian besar klien menggunakan konfigurasi JSON seperti di bawah ini. Nama kolom dapat sedikit berbeda di antara setiap klien, jadi periksa dokumentasi klien Anda.
  3. Jangan simpan token di dalam file yang Anda commit. Gunakan dukungan variabel lingkungan (environment-variable) pada klien Anda, seperti pada konfigurasi di bawah ini.
  4. Buka daftar alat dan matikan setiap alat yang tidak diperlukan oleh agen.
  5. Lakukan pengujian dengan satu pesan ke nomor milik Anda sendiri sebelum Anda mengizinkan agen mengakses data pelanggan.
snippet
{
"mcpServers": {
"broadnet": {
"type": "http",
"url": "https://mcp.broadnet.me/mcp",
"headers": {
"Authorization": "Bearer ${BROADNET_TOKEN}"
}
}
}
}

Untuk menguji koneksi tanpa menggunakan klien, kirimkan permintaan inisialisasi sendiri:

snippet
curl -X POST https://mcp.broadnet.me/mcp \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-06-18","capabilities":{},
"clientInfo":{"name":"curl","version":"1.0"}}}'

Tanpa header, server akan menolak panggilan pada tingkat protokol. Ini adalah balasan sebenarnya untuk permintaan inisialisasi yang tidak terautentikasi, yang telah diperiksa pada 26 September 2026:

snippet
event: message
data: {"jsonrpc":"2.0","id":1,"error":{"code":-32001,
"message":"Authorization bearer token is required. Connect with an
'Authorization: Bearer <BroadNet token>' header."}}

Apakah aman memberikan kunci API perpesanan kepada agen AI?

Hanya jika disertai dengan batasan. Token tersebut adalah kredensial pengiriman: siapa pun, atau agen mana pun, yang memegangnya dapat mengirim pesan dari akun Anda, dan setiap pengiriman memerlukan biaya serta menjangkau orang sungguhan. Agen juga bertindak berdasarkan instruksi bahasa alami, dan sebagian dari teks tersebut berasal dari luar: pesan masuk dari pelanggan atau halaman web dapat berisi instruksi yang mungkin coba diikuti oleh model. Spesifikasi MCP menyatakan hal ini secara langsung. Spesifikasi tersebut menyebutkan bahwa host harus mendapatkan persetujuan eksplisit dari pengguna sebelum memanggil alat apa pun, bahwa SEHARUSNYA selalu ada manusia dalam proses (human in the loop) dengan kemampuan untuk menolak pemanggilan alat, dan bahwa klien harus memperlakukan anotasi alat sebagai sesuatu yang tidak tepercaya kecuali jika berasal dari server yang tepercaya.

Guardrail mana yang menghentikan agen agar tidak melakukan spam kepada pelanggan?

Tempatkan kontrol di lokasi yang tidak dapat dilewati oleh model: dalam konfigurasi klien, dalam middleware Anda sendiri, atau dalam pengaturan akun, bukan di dalam prompt.

RisikoKontrolLokasi
Mengirim pesan kepada seseorang yang belum memberikan persetujuan (opt-in)Periksa status persetujuan dan opt-out sebelum menjalankan alat pengiriman apa punMiddleware atau CRM Anda
Mengirim pada malam hari atau pada hari yang salahJam tenang sesuai zona waktu penerima dan aturan pasarMiddleware Anda
Menggunakan alat yang tidak diperlukan oleh tugas tersebutAktifkan hanya alat yang diperlukan; nonaktifkan alat template, onboarding, dan akunPengaturan alat klien MCP
Loop yang tidak terkendali dan pengiriman massalBatas pengiriman per agen dan pembatasan laju; spesifikasi mengharuskan server untuk membatasi laju pemanggilan alatMiddleware dan server Anda
Pesan duplikat setelah upaya pengiriman ulangSimpan ID pesan yang dikembalikan dan periksa statusnya sebelum mengirim ulangLogika agen Anda (lihat panduan idempotensi)
Pemasaran yang dikirim tanpa peninjauanPersetujuan manusia untuk setiap pengiriman pemasaran atau pengiriman ke banyak penerimaprompt konfirmasi klien MCP
Instruksi tersembunyi dalam pesan masukPerlakukan teks masuk sebagai data; jangan pernah biarkan teks tersebut memicu pengiriman tanpa permintaan penggunaAturan desain prompt dan persetujuan pada host AI
Token yang bocorKunci sementara untuk eksperimen, variabel lingkungan, cabut dan terbitkan kembali jika terjadi paparanadmin akun BroadNet
Tidak ada jejak auditCatat setiap panggilan alat dengan input dan hasilnyaklien MCP; spesifikasi menyatakan bahwa klien seharusnya mencatat penggunaan alat

BroadNet API tidak memiliki header idempotensi, sehingga pengiriman ulang setelah timeout dapat menyebabkan pesan terkirim dua kali. Pola yang aman adalah menyimpan ID pesan yang dikembalikan oleh API dan memeriksa status pengiriman sebelum mengirim ulang; panduan idempotensi dan pengulangan kami menunjukkan caranya.

Tindakan perpesanan mana yang memerlukan persetujuan manusia?

TindakanSaran defaultMengapa
Baca laporan pengiriman, daftar templatOtomatisHanya baca; tidak ada pesan yang sampai ke pelanggan
Satu pesan transaksional kepada satu pelanggan yang sudah dikenal dan memintanyaOtomatis dalam batas pengiriman, atau konfirmasi satu klikRisiko rendah, nilai tinggi, mudah diaudit
Setiap pesan pemasaranSelalu memerlukan persetujuan manusiaRisiko persetujuan, konten, dan biaya
Pengiriman ke lebih dari satu penerimaSelalu memerlukan persetujuan manusiaSatu kesalahan akan berlipat ganda
Membuat atau mengirimkan templat WhatsAppPersetujuan manusiaTemplat ditinjau oleh Meta dan merepresentasikan merek Anda
Alat akun, penagihan, atau onboardingDinonaktifkanAgen sebaiknya tidak mengubah akun tempat ia berjalan

MCP atau REST API biasa: mana yang sebaiknya digunakan agen?

Keduanya menjangkau platform yang sama. Perbedaannya terletak pada siapa yang memutuskan panggilan mana yang akan dilakukan.

Server BroadNet MCPBroadNet REST API
Siapa yang memilih panggilanModel, dari daftar alatKode Anda
Endpointhttps://mcp.broadnet.me/mcphttps://api.broadnet.me, misalnya POST /sms/sendSms
AutentikasiOtorisasi: Bearer tokenOtorisasi: Bearer token
Pustaka klienKlien MCP apa pun yang mendukung server jarak jauh dan header Authorization khususSatu SDK resmi, @broadnet/cpaas-sdk (TypeScript/Node.js); buat klien lainnya dari spesifikasi OpenAPI
Terbaik untukAsisten, kopilot operasional, tugas ad-hoc dalam bahasa alamiAlur produksi dengan logika tetap: OTP, peringatan, kampanye

Pembagian yang masuk akal: gunakan MCP saat seseorang mengarahkan agen dan perintah konfirmasi dapat diterima, dan gunakan REST API, dengan quickstart dan curl generator, untuk alur yang harus berjalan dengan cara yang sama setiap saat. Referensi API kami mendokumentasikan endpoint di balik alat MCP.

Pertanyaan yang sering diajukan

Apa itu server MCP untuk perpesanan?

Server yang mengekspos API perpesanan, seperti kirim SMS, kirim pesan WhatsApp atau dapatkan laporan pengiriman, sebagai alat yang dapat ditemukan dan dipanggil oleh agen AI melalui Model Context Protocol.

Apa URL server MCP BroadNet?

https://mcp.broadnet.me/mcp. Menggunakan transport HTTP Streamable MCP dan memerlukan header Authorization: Bearer dengan token BroadNet Anda pada setiap permintaan.

Klien AI mana yang dapat terhubung dengannya?

Setiap klien MCP yang dapat terhubung ke server jarak jauh melalui HTTP Streamable dan mengirimkan header Authorization khusus. Rekaman demo BroadNet menggunakan Cursor.

Apakah agen dapat mengirim pesan sungguhan?

Ya. Alat-alat tersebut beroperasi dengan izin token Anda, persis seperti panggilan API Anda sendiri. Perlakukan setiap pengiriman sebagai pengiriman asli: aktifkan hanya alat yang dibutuhkan agen dan wajibkan konfirmasi sebelum pengiriman dilakukan.

Bagaimana cara kerja autentikasi Bearer dengan MCP?

Untuk transport HTTP, klien mengirimkan Authorization: Bearer diikuti dengan token pada setiap permintaan, bahkan dalam sesi yang sama, dan tidak pernah dalam URL query string. Server BroadNet akan menolak permintaan tanpa header tersebut.

Apa perbedaan antara stdio dan Streamable HTTP?

stdio menjalankan server sebagai subprocess lokal dan menukar JSON-RPC yang dipisahkan oleh baris baru melalui input dan output standar. Streamable HTTP menjalankan server sebagai layanan web di mana setiap pesan klien adalah HTTP POST ke satu endpoint.

Bagaimana cara menghentikan agen AI agar tidak melakukan spam kepada pelanggan?

Terapkan pemeriksaan persetujuan, jam tenang, dan batas pengiriman di luar model, aktifkan hanya alat yang Anda butuhkan, wajibkan persetujuan manusia untuk pengiriman pemasaran dan pengiriman ke banyak penerima, serta catat setiap panggilan alat.

Haruskah saya menggunakan MCP atau REST API?

Gunakan MCP saat seseorang mengarahkan agen dalam bahasa alami. Gunakan REST API atau TypeScript SDK untuk alur produksi tetap seperti OTP dan peringatan, di mana kode Anda, bukan model, yang memutuskan apa yang akan dikirim.

Sumber

Bacaan terkait: Agen AI dalam perpesanan pelanggan dan memilih platform AI agentic perusahaan.

Apakah ini bermanfaat?

Cara kami menulis dan meninjau konten

Ditulis oleh

Tim Teknik BroadNet

Tim Solusi Operator membangun dan mengoperasikan firewall SMS, perlindungan SS7, dan jaminan pendapatan untuk operator seluler. Mereka telah melakukannya di jaringan MENA sejak 2003. Mereka menulis tentang apa yang mereka temukan.

Jurnal, melalui email

Satu esai setiap bulan. Tidak ada hal lain.

Berlangganan dan kami akan mengirimkan tulisan berikutnya — baik mengenai teknik, regulasi, atau industri — tepat pada hari penerbitannya. Tanpa kampanye drip, tanpa penawaran produk, tanpa pembagian ke pihak ketiga. Berhenti berlangganan hanya dengan satu klik.

Kami mengirimkan satu email sebulan. Berhenti berlangganan kapan saja. Lihat kebijakan privasi.

Apa yang akan Anda dapatkan
  • Tulisan mendalam, bukan sekadar umpan klik
    Enam hingga sebelas menit tulisan terfokus pada satu topik.
  • Ditulis oleh para operator
    Ditulis secara internal oleh teknisi, pimpinan regulasi, dan manajer produk.
  • Sadar wilayah
    Pandangan berbasis pengalaman di kawasan MENA mengenai regulator, operator, dan bauran saluran.
  • Sebulan sekali
    Tanpa kampanye drip. Hanya satu esai saat ada hal yang perlu dibagikan.
Berhenti membaca. Mulai implementasi.

Sebagian besar dari apa yang kami tulis dipelajari langsung dari produksi.

Jika tulisan ini membuat Anda setuju, kita sebaiknya berbicara. Bawa kasus penggunaan, volume, dan pasarnya — kami akan kembali dengan rute, harga, dan referensi pelanggan yang dapat Anda hubungi.

$ curl -X POST https://api.broadnet.me/sms/sendSms