AhaSend Email API & SMTP relay

resmi

Kirim email, cari tahu mengapa email gagal, siapkan domain pengirim, dan kelola templat, kontak, daftar, serta kampanye di akun AhaSend Anda.

Apa yang bisa Anda lakukan dengan AhaSend Email API & SMTP Relay MCP?

  • Kirim email — Minta asisten untuk mengirim email sekali kirim, email templat, atau email percakapan, dan batalkan pengiriman terjadwal.
  • Diagnosis pengiriman — Cari pesan, cari tahu mengapa email gagal, dan tarik statistik keterkiriman, bounce, dan waktu pengiriman.
  • Kelola domain — Daftar, tambah, perbarui, dan hapus domain pengirim, serta periksa catatan DNS domain.
  • Buat templat — Buat, perbarui, terbitkan, dan versikan templat serta templat kampanye, edit desain Simple Editor sebagai markup AhaML.
  • Kelola audiens — Buat dan perbarui kontak, daftar, dan segmen, tambahkan kontak ke daftar, dan pratinjau segmen.
  • Jalankan kampanye — Buat, duplikasi, uji, kirim, dan jadwalkan kampanye, lalu periksa statistik kampanye dan penerima.

Server MCP Terhosting

npx add-mcp 'https://mcp.ahasend.com/mcp'

Terpasang ke Claude Code, Codex, Cursor, dan lainnya

Dokumentasi

ahasend-mcp

Modul Go dengan alat MCP untuk AhaSend. Dengan alat-alat ini, agen AI dapat mengirim email, mencari tahu mengapa sebuah email gagal, dan mengelola domain, templat, kontak, daftar, kampanye, webhook, rute, penekanan (suppression), kredensial SMTP, dan sub-akun.

Setiap alat memanggil API AhaSend v2 melalui ahasend-go. Cakupan (scope) kunci API menentukan apa yang dapat dilakukan agen.

Modul ini membangun server dengan SDK MCP Go resmi. Program Anda memilih cara menyajikannya: stdio, HTTP, atau transport SDK lainnya.

go get github.com/AhaSend/ahasend-mcp

Contoh

server, err := ahasendmcp.NewServer(
	&mcp.Implementation{Name: "my-app", Version: "1.0.0"},
	ahasendmcp.Options{
		Client:           api.NewAPIClient(api.WithAPIKey(apiKey)),
		AccountID:        accountID,
		DashboardBaseURL: "https://dash.ahasend.com",
		ConfirmationKey:  key, // at least 32 random bytes
	},
)
if err != nil {
	return err
}
return server.Run(ctx, &mcp.StdioTransport{})

Opsi

BidangFungsinya
ClientKlien ahasend-go, beserta kunci API. Wajib.
AccountIDAkun tempat alat-alat bekerja. Wajib.
DashboardBaseURLURL dasbor AhaSend, digunakan dalam tautan kampanye. Wajib.
ConfirmationKeyRahasia minimal 32 byte yang menandatangani pertanyaan pengiriman kampanye. Wajib.
ScopesCakupan kunci API. Hanya alat yang dapat digunakan kunci tersebut yang ditampilkan. nil menampilkan semua alat.
ToolsetsTampilkan hanya toolset ini. nil menampilkan semua.
ReadOnlyTampilkan hanya alat yang tidak mengubah apa pun.
StatelessAtur ke true jika Anda menyajikan melalui HTTP stateless.
MaxRecipientsPerSendJumlah penerima maksimum untuk satu pengiriman. Default 50.
ReadInboundIzinkan alat pesan mengembalikan email yang diterima akun. Nonaktif secara default.
BlockedJika diatur, setiap panggilan alat mengembalikan teks ini sebagai error dan tidak melakukan apa pun.
RecorderMendapatkan satu catatan per panggilan alat: nama alat, keberhasilan, jenis error, dan waktu yang dibutuhkan. Tidak pernah berisi input atau hasil.

Jika Anda melayani banyak pengguna, bangun server baru untuk setiap permintaan dengan kunci dan cakupan pengguna tersebut. Ini murah. Gunakan ConfirmationKey yang sama pada setiap instans.

Catalogue() mencantumkan setiap alat beserta cakupan yang dibutuhkannya. OfferedScopes() mencantumkan setiap cakupan yang digunakan alat-alat, untuk halaman tempat pengguna memilih cakupan.

Alat

