Sign inGet Started

Server MCP

Server Bird MCP mengekspos Bird API sebagai tool Model Context Protocol. Klien yang didukung antara lain Claude Code, Cursor, VS Code, Codex, Claude Desktop, ChatGPT, dan Muse. Klien-klien ini dapat mengirim melalui setiap channel yang dijalankan Bird, menyiapkan channel tersebut, dan memeriksa workspace Anda tanpa menyalin perintah cURL. Anda dapat menjalankannya dengan dua cara, dan kebanyakan orang menginginkan cara pertama:
  1. Hosted (mcp.bird.com): sebuah URL dan sign-in melalui browser. Tidak perlu instalasi, tanpa CLI, tanpa kunci API. Ini adalah jalur yang direkomendasikan.
  2. Local over stdio (bird mcp): tool yang berjalan di mesin Anda di dalam bird CLI, untuk agen shell atau menjalankannya sendiri.
Server hosted tidak menyertakan tool khusus stdio berikut:
  • auth_signup, auth_verify_email, dan auth_create_org: tool ini membuat kredensial pertama Anda, sebelum Anda dapat melakukan autentikasi ke server hosted.
  • compliance_attachments_upload: tool ini membaca path file lokal. Di server hosted, path tersebut akan merujuk ke filesystem server dan bisa mengunggah file yang salah.

Hosted: hubungkan ke mcp.bird.com

Pilih endpoint

Gunakan https://mcp.bird.com untuk sebagian besar koneksi. Ini adalah endpoint yang direkomendasikan: sebagian besar klien MCP sudah mencari dan memilih tool secara internal dari katalog lengkap. Beberapa klien tidak mencari tool secara internal, atau membatasi jumlah tool yang boleh diekspos server. /dynamic ditujukan untuk klien tersebut.
Kedua endpoint hosted menggunakan Streamable HTTP dan sign-in Bird OAuth yang sama:
EndpointTool yang dilihat klien AndaKapan menggunakannya
https://mcp.bird.comKatalog tool hosted lengkapDirekomendasikan untuk sebagian besar klien, yang mencari dan memilih tool secara internal. Juga mendukung widget MCP Apps.
https://mcp.bird.com/dynamicHanya search dan executeHanya untuk klien tanpa pencarian tool internal atau dengan batas keras jumlah tool yang boleh diekspos server.
Endpoint dinamis memberi Anda akses ke operasi hosted yang sama melalui execute. Endpoint standar dan server stdio lokal mempertahankan tool individualnya; keduanya tidak mencantumkan search atau execute.
Anda tidak perlu menginstal binary atau membuat token. Menghubungkan memerlukan dua langkah, dan keduanya wajib:
  1. Tambahkan server: berikan URL endpoint pilihan Anda ke klien.
  2. Autentikasi: sign in melalui browser agar klien menyimpan token yang bertindak sebagai Anda.
Kedua endpoint memerlukan autentikasi. Klien yang hanya memiliki URL menerima 401 sampai Anda sign in. Beberapa klien memulai sign-in sendiri saat pertama kali terhubung ke server; yang lain memarkir server sebagai "needs login" dan menunggu Anda mengkliknya. Langkah-langkah klien Anda menunjukkan perilakunya.

Gunakan penemuan tool dinamis

Jika klien Anda menolak server karena terlalu banyak tool, hubungkan ke https://mcp.bird.com/dynamic dan selesaikan sign-in OAuth. Klien Anda mencantumkan dua tool:
  • search mencari tool berdasarkan nama atau kata kunci deskripsi. Setiap hasil mencakup nama, deskripsi, input schema, dan anotasi yang menjelaskan apakah tool tersebut membaca atau mengubah data.
  • execute memanggil satu tool yang dipilih beserta argumennya. Tool ini dapat membaca data, mengirim pesan, mengubah record, atau menghapusnya, tergantung tool yang dipilih.
