Server MCP - Agen AI Kirim Notifikasi atau Telepon Anda

Hubungkan Claude Code, Codex, Cursor, ChatGPT, dan agen AI lain ke server MCP resmi Echobell untuk menerima notifikasi push atau panggilan telepon.


Echobell menjalankan server Model Context Protocol (MCP) resmi. Hubungkan server ini ke agen AI Anda — Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude, ChatGPT, atau klien MCP lainnya — dan agen tersebut mendapat satu tool, notify, yang mengirim notifikasi lewat salah satu saluran Echobell Anda.

Mulai refaktor panjang, menjalankan tes, atau deploy, lalu tinggalkan komputer dan minta agen memberi tahu Anda saat pekerjaannya selesai. Ponsel Anda bergetar saat pekerjaan rampung, menampilkan peringatan peka waktu saat agen membutuhkan Anda, atau berdering seperti panggilan telepon saat terjadi masalah serius.

Cara Kerjanya

  • Ini adalah server MCP jarak jauh di https://mcp.echobell.one/mcp yang memakai transport Streamable HTTP. Tidak ada yang perlu dipasang: tanpa paket npm, tanpa npx, tanpa proses lokal.
  • Setiap URL MCP milik satu saluran. Saat agen memanggil notify, semua orang yang berlangganan saluran itu menerima notifikasinya, masing-masing dengan jenis notifikasi yang mereka pilih.
  • Kredensialnya adalah token pemicu saluran — token yang sama dengan bagian akhir URL webhook saluran. Server MCP bekerja seperti webhook saluran, dalam bentuk tool yang sudah dipahami cara pemanggilannya oleh agen.

Buat saluran khusus untuk agen Anda, misalnya "Agen AI", dan berlanggananlah dengan jenis Panggilan. Agen Anda lalu bisa memilih tingkat apa pun hingga panggilan, dan Anda bisa membagikan saluran itu kepada rekan tim yang ingin menerima peringatan yang sama.

Dapatkan URL MCP Anda

Dari Aplikasi

  1. Buka aplikasi Echobell dan ketuk saluran yang ingin dipakai agen Anda.
  2. Di detail saluran, cari bagian Hubungkan Agen AI.
  3. Salin URL server MCP, atau salin cuplikan penyiapan siap pakai untuk agen Anda.

Dari URL Webhook

URL MCP memakai token yang sama dengan URL webhook saluran. Ambil token dari akhir URL webhook dan letakkan setelah https://mcp.echobell.one/mcp/:

Webhook URL: https://hook.echobell.one/t/<channel-token>
MCP URL:     https://mcp.echobell.one/mcp/<channel-token>

URL MCP berisi token pemicu saluran Anda. Siapa pun yang memilikinya bisa mengirim notifikasi ke pelanggan saluran, jadi jaga kerahasiaannya seperti kata sandi. Lihat Keamanan.

Siapkan Agen Anda

Semua cuplikan di bawah memakai bentuk URL. Ganti <channel-token> dengan token pemicu saluran Anda, atau tempelkan cuplikan dari aplikasi yang tokennya sudah terisi.

Claude Code

claude mcp add --transport http echobell https://mcp.echobell.one/mcp/<channel-token>

Tambahkan --scope user agar server tersedia di semua proyek, bukan hanya di proyek saat ini.

Codex

Tambahkan ini ke ~/.codex/config.toml:

[mcp_servers.echobell]
url = "https://mcp.echobell.one/mcp/<channel-token>"

Cursor

Tambahkan ini ke ~/.cursor/mcp.json, atau ke .cursor/mcp.json di dalam proyek:

{
  "mcpServers": {
    "echobell": {
      "url": "https://mcp.echobell.one/mcp/<channel-token>"
    }
  }
}

VS Code (GitHub Copilot)

Tambahkan ini ke .vscode/mcp.json di workspace Anda, lalu gunakan tool-nya dari Copilot Chat dalam mode agen:

{
  "servers": {
    "echobell": {
      "type": "http",
      "url": "https://mcp.echobell.one/mcp/<channel-token>"
    }
  }
}

Jika .vscode/mcp.json di-commit ke repositori Anda, gunakan bentuk header dengan prompt input agar token tidak ada di dalam file.

Windsurf

Tambahkan ini ke ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "echobell": {
      "serverUrl": "https://mcp.echobell.one/mcp/<channel-token>"
    }
  }
}

Gemini CLI

