Lewati ke isi
CSWA.AIDocs

Server MCP untuk Asisten AI

Hubungkan Claude Code, Cursor, VS Code, Windsurf, n8n, atau klien lain lewat mcp-remote — memakai kunci API, tanpa login.

± 6 menit

Apa itu server MCP#

MCP (Model Context Protocol) membuat asisten AI — Claude Code, Cursor, VS Code, Windsurf, atau agen n8n — bisa memakai fitur CSWA.AI sebagai alat: membaca chat yang belum dibalas, mencari kontak, mengirim pesan, membuat broadcast, sampai melihat pesanan dan analitik. Alamat server: https://mcp.cswa.ai (cadangan: https://cswa.ai/api/mcp).

Yang Anda butuhkan

  • Paket berlangganan aktif dan nomor WhatsApp terhubung.
  • Kunci API dari Integrasi › API & Webhook (masuk HANYA dengan kunci di header — tanpa login atau OAuth).

1. Siapkan kunci API#

  1. Langkah 1: Buat kunci khusus MCP

    Di API & Webhook klik Buat kunci, beri nama mis. "Claude laptop", dan centang izin seperlunya. Alat yang muncul di asisten AI mengikuti izin ini — untuk asisten yang hanya membaca, cukup pesan:baca dan kontak:baca.

  2. Langkah 2: Coba dulu dengan kunci test

    Kunci test menjalankan semua pemeriksaan tanpa mengirim apa pun ke pelanggan dan tanpa mengubah data — aman untuk mencoba alur kirim pesan, broadcast, dan Inbox.

2. Claude Code#

Jalankan di terminal (ganti KUNCI_API_ANDA), lalu ketik /mcp di Claude Code untuk memastikan statusnya tersambung:

Terminal
claude mcp add --transport http cswa https://mcp.cswa.ai \
  --header "Authorization: Bearer KUNCI_API_ANDA"

Cursor#

Buka Settings › MCP › Add new global MCP server, atau tempel ke ~/.cursor/mcp.json:

~/.cursor/mcp.json
{
  "mcpServers": {
    "cswa": {
      "url": "https://mcp.cswa.ai",
      "headers": {
        "Authorization": "Bearer KUNCI_API_ANDA"
      }
    }
  }
}

VS Code#

Tempel ke .vscode/mcp.json di proyek, lalu klik Start di atas nama server. Mode Agent di Copilot Chat akan menampilkan alatnya.

.vscode/mcp.json
{
  "servers": {
    "cswa": {
      "type": "http",
      "url": "https://mcp.cswa.ai",
      "headers": {
        "Authorization": "Bearer KUNCI_API_ANDA"
      }
    }
  }
}

Windsurf#

Tempel ke ~/.codeium/windsurf/mcp_config.json, lalu klik Refresh di panel MCP Cascade.

mcp_config.json
{
  "mcpServers": {
    "cswa": {
      "serverUrl": "https://mcp.cswa.ai",
      "headers": {
        "Authorization": "Bearer KUNCI_API_ANDA"
      }
    }
  }
}

n8n#

  1. Langkah 1: Tambah node MCP Client Tool

    Di workflow dengan node AI Agent, tambah tool MCP Client Tool.

  2. Langkah 2: Isi alamat & header

    MCP Client Tool
    Node: MCP Client Tool (atau MCP Client)
    Endpoint: https://mcp.cswa.ai
    Server Transport: HTTP Streamable
    Authentication: Header Auth
      Name: Authorization
      Value: Bearer KUNCI_API_ANDA
  3. Langkah 3: Pilih alat

    Pilih Tools to Include › Selected dan centang alat yang dipakai agen (mis. cari_percakapan, baca_percakapan, kirim_pesan).

Klien lain (mcp-remote)#

Klien yang hanya menerima server lokal (mis. Claude Desktop) bisa memakai jembatan mcp-remote — butuh Node.js 18+ di komputer:

claude_desktop_config.json
{
  "mcpServers": {
    "cswa": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.cswa.ai",
        "--header",
        "Authorization:Bearer KUNCI_API_ANDA"
      ]
    }
  }
}
Terminal (uji cepat)
npx -y mcp-remote https://mcp.cswa.ai --header "Authorization:Bearer KUNCI_API_ANDA"

Daftar alat#