Sebagai contoh, agen Anda dapat menemukan tool workspace dengan pemanggilan tool ini:
Contoh kode
{
  "name": "search",
  "arguments": { "query": "workspace_get", "limit": 3 }
}
Setelah membaca input schema yang dikembalikan, agen memanggil tool tersebut melalui execute:
Contoh kode
{
  "name": "execute",
  "arguments": { "tool": "workspace_get", "arguments": {} }
}
Hasilnya berisi workspace Anda saat ini. Anda juga dapat mencari dengan kata kunci tugas seperti send email. Pencarian default menampilkan lima hasil, menerima limit dari satu hingga 10, dan menerima kueri hingga 500 karakter. Jika hasilnya memiliki has_more: true, persempit kueri Anda untuk menemukan hasil yang lebih relevan.
Hasil pencarian tidak menambahkan tool ke katalog klien Anda. Nama yang disebutkan dalam hasil atau instruksi pemulihan juga melalui execute. Eksekusi menggunakan izin Anda yang sudah ada; jika suatu operasi memerlukan izin tambahan, klien Anda mungkin meminta Anda mengotorisasinya. Menemukan tool tidak memberikan akses ke tool tersebut.
Eksekusi dinamis mengembalikan data untuk tool yang seharusnya menampilkan widget. Gunakan endpoint standar untuk widget interaktif MCP Apps. Klien hanya melihat satu tool eksekusi, jadi pengaturan persetujuan per tool berlaku untuk execute secara keseluruhan; periksa operasi yang dipilih sebelum menyetujui pemanggilan. Endpoint ini mengeksekusi pemanggilan tool dan tidak menjalankan JavaScript atau kode lain yang disediakan.

Hubungkan klien

Contoh di bawah menggunakan endpoint standar. Untuk penemuan dinamis, ganti https://mcp.bird.com/dynamic sebagai URL server dan ikuti langkah sign-in yang sama.

Claude Code

Tambahkan server:
Contoh kode
claude mcp add --transport http bird https://mcp.bird.com
claude mcp list sekarang melaporkan bird sebagai ! Needs authentication. Claude Code tidak membuka browser secara otomatis, jadi sign in dari dalam sesi:
  1. Jalankan /mcp.
  2. Pilih bird dan tekan Enter.
  3. Pilih Authenticate. Browser Anda membuka layar persetujuan Bird; setujui di sana.
Server kemudian terbaca sebagai terhubung dan tool-nya berfungsi. Eksekusi headless (claude -p) tidak memiliki panel /mcp, jadi lakukan autentikasi terlebih dahulu dari shell Anda dengan claude mcp login bird. Untuk sign in lagi nanti, /mcp menawarkan Re-authenticate; Clear authentication menghapus token yang tersimpan.
Menginstal plugin bird-ai mendeklarasikan server ini untuk Anda, yang menggantikan perintah claude mcp add. Autentikasi tetap diperlukan karena plugin dapat menyertakan server tetapi tidak dapat menerbitkan grant. Pilih /mcp > bird > Authenticate setelah menginstalnya.

Cursor

Di ~/.cursor/mcp.json:
Contoh kode
{
  "mcpServers": {
    "bird": {
      "url": "https://mcp.bird.com"
    }
  }
}
Kemudian buka Cursor Settings > Tools & Integrations. Di bawah MCP Tools, bird menampilkan Needs login: klik, setujui layar persetujuan Bird di browser, dan kembali ke Cursor.

OpenCode

