TrueDialog MCP

resmi

TrueDialog, terintegrasi dengan AI Agent Anda. Kirim pesan omnichannel dan kelola kontak melalui platform TrueDialog pemenang penghargaan. Hubungkan AI Agent Anda ke TrueDialog untuk mengirim SMS bisnis, RCS, dan mengelola kontak menggunakan akun TrueDialog yang sudah ada. Cari dan ambil kontak, buat atau perbarui data kontak, lihat detail akun dan kanal 10DLC/long-code serta short-code yang dikonfigurasi, dan kirim pesan teks keluar kepada satu atau beberapa penerima. Gunakan TrueDialog untuk pemasaran melalui SMS & RCS, peringatan dan notifikasi, pengingat janji temu dan acara, tindak lanjut penjualan, pembaruan layanan pelanggan, serta komunikasi karyawan. Pesan menggunakan koneksi langsung TrueDialog ke operator dan penanganan opt-out bawaan untuk mendukung alur kerja SMS yang andal dan patuh.

Apa yang bisa Anda lakukan dengan TrueDialog MCP?

  • Periksa sesi Anda — Tanyakan pengguna dan akun TrueDialog mana yang digunakan oleh koneksi resmi Anda sebagai pemeriksaan autentikasi cepat.
  • Telusuri akun dan kanal — Daftar semua akun yang dapat dilihat oleh login Anda, ambil detail satu akun, atau daftar kanal SMS, RCS, email, dan suara miliknya.
  • Cari kontak — Ambil kontak berdasarkan id atau cari nomor telepon dan alamat email berdasarkan substring.
  • Buat atau perbarui kontak — Tambahkan kontak dari nomor telepon atau email, atau perbarui hanya kolom yang Anda berikan tanpa menimpa bagian lainnya.
  • Kirim SMS — Kirim pesan teks ke satu atau beberapa nomor, dengan opsi dry run, dan biarkan konektor memilih kanal pengiriman jika Anda tidak menentukannya.

Dokumentasi

MCP, Model Context Protocol, adalah cara klien AI mengakses alat dan data yang dibutuhkannya untuk benar-benar melakukan sesuatu. tdmcp adalah penghubung antara klien apa pun yang mendukung MCP dan TrueDialog SMS API: infrastruktur operator selama tiga puluh tahun, penanganan opt-out, percakapan dua arah, RCS, MMS, dan lalu lintas short code, yang disediakan melalui sekumpulan kecil alat dengan nama yang jelas.

Autentikasinya menggunakan OAuth 2.1, bukan kredensial yang ditempelkan. Anda memberi otorisasi sekali, di browser, melalui auth.tdmcp.com — dengan masuk menggunakan login TrueDialog yang sama dengan yang Anda gunakan untuk portal. Klien AI Anda hanya menyimpan token bearer berumur pendek, bukan kata sandi Anda, dan mengirimkannya pada setiap panggilan. Konektor memvalidasi token dan menyelesaikan akses TrueDialog Anda di sisi server melalui back-channel privat. Tidak ada informasi yang berlaku lama tersimpan di konfigurasi klien Anda.

Runtime-nya sengaja dibuat sederhana: Azure Container Apps di balik front-door terkelola, kontainer AMD64, FastMCP yang melayani Streamable HTTP, tanpa sesi lengket. Semuanya dikelola dengan Terraform. Tidak ada yang mengejutkan, tidak ada apa pun di jalur utama yang tidak Anda tempatkan di sana.


Endpoint: https://connect.tdmcp.com. Streamable HTTP, stateless. Transport yang sama juga tersedia di https://connect.tdmcp.com/mcp — alias kompatibilitas untuk klien yang mengasumsikan konvensi jalur /mcp; kedua URL dapat digunakan. Autentikasinya menggunakan OAuth 2.1 — klien Anda menemukannya secara otomatis dan memandu Anda melalui proses masuk di browser. Tidak ada kunci atau header yang perlu ditempelkan.

Cara kerja otorisasi

Setiap klien di bawah mengikuti empat langkah yang sama, dan sebagian besar prosesnya berlangsung otomatis:

  1. Anda menambahkan connect.tdmcp.com ke klien Anda.
  2. Klien menemukan server OAuth di auth.tdmcp.com dan mendaftarkan dirinya secara otomatis (dynamic client registration, PKCE).
  3. Jendela browser terbuka. Anda masuk dengan kredensial TrueDialog Anda.
  4. Klien menerima token dan Anda pun terhubung. Token diperbarui secara otomatis — Anda tidak perlu masuk lagi sampai sesi berakhir.

Di Claude (aplikasi Desktop atau claude.ai), buka Customize → Connectors lalu klik + → Add custom connector. Beri nama dan masukkan URL endpoint:

tambahkan konektor kustom