Tambahkan ini ke ~/.gemini/settings.json:

{
  "mcpServers": {
    "echobell": {
      "httpUrl": "https://mcp.echobell.one/mcp/<channel-token>"
    }
  }
}

Claude Desktop dan claude.ai

  1. Buka Settings → Connectors.
  2. Pilih Add custom connector.
  3. Masukkan nama Echobell dan URL https://mcp.echobell.one/mcp/<channel-token>, lalu tambahkan.

Konektor ini tersedia di Claude versi web maupun di aplikasi desktop.

ChatGPT

  1. Aktifkan mode developer di pengaturan ChatGPT.
  2. Buka Settings → Connectors dan pilih Create.
  3. Masukkan URL https://mcp.echobell.one/mcp/<channel-token> dan atur autentikasi ke No authentication — token di dalam URL itulah kredensialnya.

Klien MCP Lain

Klien apa pun yang mendukung transport Streamable HTTP bisa dipakai. Berikan URL https://mcp.echobell.one/mcp/<channel-token>, atau gunakan bentuk header di bawah.

Bentuk Header

Alih-alih menaruh token di URL, Anda bisa mengirimnya di header Authorization. Kedua bentuk ini setara.

URL:            https://mcp.echobell.one/mcp
Authorization:  Bearer <channel-token>

Dengan Claude Code:

claude mcp add --transport http echobell https://mcp.echobell.one/mcp \
  --header "Authorization: Bearer <channel-token>"

Di VS Code, prompt input menjaga token tetap di luar .vscode/mcp.json, sehingga file itu aman untuk di-commit. VS Code menanyakan token saat server pertama kali dijalankan dan menyimpannya dengan aman:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "echobell-token",
      "description": "Echobell channel trigger token",
      "password": true
    }
  ],
  "servers": {
    "echobell": {
      "type": "http",
      "url": "https://mcp.echobell.one/mcp",
      "headers": {
        "Authorization": "Bearer ${input:echobell-token}"
      }
    }
  }
}

Tool notify

Server ini menyediakan satu tool saja, notify. Agen Anda menentukan cara mengisinya berdasarkan prompt Anda.

ArgumenTipeWajibDeskripsi
titlestringYaJudul notifikasi.
bodystringTidakIsi notifikasi.
linkstring (URL)TidakTautan yang dibuka saat Anda mengetuk notifikasi, misalnya pull request, log build, atau dasbor.
urgencystringTidaknormal, time-sensitive, atau calling. Kosongkan untuk memakai tingkat masing-masing pelanggan. Lihat Urgensi.

Urgensi

Setiap orang yang berlangganan sebuah saluran memilih jenis notifikasi untuknya di aplikasi: Normal, Peka Waktu, atau Panggilan. Pilihan itu adalah tingkat tertinggi yang bisa dipakai saluran untuk menjangkau mereka.

  • Jika agen tidak mengirim urgency, setiap pelanggan menerima tingkat yang mereka pilih.
  • Jika agen mengirim urgency, ia hanya bisa menurunkan tingkat pelanggan, tidak pernah menaikkannya. Jika Anda berlangganan dengan jenis Panggilan, "urgency": "normal" tiba sebagai notifikasi normal. Jika Anda berlangganan dengan jenis Normal, "urgency": "calling" tetap tiba sebagai notifikasi normal.

Dengan begitu, satu saluran bisa mencakup semuanya. Berlanggananlah dengan jenis Panggilan, lalu minta agen mengirim kabar rutin sebagai normal dan memakai calling hanya saat ada yang rusak.

Berbeda dengan notificationType pada permintaan webhook, urgency juga berlaku di saluran dengan template kustom.

Panggilan Memerlukan Echobell Premium

Notifikasi panggilan adalah fitur Echobell Premium. Saat agen meminta calling, pelanggan tanpa Premium menerima notifikasi peka waktu sebagai gantinya — sama seperti yang terjadi di aplikasi dan webhook.

Satu Panggilan per Menit untuk Setiap Saluran

Sebuah saluran menelepon setiap pelanggan paling banyak sekali per menit. Jika agen meminta panggilan lain dalam menit itu — misalnya karena terjebak mencoba ulang terus-menerus — pelanggan menerima notifikasi peka waktu sebagai gantinya, yang tetap bisa menembus mode fokus. Webhook dan pemicu email mengikuti aturan yang sama.