daftar_kanalNomor WhatsApp (Device & API Official) Profil ini, status koneksi, dan kuota pesan baru harian. Izin: pesan:baca.
cari_percakapanCari chat WhatsApp: belum dibalas, sudah dibalas, butuh CS, per kanal, atau per kata (nama/nomor). Izin: pesan:baca.
baca_percakapanRiwayat pesan satu percakapan (terbaru dulu). Izin: pesan:baca.
ringkas_chat_hari_iniAngka chat hari ini (zona waktu bisnis Profil) dan daftar percakapan yang masih menunggu balasan. Izin: pesan:baca.
cari_kontakCari kontak WhatsApp per nama/nomor atau tag. Izin: kontak:baca.
ubah_tag_kontakTambah dan/atau lepas tag satu kontak. Izin: kontak:tulis.
kirim_pesanKirim SATU pesan teks ke satu kontak. Panggilan pertama hanya PRATINJAU (aturan WhatsApp diperiksa); kirim sungguhan dengan memanggil ulang isian yang sama + konfirmasi: true + token_pratinjau. Selalu tunjukkan pratinjau ke pengguna dan minta persetujuannya dulu. Izin: pesan:kirim.
buat_broadcastBroadcast ke tag kontak atau daftar nomor. WAJIB pratinjau: panggilan pertama mengembalikan jumlah penerima, isi, dan perkiraan waktu + token_pratinjau; broadcast baru dibuat bila dipanggil ulang dengan isian sama + konfirmasi: true + token yang sama. Minta persetujuan pengguna dulu. Izin: broadcast:kelola.
tugaskan_percakapanTugaskan percakapan ke anggota tim (user_id) atau lepas penugasan (null). Izin: inbox:kelola.
tutup_percakapanTandai percakapan selesai, atau buka lagi. Izin: inbox:kelola.
atur_ai_agentJeda AI Agent (CS ambil alih), lanjutkan AI, atau serahkan percakapan ke CS manusia. Izin: ai:kelola.
laporan_broadcastProgres & hasil satu broadcast, atau 10 broadcast terbaru. Izin: broadcast:kelola.
analitik_whatsappAngka WhatsApp yang sama dengan halaman Analitik (pesan masuk, broadcast, respons, tiket, CSAT, pesanan). Izin: analitik:baca.
daftar_pesananPesanan Inbox › Penjualan & halaman toko, bisa disaring status/percakapan/kata. Izin: pesanan:baca.
status_pesananDetail satu pesanan: item, total, status bayar, pengiriman & resi. Izin: pesanan:baca.

Pratinjau, konfirmasi & batas#

  • kirim_pesan dan buat_broadcast selalu mengembalikan PRATINJAU dulu (penerima, isi, perkiraan waktu) beserta token_pratinjau. Baru dijalankan bila asisten memanggil ulang dengan isian sama, konfirmasi: true, dan token itu (berlaku 10 menit, sekali pakai).
  • Batas lewat MCP: 30 permintaan/menit per kunci, 20 pesan/jam (WhatsApp Device), 60 pesan/jam (API Official), 5 broadcast/hari dan maks 1.000 penerima per broadcast. Volume lebih besar: pakai REST API atau dasbor.
  • Isi chat pelanggan diapit penanda ⟦DATA_PELANGGAN⟧ — asisten diminta memperlakukannya sebagai data, bukan perintah, sehingga pesan pelanggan seperti "abaikan instruksi sebelumnya" tidak dijalankan.
  • Pesan yang dikirim tercatat di Inbox sebagai "MCP · nama kunci"; semua panggilan tampil di tab Log.
  • Cabut kunci di dasbor → asisten langsung tidak bisa masuk lagi.

Masalah umum#

401 / tidak tersambungHeader Authorization belum benar. Format: Authorization: Bearer <kunci> (tanpa tanda kutip tambahan).
Alat tidak munculKunci tidak punya izin untuk alat itu, atau fiturnya tidak termasuk paket. Ubah izin kunci di dasbor lalu muat ulang server di klien.
403 mode_test_sajaProfil masih masa coba: pakai kunci test.
batas_permintaanBatas MCP tercapai — tunggu sesuai pesan, atau pakai REST API untuk volume besar.
405 pada GETNormal: server ini memakai POST dengan respons JSON (tanpa aliran SSE).