Plugin OpenCode Bird mendaftarkan server untuk Anda, beserta agent skills Bird:
Contoh kode
opencode plugin github:messagebird/bird-ai --global
OpenCode menambahkan setiap tool MCP ke konteks model, sehingga plugin terhubung ke endpoint dinamis. Dengan mode kode eksperimental OpenCode aktif (OPENCODE_EXPERIMENTAL_CODE_MODE=1, atau OPENCODE_EXPERIMENTAL=1), OpenCode menyimpan tool MCP di balik pencarian internalnya, dan plugin terhubung ke katalog lengkap di https://mcp.bird.com.
Untuk menambahkan server tanpa plugin, masukkan ini di opencode.json, di proyek Anda atau di ~/.config/opencode/opencode.json:
Contoh kode
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "bird": {
      "type": "remote",
      "url": "https://mcp.bird.com/dynamic"
    }
  },
  "permission": {
    "bird_execute": "ask"
  }
}
Lalu sign in, yang membuka browser Anda untuk layar persetujuan Bird:
Contoh kode
opencode mcp auth bird
Mulai ulang OpenCode untuk memuat plugin. opencode mcp list melaporkan bird sebagai terhubung setelah Anda menyetujui. Plugin, seperti entri permission di atas, membuat OpenCode bertanya sebelum setiap panggilan execute, karena tool yang dijalankan dapat mengubah workspace Anda.

VS Code

Di .vscode/mcp.json di proyek Anda:
Contoh kode
{
  "servers": {
    "bird": {
      "type": "http",
      "url": "https://mcp.bird.com"
    }
  }
}
VS Code meminta Anda memercayai server saat pertama kali dijalankan, lalu menjalankan alur OAuth sendiri: setujui layar persetujuan Bird di jendela browser yang terbuka. Jika tidak ada jendela yang muncul, mulai atau mulai ulang bird dari perintah MCP: List Servers dan setujui di sana. Pemberian akses yang dihasilkan tercantum di Accounts > Manage Trusted MCP Servers, yang juga tempat Anda mencabut akses VS Code.

Codex

Di ~/.codex/config.toml:
Contoh kode
[mcp_servers.bird]
url = "https://mcp.bird.com"
Lalu sign in dari shell Anda, yang membuka browser:
Contoh kode
codex mcp login bird

Claude Desktop

Buka Settings > Connectors, klik Add custom connector, tempel https://mcp.bird.com, dan klik Add. Lalu klik Connect pada konektor Bird untuk menjalankan sign-in dan menyetujui layar persetujuan. Pada paket Team dan Enterprise, seorang owner menambahkan konektor sekali untuk organisasi dan setiap anggota tetap mengeklik Connect untuk pemberian akses mereka sendiri. Aktifkan konektor per percakapan dari + > Connectors.

ChatGPT

Konektor MCP kustom memerlukan mode developer: Settings > Apps > Advanced settings > Developer mode. Lalu buka Settings > Connectors > Create, beri konektor nama dan deskripsi, tempel https://mcp.bird.com, dan pilih OAuth sebagai autentikasi. ChatGPT menjalankan sign-in sendiri dan membuka layar persetujuan Bird di popup saat pertama kali Anda menggunakan konektor tersebut.

Muse

Muse menambahkan Bird sebagai konektor kustom. Di chat Muse, minta untuk menyiapkannya:
Contoh kode
Set up a custom connector to the Bird MCP server at https://mcp.bird.com following https://bird.com/docs/ai/mcp-server.md so you can work with my Bird workspace.
Muse membalas dengan tautan koneksi untuk sesi ini. Buka tautan tersebut dan setujui layar persetujuan Bird di browser. Tautan ini hanya berlaku untuk Anda dan kedaluwarsa bersama sesi. Jika tautan berhenti berfungsi, minta Muse untuk tautan baru.

Factory Droid

Contoh kode
droid mcp add bird https://mcp.bird.com --type http
Lalu jalankan /mcp di dalam droid dan selesaikan sign-in browser dari server manager.

Agent Plugins

Plugin bird-ai mendeklarasikan server ini dalam mcp.json yang mengikuti Agent Plugins. Host yang mengimplementasikan spesifikasi tersebut membaca file itu saat plugin diinstal, sehingga tidak ada konfigurasi server yang perlu ditulis: instal plugin dan sign in.

Host lainnya

