Hubungkan agen AI dengan MCP
Server Model Context Protocol yang menghubungkan klien MCP ke API Postline yang sebenarnya dengan kunci proyek yang sudah ada.
Unduh OpenAPI 3.1Apa ini
Server MCP Postline yang di-host tersedia di https://api.srs-postline.com/mcp dan menyediakan alat bertipe untuk email, domain, suppression, dan webhook.
Sebelum menulis kode apa pun
- Minta kunci API proyek dari pengguna, atau minta mereka membuat kunci sandbox di https://app.srs-postline.com/id/login — jangan pernah mengarang, menebak, atau menggunakan kembali kunci dari proyek lain.
- Letakkan kunci di variabel lingkungan sisi server. Jangan tempatkan di kode frontend, bundel aplikasi mobile, repo publik, atau file .env yang di-commit.
- Mulai dengan kunci srs_test_ terhadap proyek sandbox. Sandbox hanya dapat mengirim ke penerima yang telah diverifikasi pengguna, sehingga pengiriman inbox yang sesungguhnya memerlukan proyek live yang telah ditinjau — jangan menjanjikan bahwa pengiriman live berfungsi sebelum peninjauan tersebut selesai.
- Baca /llms.txt dan openapi/postline.yaml sebelum membuat kode permintaan; jangan menebak nama field atau endpoint.
Hubungkan
Hubungkan endpoint hosted dengan kunci Bearer Postline; tidak perlu mengunduh atau build lokal.
claude mcp add --scope user --transport http postline \
https://api.srs-postline.com/mcp \
--header "Authorization: Bearer srs_live_xxx"
export POSTLINE_API_KEY='srs_live_xxx'
codex mcp add postline --url https://api.srs-postline.com/mcp \
--bearer-token-env-var POSTLINE_API_KEYPemeriksaan yang harus dijalankan sebelum setiap pengiriman
- Selalu kirim Idempotency-Key yang diturunkan dari aksi pemicu (ID pesanan, ID event) sehingga percobaan ulang tidak dapat mengirim ganda.
- Jangan pernah menaruh kode OTP, token reset kata sandi, atau secret lain di field yang dicatat log atau diteruskan ke luar isi pesan.
- Minta scope kunci API yang paling sempit yang dibutuhkan tugas (emails:send sudah cukup untuk pengiriman; jangan minta domains:write atau api_keys:write kecuali tugas tersebut membutuhkannya).
- Batasi penerima hingga 100 per panggilan. API saat ini tidak menerima lampiran atau header khusus; tolak file atau berikan tautan tanpa menyatakan bahwa file telah dilampirkan.
- Jangan mencoba ulang secara diam-diam pada respons 4xx. Hanya 429 dan 503 yang aman dicoba ulang, dan hanya dengan backoff.
Tangani setiap kode respons
- 202 — diantrekan, belum terkirim. Simpan id yang dikembalikan jika Anda perlu memeriksa status nanti.
- 400 — payload tidak valid; perbaiki permintaan, jangan coba ulang tanpa perubahan.
- 401 — kunci tidak valid atau kedaluwarsa; hentikan dan tampilkan ke pengguna, jangan mengarang kunci baru.
- 403 — scope hilang atau domain pengirim belum terverifikasi; beri tahu pengguna untuk memverifikasi domain sebelum melanjutkan.
- 409 — konflik idempotency; perlakukan permintaan asli sebagai sudah terkirim.
- 422 — penerima di-suppress (pernah bounce/complaint); jangan coba ulang ke penerima tersebut.
- 429 — dibatasi rate; mundur (back off) dan coba lagi nanti, jangan melakukan loop ketat.
- 503 — antrean tidak tersedia; coba ulang dengan backoff, jangan beralih ke transport tidak resmi.
Referensi yang dapat dibaca mesin
- /llms.txt — indeks ringkas aturan ini untuk context window agen.
- /openapi/postline.yaml — skema OpenAPI 3.1 lengkap untuk setiap endpoint.
- /id/api/ — referensi API untuk manusia.
- /id/webhooks/ — detail tanda tangan dan retry webhook.