Name:   TrueDialog
URL:    https://connect.tdmcp.com/

Klik Add, lalu Connect. Jendela browser akan terbuka untuk proses masuk TrueDialog; setujui, lalu sembilan alat akan muncul — Claude mendaftarkan dirinya ke server OAuth secara otomatis, tanpa perlu menempelkan apa pun. Untuk Team/Enterprise, Owner harus mengaktifkannya terlebih dahulu untuk organisasi (Organization settings → Connectors → Add → Custom → Web); setelah itu, setiap anggota dapat menambahkannya dari Customize → Connectors.


Setiap alat MCP dipetakan ke permukaan API TrueDialog tertentu. Alat-alat ini sengaja dibuat kecil dan jelas; penalaran agen ada di prompt, bukan di daftar alat. Total ada sembilan alat — enam hanya-baca, tiga untuk menulis.

  1. whoami Menampilkan pengguna dan akun di balik sesi Anda yang telah diotorisasi. Berguna sebagai pemeriksaan autentikasi sekali jalan. Hanya-baca.
  2. list_accounts Menampilkan semua akun yang dapat diakses oleh login Anda. Berguna bagi operator multi-tenant; tidak bagi pengguna dengan satu akun. Hanya-baca.
  3. get_account_info Mengambil satu catatan akun. Secara default, akun yang diautentikasi. Hanya-baca.
  4. list_channels Menampilkan kanal — long code, short code, RCS, email, voice — pada sebuah akun. Panggil alat ini untuk menemukan ID kanal sebelum send_sms. Hanya-baca.
  5. get_contact Mencari kontak berdasarkan ID. Hanya-baca.
  6. search_contacts Mencocokkan sebagian teks pada nomor telepon dan alamat email. Hanya-baca.
  7. create_contact Membuat kontak dari nomor telepon atau email (minimal salah satunya wajib diisi). Jika nomor atau email tersebut sudah ada pada kontak, TrueDialog menolak pembuatan dan mengarahkan Anda ke update_contact — kontak duplikat tidak akan dibuat diam-diam.
  8. update_contact Memperbarui nomor telepon, email, atau nama kontak. Alat ini membaca catatan terlebih dahulu dan hanya menulis ulang kolom yang Anda berikan, sehingga operasi pembaruan TrueDialog yang menimpa semua data tidak menghapus sisanya — ini adalah operasi baca-ubah-tulis, jadi selain izin manage, alat ini juga memerlukan izin contact-read, dan tidak bersifat atomik terhadap pengeditan serentak. Operasi tulis.
  9. send_sms Mengirim SMS keluar ke satu atau beberapa nomor. Pengiriman sungguhan: secara default, SMS dikirim ke ponsel aktif (berikan execute=false untuk uji coba). Kanal pengiriman akan ditentukan otomatis jika Anda tidak menyebutkannya. Satu arah — balasan tidak dibaca.

Berinteraksi dengannya.

Anda tidak memanggil alat-alat ini berdasarkan nama — cukup ajukan permintaan, dan agen akan memilih alat yang tepat. Berikut beberapa hal yang bisa dicoba setelah terhubung:

  • “Saya terhubung sebagai siapa?” mengonfirmasi autentikasi
  • “Kanal apa saja yang disiapkan di akun saya?” membaca kanal
  • “Kirim SMS ke +1 512 555 0142: meja Anda untuk empat orang sudah dikonfirmasi untuk pukul 19.00.” satu pengiriman, satu penerima
  • “Cari kontak untuk 512 555 0142 dan beri tahu bahwa pesanannya sudah dikirim.” mencari + mengirim

File ditangani melalui alat email. inbox_send_message dan inbox_reply_to_message masing-masing menerima daftar attachments; inbox_forward_message meneruskan file asli itu sendiri (include_attachments, aktif secara default). Setiap entri dalam daftar attachments menyebutkan tepat satu sumber byte, dan sumber yang Anda pilih menentukan apakah file akan sampai atau tidak.