ToolsetAlat
sendingsend_email, send_conversation_email, send_template_email, cancel_scheduled_email
diagnosticslist_messages, get_message, diagnose_message, get_deliverability_stats, get_bounce_stats, get_delivery_time_stats
domainslist_domains, get_domain, add_domain, check_domain_dns, update_domain, delete_domain
templateslist_templates, get_template, get_published_template, create_template, update_template, delete_template, discard_template_draft, publish_template, list_template_versions, get_template_version, restore_template_version, list_campaign_templates, get_campaign_template, create_campaign_template, update_campaign_template, delete_campaign_template
audiencelist_contacts, get_contact, create_contact, upsert_contacts, update_contact, delete_contact, list_contact_lists, list_lists, get_list, create_list, update_list, delete_list, list_list_contacts, add_contacts_to_list, upsert_list_contact, remove_contact_from_list, list_segments, get_segment, create_segment, update_segment, delete_segment, preview_segment, list_segment_contacts, list_contact_segments
campaignslist_campaigns, get_campaign, create_campaign, update_campaign, delete_campaign, duplicate_campaign, send_campaign_test, send_campaign, schedule_campaign, unschedule_campaign, get_campaign_stats, list_campaign_recipients
managementget_account, list_webhooks, get_webhook, create_webhook, update_webhook, delete_webhook, list_routes, get_route, create_route, update_route, delete_route, list_suppressions, add_suppression, remove_suppression, list_smtp_credentials, get_smtp_credential, delete_smtp_credential, list_sub_accounts, get_sub_account, create_sub_account, update_sub_account, get_sub_account_usage

Setiap alat membutuhkan cakupan yang dibutuhkan oleh endpoint API-nya. send_campaign dan schedule_campaign juga membutuhkan campaigns:read dan lists:read, serta segments:read untuk mengirim kampanye yang menggunakan segmen. Alat templat kampanye juga membutuhkan campaigns:read. preview_segment, list_segment_contacts, dan list_contact_segments membutuhkan contacts:read serta segments:read.

Alat daftar mengembalikan 20 item secara default dan paling banyak 100. Berikan kursor yang dikembalikan untuk mendapatkan halaman berikutnya.

Tidak ada alat untuk membuat kunci API atau kredensial SMTP, mengubah pengaturan akun, penagihan atau anggota tim, menghapus semua penekanan, atau menghapus atau menangguhkan sub-akun.

Desain Simple Editor dan AhaML

Alat templat, templat kampanye, dan kampanye membaca dan menulis desain Simple Editor dasbor sebagai AhaSend Markup (AhaML), bentuk XML dari desain tersebut, di bidang markup konten. get_template mengembalikan salinan kerja templat, yaitu draf selama masih ada, sehingga agen mengedit apa yang dibacanya; get_published_template mengembalikan salinan yang digunakan untuk pengiriman.

Server memiliki satu resource, ahasend://docs/ahaml: referensi AhaML, dengan setiap tag, atribut, batas, dan kode error. Resource ini juga ada di https://ahasend.com/docs/send-api/ahaml. Resource ini tercantum pada setiap koneksi, sehingga agen tanpa akses web dapat membacanya.

Aturan keselamatan

Pengiriman kampanye memerlukan persetujuan seseorang. send_campaign dan schedule_campaign menampilkan formulir kepada pengguna dengan waktu pengiriman, jumlah kontak, nama kampanye, subjek, pengirim, daftar dan segmen, serta daftar dan segmen yang dikecualikan. Alat ini mengirim hanya jika pengguna menjawab ya. Jika kampanye berubah setelah pertanyaan diajukan, alat akan bertanya lagi. Jika klien tidak dapat menampilkan formulir, alat tidak mengirim apa pun dan mengembalikan tautan ke kampanye di dasbor.

Pengiriman sekali jalan memiliki batas penerima. Pengiriman tunggal ke lebih dari MaxRecipientsPerSend penerima (default 50) ditolak. Gunakan kampanye untuk email massal.

Email yang diterima disembunyikan secara default. Siapa pun dapat mengirim email ke alamat masuk akun, dan email tersebut dapat berisi teks yang mencoba menipu agen. Kecuali ReadInbound aktif, alat pesan tidak mengembalikan email yang diterima. Saat aktif, pesan yang diterima ditandai untrusted: true.

Error

Ketika API menolak panggilan, alat mengembalikan error dengan pesan dari API dan langkah selanjutnya yang harus dilakukan. Ketika API menolak AhaML, error mencantumkan masalahnya, hingga 100 pertama, masing-masing dengan kode, baris, kolom, jalur, dan petunjuknya; pesan dari API memberikan berapa banyak masalah yang ada.

Mencobanya secara lokal

cmd/ahasend-mcp-dev menyajikan setiap alat melalui stdio dengan kunci API Anda sendiri. Ini hanya untuk pengujian.

go build -o ahasend-mcp-dev ./cmd/ahasend-mcp-dev
claude mcp add ahasend \
  -e AHASEND_API_KEY=... -e AHASEND_ACCOUNT_ID=... \
  -- ./ahasend-mcp-dev

Atur AHASEND_BASE_URL untuk menggunakan API selain yang default.

Lisensi

MIT