Cari pengaturan yang menambahkan server MCP remote, HTTP, atau custom, biasanya di menu Connectors atau Integrations, dan berikan URL-nya. Lokasi kolom bervariasi; gunakan URL endpoint hosted pilihan Anda. Lalu temukan antarmuka sign-in klien tersebut: kontrol Connect, Authorize, atau Needs login di samping server, subperintah login, atau jendela browser yang dibuka klien secara otomatis. Klien yang menampilkan daftar tool Bird tetapi gagal di setiap panggilan berarti memiliki URL tetapi masih memerlukan pemberian akses.

Yang terjadi saat Anda sign in

Browser Anda membuka layar persetujuan Bird. Sign in, pilih apakah akan memberikan izin workspace atau organisasi, dan pilih izin mana yang akan didelegasikan. Karena klien MCP mendaftarkan dirinya sendiri, nama klien bersifat self-asserted, sehingga layar menandainya sebagai not verified by Bird. Pastikan itu adalah klien yang benar-benar Anda jalankan sebelum menyetujui. Setelah itu, tool muncul di daftar agen dan token diperbarui secara otomatis, jadi ini adalah langkah satu kali per klien.
Cara tercepat untuk membuktikan berhasil adalah meminta agen memanggil whoami: tool ini mengembalikan pengguna yang sedang sign in, sehingga jawaban nyata berarti pemberian akses sudah aktif. Di endpoint dinamis, panggil melalui execute dengan tool: "whoami" dan arguments kosong.
Pemberian akses dibatasi pada irisan antara apa yang diminta klien, apa yang Anda setujui, dan apa yang benar-benar Anda miliki; cakupan org:owner dan platform-admin tidak pernah dapat didelegasikan. Pemberian akses ini muncul di daftar Connected apps di profil Anda, dan mencabutnya di sana langsung memutus akses klien.

Cara kerja handshake

Anda tidak memerlukan ini untuk menghubungkan klien. Ini penting jika Anda sedang men-debug klien yang tidak berhasil melakukan autentikasi, atau sedang menulis klien sendiri.
Tier hosted menggunakan Streamable HTTP dan tanpa kredensial: tidak menyimpan rahasia dan tidak memvalidasi apa pun sendiri. Setiap permintaan membawa bearer token OAuth Anda sendiri, yang divalidasi oleh API Bird per permintaan. Server bersifat stateless dan lalu lintas regional dirutekan secara otomatis, sehingga satu URL berfungsi dari mana saja.
Alur sign-in menggunakan MCP standar. Klien hanya berbeda pada apa yang memicunya: panggilan tool pertama atau memilih Authenticate. Setelah alur dimulai, langkah-langkah autentikasi tidak memerlukan konfigurasi tambahan:
  1. Klien membuat permintaan tanpa autentikasi dan mendapat respons 401 dengan header WWW-Authenticate yang mengarah ke metadata protected-resource RFC 9728 Bird (/.well-known/oauth-protected-resource).
  2. Dari sana klien menemukan authorization server, lalu mendaftarkan dirinya secara dinamis (RFC 7591). Registrasi dinamis menghilangkan kebutuhan akan client ID pra-berbagi atau konfigurasi manual.
  3. Browser Anda membuka layar persetujuan Bird.
  4. Klien menukar hasilnya dengan access token (PKCE; diperbarui secara otomatis) dan tool Bird muncul.

Lokal: jalankan melalui stdio dengan CLI

Jalankan server MCP lokal di dalam bird CLI untuk agen yang mendukung shell atau akses ke file di mesin Anda. Instal CLI, jalankan bird auth login sekali, lalu arahkan klien Anda ke perintah bird mcp.
Anda tidak menjalankan bird mcp sendiri: klien Anda meluncurkannya dan berkomunikasi melalui stdin/stdout. Setiap klien memerlukan dua informasi yang sama: perintah (bird) dan argumen (mcp). Jalur ini tidak memerlukan sign-in per klien karena bird auth login sudah menyimpan pemberian akses.

Cursor

Contoh kode
{
  "mcpServers": {
    "bird": {
      "command": "bird",
      "args": ["mcp"]
    }
  }
}

VS Code