Alat-alat tersebut termasuk dalam paket Inbox, yang diaktifkan per deployment. Konektor di connect.tdmcp.com saat ini mengiklankan sembilan alat TrueDialog di atas; attachments tersedia bersama alat email, di mana pun paket Inbox diaktifkan.

  1. attachment_id Menyebutkan attachment yang sudah disimpan platform pada sebuah pesan di inbox ini — ID-nya berasal dari inbox_get_thread. Server melampirkan kembali byte yang tersimpan, sehingga tidak ada data base64 yang melewati model. Ini pilihan untuk file apa pun yang tidak berukuran sangat kecil, dan jalur alami jika byte-nya sudah ada di thread yang Anda balas. filename dan content_type diwarisi dari byte yang tersimpan, tetapi dapat diganti. Cara ini mengatasi batas transkripsi, bukan batas ukuran. (Untuk meneruskan pesan, Anda bahkan tidak memerlukannya: inbox_forward_message membawa attachment asli secara default.)
  2. upload_id Menyebutkan byte yang sudah disiapkan di penyimpanan — jalur untuk file baru yang benar-benar berukuran besar. POST ke /v1/inboxes/{inbox_id}/attachments/uploads dengan nama file, tipe MIME, dan panjang byte yang tepat; PUT byte mentah ke upload_url bertanda tangan yang dikembalikan; lalu cantumkan upload_id dalam pengiriman. Di mana pun paket Inbox diaktifkan, inbox_create_attachment_upload melakukan langkah pertama dan mengembalikan upload_id serta upload_url. Tidak ada alat yang melakukan PUT, jadi agen yang hanya dapat mengakses konektor ini tetap tidak bisa menyiapkan byte baru; pengunggahan harus dilakukan oleh klien atau aplikasi yang dapat PUT di luar jalur ini.
  3. content Base64 inline, disertai filename dan content_type. Hanya andal untuk file yang sangat kecil — sekitar 2 KB, atau sekitar 2.700 karakter base64 — karena seluruh string harus dikeluarkan karakter demi karakter dalam panggilan alat, dan satu karakter yang salah akan menggagalkan pengiriman dengan kesalahan padding base64 yang tidak jelas. Ini batas keandalan, bukan batas yang divalidasi: tidak ada yang menolak Anda pada 2 KB. Pengiriman diterima lalu gagal belakangan, saat dekode.

Batasan yang diberlakukan server

Tiga batas, semuanya diperiksa di sisi server:

  1. 10 MB per pesan, dihitung dari total semua entri apa pun bentuknya — byte yang dirujuk dihitung sepenuhnya, sama seperti byte inline. Merujuk file menghemat proses menyalin isinya; ukuran file tidak berubah.
  2. 10 MB per file, diterapkan pada size_bytes yang dinyatakan saat slot unggahan dibuat — jadi URL yang dapat menyimpan objek berukuran terlalu besar tidak akan pernah diterbitkan.
  3. 100 entri dalam satu daftar attachments.

Total diperiksa dari metadata tersimpan sebelum byte diambil, lalu diperiksa lagi setelah semuanya diselesaikan, sehingga pengiriman yang melampaui batas ditolak dengan 422, bukan dikirim sebagian. Jika satu kumpulan melampaui salah satu batas, bagi menjadi beberapa pengiriman.

Ketiga bentuk dapat dicampur dengan bebas dalam satu daftar. URL unggahan bertanda tangan berumur pendek — 15 menit secara default — dan PUT harus mengirim Content-Type dan Content-Length persis seperti yang diberikan, karena tanda tangan mencakup keduanya. Unggahan hanya dapat digunakan sekali: pengiriman pertama yang merujuknya akan menghabiskannya. GET …/attachments/uploads/{upload_id} memberi tahu apakah slot masih menunggu, kapan masa berlakunya habis, dan pesan mana yang menggunakannya; endpoint ini tidak memeriksa apakah PUT Anda sudah tiba. Pengiriman sebelum byte tersedia akan ditolak dengan 422 dan tidak menghabiskan unggahan, sehingga Anda dapat mencoba lagi setelah PUT selesai. Untuk membaca ke arah sebaliknya, inbox_get_attachment mengembalikan byte attachment dalam format base64.


Server MCP adalah pintu masuknya. Pekerjaan produk yang menarik ada di atasnya: runtime agen yang mengubah percakapan SMS menjadi hasil nyata.

Saat balasan SMS masuk, aktifkan agen yang tepat dengan konteks percakapan lengkap: pesan keluar yang memicunya, riwayat pelanggan, dan tujuan thread. Webhook, tetapi untuk agen.

Jual hasil, bukan menit. Konfirmasi dan penjadwalan ulang janji temu dalam beberapa giliran, pendalaman NPS untuk skor rendah, kualifikasi prospek B2B, triase dukungan. Agen menjalankan percakapan dari awal hingga akhir.

Terapkan IP kepatuhan TrueDialog pada lapisan balasan. “Jangan kirimi saya SMS pada malam hari” menjadi tawaran jam tenang, bukan berhenti berlangganan sepenuhnya. Jejak audit yang dapat dipertanggungjawabkan berdasarkan TCPA sudah termasuk.

Jangan gantikan staf dukungan Anda. Bantu mereka. Draf balasan, ringkasan thread, saran tindakan terbaik berikutnya, semuanya ditampilkan di konsol agen yang sudah mereka gunakan.


Stack

FastMCP / httpx / Python 3.14
Azure Container Apps / ACR / Static Web Apps / Azure DNS
Terraform / Docker

Lisensi

MIT.

Tipografi

Lato, JetBrains Mono.