Resend Email
resmiKirim email langsung dari editor Anda menggunakan API Resend.
Apa yang bisa Anda lakukan dengan Resend Email MCP?
- Kirim dan kelola email — Minta asisten Anda untuk mengirim, mencantumkan, mendapatkan, membatalkan, atau mengirim email massal dengan lampiran, CC/BCC, penjadwalan, dan header khusus melalui
send_email. - Kelola kontak dan audiens — Buat, perbarui, atau hapus kontak, kelola keanggotaan segmen dan langganan topik, serta impor kontak dari CSV menggunakan
create_contact. - Bangun dan kirim siaran — Buat, jadwalkan, kirim, atau batalkan kampanye siaran dengan placeholder personalisasi dan teks pratinjau melalui
create_broadcast. - Tangani email masuk — Cantumkan dan baca email yang diterima, serta unduh lampiran dari pesan masuk menggunakan
list_received_emails. - Kelola template dan domain — Buat, perbarui, terbitkan, atau duplikat template email dengan variabel, serta verifikasi atau konfigurasi domain pengirim melalui
create_templatedanverify_domain. - Pantau dan otomatisasi — Tinjau log permintaan API, kelola webhook, dan picu otomatisasi dengan mengirim peristiwa untuk kontak menggunakan
list_logsdansend_event.
Dokumentasi
Server MCP Resend
Hubungkan agen AI Anda ke platform Resend. Kirim dan terima email, kelola kontak, siaran, domain, dan lainnya, langsung dari klien MCP apa pun seperti Claude, Cursor, atau Claude Code.
Kami menawarkan server MCP jarak jauh yang dihosting oleh Resend dan server MCP lokal (paket ini).
Server MCP Jarak Jauh
Resend menghosting server MCP di:
https://mcp.resend.com/mcp
Hubungkan klien MCP apa pun yang mendukung server jarak jauh (Streamable HTTP). Tidak ada yang perlu diinstal dan tidak ada proses lokal yang dijalankan, menjadikannya pilihan terbaik untuk klien berbasis web seperti Claude dan platform agen yang dihosting.
Saat Anda terhubung, klien Anda membuka jendela browser untuk masuk ke Resend dan menyetujui akses menggunakan OAuth.
Claude Code
claude mcp add --transport http resend https://mcp.resend.com/mcp
Kemudian jalankan /mcp di Claude Code dan pilih resend untuk menyelesaikan login OAuth.
Claude
Di Claude (web atau desktop), buka Pengaturan > Konektor > Tambahkan konektor kustom dan masukkan:
https://mcp.resend.com/mcp
Cursor
Buka palet perintah dan pilih "Pengaturan Cursor" > "MCP" > "Tambahkan server MCP global baru".
{
"mcpServers": {
"resend": {
"url": "https://mcp.resend.com/mcp"
}
}
}
Codex
codex mcp add resend --url https://mcp.resend.com/mcp
Copilot
Untuk menggunakan GitHub Copilot di VS Code, tambahkan berikut ke settings.json Anda:
{
"mcp": {
"servers": {
"resend": {
"type": "http",
"url": "https://mcp.resend.com/mcp"
}
}
}
}
Windsurf
{
"mcpServers": {
"resend": {
"serverUrl": "https://mcp.resend.com/mcp"
}
}
}
Warp
Di Pengaturan Warp, navigasikan ke Agen > Server MCP, dan klik +Tambahkan untuk menambahkan server baru.
{
"resend": {
"serverUrl": "https://mcp.resend.com/mcp"
}
}
Autentikasi dengan kunci API
Jika klien Anda berjalan di tempat yang tidak memungkinkan login browser (server, CI, atau agen tanpa kepala), berikan kunci API Resend sebagai token Bearer alih-alih menggunakan OAuth.
Claude Code:
claude mcp add --transport http resend https://mcp.resend.com/mcp --header "Authorization: Bearer re_xxxxxxxxx"
Konfigurasi JSON (Cursor, Windsurf, dan lainnya), tambahkan header Authorization:
{
"mcpServers": {
"resend": {
"url": "https://mcp.resend.com/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
Server MCP Lokal
Server yang dihosting menjalankan kode sumber terbuka yang sama yang tersedia di NPM sebagai resend-mcp. Jika Anda lebih suka menjalankan server sendiri, Anda dapat mengintegrasikannya ke klien MCP yang didukung menggunakan npx. Anda perlu:
Server lokal mendukung dua mode transportasi: stdio (default) dan HTTP.
Pilih mode dan klien yang Anda sukai di bawah untuk memulai. Ingat untuk mengganti re_xxxxxxxxx dengan kunci API Anda yang sebenarnya.
Transportasi Stdio (Default)
Pengaturan Cepat
Instal untuk semua agen/editor yang terdeteksi/dipilih:
npx add-mcp resend-mcp --name resend --env "RESEND_API_KEY=re_xxxxxxxxx"
Claude Code
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- npx -y resend-mcp
Codex
codex mcp add resend \
--env RESEND_API_KEY=re_xxxxxxxxx \
-- npx -y resend-mcp
Cursor
Buka palet perintah dan pilih "Pengaturan Cursor" > "MCP" > "Tambahkan server MCP global baru".
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Claude Desktop
Buka pengaturan Claude Desktop > tab "Pengembang" > "Edit Konfigurasi".
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Copilot
Untuk menggunakan GitHub Copilot di VS Code, tambahkan berikut ke settings.json Anda:
{
"mcp": {
"servers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
}
Gemini CLI
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
OpenCode
Tambahkan ke konfigurasi opencode.json Anda:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"resend": {
"type": "local",
"command": ["npx", "-y", "resend-mcp"],
"enabled": true,
"environment": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Windsurf
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Devin
Di Devin, buka Pengaturan > Koneksi > Server MCP dan klik Tambahkan MCP kustom. Lihat panduan Devin untuk langkah-langkah lengkap.
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx",
"SENDER_EMAIL_ADDRESS": "onboarding@resend.dev"
}
}
}
}
Transportasi HTTP
Jalankan server melalui HTTP untuk integrasi jarak jauh atau berbasis web, misalnya di belakang tunnel atau reverse proxy Anda sendiri, alih-alih menggunakan server MCP jarak jauh yang dihosting Resend. Dalam mode HTTP, setiap klien mengautentikasi dengan mengirimkan kunci API Resend mereka sebagai token Bearer di header Authorization.
Mulai server:
npx -y resend-mcp --http --port 3000
Server akan mendengarkan di http://127.0.0.1:3000 dan mengekspos endpoint MCP di /mcp menggunakan Streamable HTTP.
Claude Code
claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"
Cursor
Buka palet perintah dan pilih "Pengaturan Cursor" > "MCP" > "Tambahkan server MCP global baru".
{
"mcpServers": {
"resend": {
"url": "http://127.0.0.1:3000/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
Anda juga dapat mengatur port melalui variabel lingkungan MCP_PORT:
MCP_PORT=3000 npx -y resend-mcp --http
Gunakan sebagai pustaka
Transportasi HTTP juga diekspor sehingga dapat disematkan di layanan lain alih-alih dijalankan melalui CLI. Setiap klien yang terhubung mengautentikasi dengan kunci API Resend mereka sendiri yang dikirim sebagai token Bearer.
import { runHttp } from 'resend-mcp/http';
// Options are optional — pass `senderEmailAddress` / `replierEmailAddresses`
// to set defaults. Binds the port and returns the Node http.Server, exposing
// the MCP endpoint at POST/GET/DELETE /mcp and a GET /health check.
const server = await runHttp({}, 3000);
Secara default, server menerapkan validasi Host hanya localhost (perlindungan
DNS-rebinding). Saat menyebarkan di belakang reverse proxy atau load balancer, di mana
server dilindungi oleh kunci API Bearer per permintaan, atur host ke 0.0.0.0
sehingga Host yang diteruskan proxy dan pemeriksaan kesehatan load balancer tidak ditolak
dengan 403 Invalid Host:
const server = await runHttp({}, 3000, { host: '0.0.0.0' });
// or pin specific hostnames instead of disabling validation:
const server = await runHttp({}, 3000, { allowedHosts: ['mcp.example.com'] });
Melalui CLI ini dipetakan ke --host / --allowed-hosts (atau MCP_HOST /
MCP_ALLOWED_HOSTS).
Opsi
Anda dapat memberikan argumen tambahan untuk mengonfigurasi server lokal:
--key: Kunci API Resend Anda (hanya mode stdio, karena mode HTTP menggunakan token Bearer dari klien)--sender: Alamat email pengirim default dari domain terverifikasi--reply-to: Alamat email balasan default (dapat ditentukan beberapa kali)--http: Gunakan transportasi HTTP alih-alih stdio (default: stdio)--port: Port HTTP saat menggunakan--http(default: 3000, atau variabel envMCP_PORT)--host: Host untuk perlindungan DNS-rebinding saat menggunakan--http(default:127.0.0.1, atauMCP_HOST). Atur ke0.0.0.0untuk menonaktifkan validasiHostdi belakang proxy/load balancer.--allowed-hosts: Daftar izinHostyang dipisahkan koma saat menggunakan--http(atauMCP_ALLOWED_HOSTS)
Variabel lingkungan:
RESEND_API_KEY: Kunci API Resend Anda (wajib untuk stdio, opsional untuk HTTP karena klien mengirimkannya melalui token Bearer)SENDER_EMAIL_ADDRESS: Alamat email pengirim default dari domain terverifikasi (opsional)REPLY_TO_EMAIL_ADDRESSES: Alamat email balasan yang dipisahkan koma (opsional)MCP_PORT: Port HTTP saat menggunakan--http(opsional)MCP_HOST: Host untuk perlindungan DNS-rebinding saat menggunakan--http(opsional)MCP_ALLOWED_HOSTS: Daftar izinHostyang dipisahkan koma saat menggunakan--http(opsional)
[!NOTE] Jika Anda tidak memberikan alamat email pengirim, server MCP akan meminta Anda untuk memberikannya setiap kali Anda memanggil alat.
Alat Server MCP
Server MCP Resend memberikan akses native ke seluruh platform Resend kepada agen AI Anda melalui satu integrasi. Anda dapat mengelola semua aspek infrastruktur email Anda menggunakan bahasa alami.
- Email: Kirim, daftar, dapatkan, batalkan, perbarui, dan kirim email secara batch. Mendukung HTML, teks biasa, lampiran (file lokal, URL, atau base64), CC/BCC, balas-ke, penjadwalan, tag, header kustom, pengiriman berbasis topik, dan kunci idempotensi.
- Email Diterima: Daftar dan baca email masuk. Daftar dan unduh lampiran email yang diterima.
- Templat: Buat, daftar, dapatkan, perbarui, publikasikan, duplikat, dan hapus templat email. Mendukung penyusunan konten templat dan placeholder
{{{VARIABLE}}}. - Kontak: Buat, daftar, dapatkan, perbarui, dan hapus kontak. Kelola keanggotaan segmen, langganan topik, dan impor kontak CSV. Mendukung properti kontak kustom.
- Siaran: Buat, kirim, batalkan, daftar, dapatkan, perbarui, dan hapus kampanye siaran. Mendukung penjadwalan, placeholder personalisasi, dan teks pratinjau.
- Otomatisasi: Buat, daftar, dapatkan, perbarui, dan hapus otomatisasi. Tinjau proses dari sebuah otomatisasi.
- Acara: Kirim acara untuk memicu otomatisasi untuk kontak. Buat, perbarui, dan hapus definisi acara.
- Domain: Buat, daftar, dapatkan, perbarui, hapus, dan verifikasi domain pengirim. Konfigurasikan pelacakan, TLS, dan kemampuan kirim/terima. Buat dan verifikasi klaim domain.
- Segmen: Buat, daftar, dapatkan, dan hapus segmen audiens.
- Penekanan: Daftar, dapatkan, tambahkan, dan hapus entri daftar penekanan, secara individual atau batch. Pantulan keras dan keluhan spam ditekan secara otomatis; tambahkan alamat secara manual untuk menghormati permintaan jangan-hubungi.
- Topik: Buat, daftar, dapatkan, perbarui, dan hapus topik langganan.
- Properti Kontak: Buat, daftar, dapatkan, perbarui, dan hapus atribut kontak kustom.
- Kunci API: Buat, daftar, dan hapus kunci API.
- Webhook: Buat, daftar, dapatkan, perbarui, dan hapus webhook untuk notifikasi acara.
- Log: Daftar dan periksa log permintaan API, termasuk isi permintaan dan respons lengkap.
- Editor: Hubungkan (dan putuskan) ke editor visual di dasbor Resend, dan baca konten draf saat berkolaborasi pada siaran dan templat.
Pengembangan Lokal
- Klon proyek ini dan bangun:
git clone https://github.com/resend/resend-mcp.git
pnpm install
pnpm run build
- Untuk menggunakan build lokal, ganti perintah
npxdengan path ke build lokal Anda:
Claude Code (stdio):
claude mcp add resend -e RESEND_API_KEY=re_xxxxxxxxx -- node ABSOLUTE_PATH_TO_PROJECT/dist/index.js
Claude Code (HTTP):
claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"
Cursor / Claude Desktop (stdio):
{
"mcpServers": {
"resend": {
"command": "node",
"args": ["ABSOLUTE_PATH_TO_PROJECT/dist/index.js"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Cursor (HTTP):
{
"mcpServers": {
"resend": {
"url": "http://127.0.0.1:3000/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
Pengujian Langsung dengan Klien MCP
Saat mengembangkan, Anda dapat menguji perubahan dalam sesi klien MCP nyata sambil mengedit kode di sesi lain.
Idenya: jalankan tsc --watch untuk terus membangun ulang dist/, dan arahkan klien MCP terpisah ke dist/index.js yang telah dibangun dari direktori yang berbeda. Saat Anda ingin mengambil perubahan kode, mulai ulang sesi klien MCP (server MCP adalah proses stdio yang berumur panjang dan tidak melakukan hot-reload).
Contoh dengan Claude Code:
-
Jalankan watcher TypeScript untuk membangun ulang otomatis saat disimpan:
pnpm tsc --watch -
Di direktori terpisah, buat
.mcp.jsonyang menunjuk ke output build:mkdir -p /tmp/mcp-test// /tmp/mcp-test/.mcp.json { "mcpServers": { "resend-dev": { "command": "node", "args": ["/absolute/path/to/resend-mcp/dist/index.js"], "env": { "RESEND_API_KEY": "re_xxxxxxxxx" } } } } -
Mulai Claude Code dari direktori tersebut dan gunakan alat MCP. Setelah membuat perubahan kode, mulai sesi Claude Code baru untuk mengambil build baru.
Prinsip yang sama berlaku untuk klien MCP mana pun — pisahkan lingkungan pengujian Anda dari lingkungan pengembangan Anda, gunakan path absolut ke dist/index.js, dan sambungkan kembali server MCP setelah membangun ulang.
Pengujian dengan MCP Inspector
Catatan: Pastikan Anda telah membangun proyek terlebih dahulu (lihat bagian Pengembangan Lokal di atas).
Menggunakan Transportasi Stdio
-
Atur kunci API Anda:
export RESEND_API_KEY=re_your_key_here -
Mulai inspector:
pnpm inspector -
Di browser (UI Inspector):
- Pilih stdio (jalankan proses).
- Perintah:
node - Argumen:
dist/index.js(atau path lengkap kedist/index.js) - Env:
RESEND_API_KEY=re_your_key_here(atau biarkan kosong jika Anda sudah mengekspornya di terminal yang sama). - Klik Hubungkan, lalu gunakan "Daftar alat" untuk memverifikasi server berfungsi.
Menggunakan Transportasi HTTP
-
Mulai server HTTP di satu terminal:
node dist/index.js --http --port 3000 -
Mulai inspector di terminal lain:
pnpm inspector -
Di browser (UI Inspector):
- Pilih Streamable HTTP (hubungkan ke URL).
- URL:
http://127.0.0.1:3000/mcp - Tambahkan header kustom:
Authorization: Bearer re_your_key_heredan aktifkan toggle. - Klik Hubungkan, lalu gunakan "Daftar alat" untuk memverifikasi server berfungsi.