Contoh kode
{
  "servers": {
    "bird": {
      "command": "bird",
      "args": ["mcp"]
    }
  }
}

Claude Code

Contoh kode
claude mcp add bird -- bird mcp

Cara autentikasi server lokal

Server lokal bertindak sebagai Anda dan menggunakan kembali login tersimpan CLI. bird auth login membuka alur OAuth di browser tempat Anda memberikan sebagian izin workspace Anda. Token yang diterbitkan memiliki batas izin yang sama dengan pemberian akses hosted. Cakupan org:owner maupun platform-admin tidak tersedia. bird mcp membaca dan memperbarui login tersimpan dari file kredensial CLI, yang mode-nya 0600. Seperti tier hosted, konfigurasi klien Anda tidak memiliki BIRD_API_KEY atau rahasia lainnya. Jika login tidak ada, bird mcp menolak untuk memulai dan meminta Anda menjalankan bird auth login.
Anda tidak membuka listener: server berjalan di mesin Anda, di dalam sandbox klien, selama klien membutuhkannya. Host API mengikuti region login Anda secara otomatis; --base-url (atau BIRD_API_URL) meng-override-nya untuk pengujian terhadap lingkungan non-produksi.

Cakupan tool

Toolset mencakup setiap kanal yang dijalankan Bird, ditambah tugas akun dan konfigurasi di sekitarnya. Toolset ini dikurasi, bukan seluruh permukaan API: setiap tool dicakupkan ke tugas yang benar-benar dilakukan agen, dan operasi destruktif dianotasi agar host dapat bertanya sebelum menjalankannya.
Email memiliki tool paling banyak, karena memiliki permukaan konfigurasi paling luas. Kanal lain mengikuti pola kirim-dan-baca yang sama.

Messaging

  • Kirim dan inspeksi email: email_send, email_send_batch, email_list, dan email_get, yang mengembalikan pesan beserta status pengiriman agregatnya. Status pengiriman per penerima dan log event adalah panggilan tool terpisah.
  • Kirim dan inspeksi SMS: sms_send, sms_send_batch, sms_get, sms_list, dan sms_list_events, mengikuti pola email. sms_templates_list dan sms_templates_get membaca katalog template.
  • Kirim dan inspeksi WhatsApp: whatsapp_send, whatsapp_get, whatsapp_list, whatsapp_list_events, dan whatsapp_media. Template adalah permukaan authoring lengkap di bawah whatsapp_templates_*, termasuk konten per versi dan per bahasa.
  • Periksa leg panggilan suara: voice_legs_get dan voice_legs_list membaca leg panggilan, dengan statistik per negara dan per kode respons di voice_stats_*. voice_session_credentials_create membuat kredensial workspace yang digunakan klien SIP atau softphone untuk autentikasi.
  • Verifikasi penerima: verify_verifications_create mengirim kode verifikasi satu kali, verify_verifications_check memvalidasi apa yang dikirimkan penerima, dan verify_verifications_next_channel beralih ke kanal lain.
  • Buat panggilan suara (pratinjau): voice_calls_create menyiapkan panggilan keluar menggunakan publikasi aktif dari sequence yang diaktifkan dan tidak diarsipkan. Seseorang meninjau dan menjalankan permintaan di browser; menyiapkannya tidak melakukan panggilan. Lihat Buat panggilan suara untuk izin dan petunjuk percobaan ulang. Server lokal bird mcp memerlukan versi CLI yang menyertakan tool ini.

Menyiapkan kanal untuk pengiriman

  • Siapkan domain pengirim: email_domains_create menambahkan domain pengirim dan mengembalikan record DNS yang perlu dipublikasikan; email_domains_verify memeriksanya ulang; ditambah email_domains_list dan email_domains_get.
  • Klaim dan daftarkan pengirim SMS: sms_senders_create mengklaim pengirim, sms_senders_requirements melaporkan apa yang diminta suatu negara, dan sms_senders_registrations_create mendaftarkannya. Lalu lintas A2P AS berjalan melalui tool brand, campaign, dan submission sms_10dlc_*.
  • Provisikan nomor: numbers_available_list mencari, numbers_orders_create membeli, dan numbers_release mengembalikan. whatsapp_numbers_precheck melaporkan apakah WhatsApp akan menerima nomor sebelum Anda memesannya.
  • Periksa apakah akun dapat mengirim: tool trust_* melaporkan persyaratan organisasi yang menentukan apakah Anda dapat membeli nomor atau mendaftarkan pengirim.