Agen diberi tahu soal kedua hal ini. Hasil tool mencantumkan setiap penurunan tingkat, jadi agen tahu ponsel Anda tidak berdering dan bisa menyampaikannya alih-alih menganggap Anda sudah ditelepon.

Apa yang Diterima Agen

Setiap panggilan notify mengembalikan ringkasan teks singkat untuk agen beserta data terstruktur:

{
  "notificationTriggered": true,
  "reason": null,
  "requestedUrgency": "calling",
  "recipients": 1,
  "deliveredUrgency": { "normal": 0, "time-sensitive": 1, "calling": 0 },
  "fallbacks": [
    {
      "from": "calling",
      "to": "time-sensitive",
      "reason": "premium-required",
      "recipients": 1
    }
  ]
}
FieldArti
notificationTriggeredtrue jika notifikasi terkirim.
reasonAlasan tidak ada yang terkirim: conditions-not-met (kondisi saluran tidak terpenuhi) atau no-subscribers (tidak ada yang berlangganan saluran). null jika notifikasi terkirim.
requestedUrgencyurgency yang diminta agen, atau null jika tidak diisi.
recipientsJumlah pelanggan yang menerima notifikasi.
deliveredUrgencyJumlah pelanggan yang menerima tiap tingkat.
fallbacksPelanggan yang menerima tingkat lebih rendah dari yang diminta, beserta alasannya: premium-required (panggilan memerlukan Premium), subscriber-setting (tingkat pilihan pelanggan untuk saluran itu lebih rendah), atau call-cooldown (saluran sudah menelepon pelanggan itu dalam satu menit terakhir).

Saluran Passthrough dan Saluran Templat

Server MCP bekerja dengan kedua jenis saluran:

  • Saluran passthrough (bawaan) menampilkan title dan body persis seperti yang dikirim agen.
  • Saluran templat (dengan Templat kustom dinyalakan di bawah Advanced Settings) menyusun notifikasi dari templat Anda. title, body, link, externalLink, dan urgency tersedia sebagai variabel templat, dan kondisi saluran tetap berlaku. Jika kondisinya tidak terpenuhi, tidak ada yang dikirim dan agen menerima reason: "conditions-not-met".

Contoh Prompt

Setelah server terhubung, minta notifikasi dengan bahasa sehari-hari:

  • "Jalankan seluruh rangkaian tes dan kirimi saya notifikasi Echobell kalau sudah selesai."
  • "Refaktor modul pembayaran. Kirimi saya peringatan Echobell peka waktu kalau kamu butuh keputusan dari saya."
  • "Deploy ke staging. Telepon saya kalau deploy gagal, kalau tidak kirim notifikasi normal berisi URL-nya."
  • "Saat migrasi selesai, kirimi saya notifikasi berisi ringkasan dan tautan ke pull request."

Agar jadi kebiasaan, tambahkan baris seperti ini ke file instruksi agen Anda (CLAUDE.md, AGENTS.md, .cursorrules, dan sebagainya):

When a task takes longer than a few minutes, call the Echobell notify tool when it finishes.
Use urgency "calling" only when something is broken and needs me right away.

Keamanan

  • Token adalah kredensial. Siapa pun yang memiliki URL MCP (atau tokennya) bisa mengirim notifikasi ke pelanggan saluran. Token ini tidak bisa membaca apa pun atau mengubah akun Anda — satu-satunya yang bisa dilakukannya adalah mengirim notifikasi.
  • Jauhkan dari file bersama. Jangan commit file konfigurasi yang berisi bentuk URL. Untuk konfigurasi tingkat proyek, gunakan bentuk header dengan prompt input atau variabel lingkungan.
  • Cabut akses dengan mengatur ulang token pemicu. Buka saluran di aplikasi dan atur ulang token pemicunya. URL MCP lama langsung berhenti berfungsi (permintaan mendapat 401 Unauthorized), begitu pula URL webhook lama. Perbarui agen dan pemanggil webhook Anda dengan token baru.

Batasan dan Error

  • Batas laju: Setiap token menerima hingga 120 permintaan MCP per menit. Permintaan MCP punya kuotanya sendiri, terpisah dari permintaan webhook saluran.
  • 401 Unauthorized: Token tidak ada, salah, atau sudah diatur ulang.

Terkait

  • Webhook — picu saluran yang sama dari skrip, CI, dan layanan lain
  • Jenis notifikasi — perbedaan Normal, Peka Waktu, dan Panggilan
  • Templat dan Kondisi — bentuk dan saring notifikasi