Deliverabilitas email

  • Buat template email: email_templates_create, email_templates_list, email_templates_get, email_templates_update, email_templates_duplicate, dan email_templates_preview (render draf dengan nilai sampel tanpa mengirim). Versi berada di bawah email_templates_versions_*, di mana email_templates_versions_submit membekukan draf dan menjadikannya versi yang disajikan saat pengiriman, dan email_templates_versions_languages_* mengedit konten per bahasa dari draf. Tidak ada yang ditulis agen sampai ke penerima hingga dikirimkan.
  • Kelola supresi: email_suppressions_list, email_suppressions_check (apakah alamat ini aman untuk dikirim?), email_suppressions_add, dan email_suppressions_remove (dianotasi destruktif, karena menghapus supresi tanpa alasan merusak reputasi pengirim).
  • Kelola IP dan pool khusus: email_dedicated_ips_create, email_dedicated_ips_list, email_dedicated_ips_get, email_dedicated_ips_assign (pindahkan ke pool), dan email_dedicated_ips_delete; ditambah email_ip_pools_create, email_ip_pools_list, email_ip_pools_get, email_ip_pools_update, dan email_ip_pools_delete untuk pool yang Anda gunakan untuk merutekan pengiriman.

Audiens dan konfigurasi

  • Kelola kontak dan audiens: contacts_* dan contact_properties_* untuk orang yang Anda kirimi, audiences_* untuk daftar yang Anda kirimi, dan preferences_* untuk pemberian persetujuan dan opt-out.
  • Provisikan Realtime: realtime_apps_* dan realtime_apps_keys_* membuat aplikasi dan kunci yang digunakan klien Realtime untuk terhubung.
  • Cari informasi seseorang: lookup_phone_number dan lookup_email melaporkan apa yang diketahui Bird tentang suatu alamat sebelum Anda mengirim ke sana.
  • Inspeksi konfigurasi: webhooks_list, workspace_get, dan whoami (pengguna yang sign in: id, email, nama).
Klien Anda menampilkan daftar tool aktif beserta nama, deskripsi, dan skema input. Perlakukan daftar tersebut sebagai inventaris resmi. Tugas pertama yang baik untuk dicoba secara menyeluruh:
Call whoami to find my email, then send me a test email from onboarding@messagebird.dev and tell me when it's delivered.

MCP atau CLI?

Permukaan sama, model autentikasi sama, pemanggil berbeda. Untuk agen yang mendukung shell (Claude Code, terminal Cursor, CI), CLI lebih ringkas: output JSON, exit code semantik, dan jauh lebih sedikit token per operasi. MCP ditujukan untuk host yang memanggil tool alih-alih menjalankan shell, dan endpoint hosted menjangkau host yang sama sekali tidak bisa mengeksekusi binary (Claude Desktop, ChatGPT, mobile). Anda tidak harus memilih di awal: URL hosted tidak memerlukan instalasi, dan bird mcp lokal sudah tersedia begitu CLI terinstal.

Langkah selanjutnya

  • AI onboarding: versi quickstart dari halaman ini, ditambah korpus dokumentasi yang dapat dibaca mesin.
  • Agent skills: plugin marketplace bird-ai, skills ditambah server MCP ini, diinstal dalam satu langkah.
  • CLI untuk agen: jalankan Bird dari agen yang mendukung shell tanpa MCP: output JSON, exit code semantik, login OAuth.
  • Autentikasi: kunci API, region, dan cara otorisasi permintaan.