AhaSend Email API & SMTP relay

resmi

E-posta gönderin, bir e-postanın neden başarısız olduğunu öğrenin, gönderim alan adları kurun ve AhaSend hesabınızda şablonları, kişileri, listeleri ve kampanyaları yönetin.

AhaSend Email API & SMTP Relay MCP ile neler yapabilirsiniz?

  • E-posta gönder — Asistandan tek seferlik bir e-posta, şablon e-posta veya konuşma e-postası göndermesini isteyin ve planlanmış bir gönderimi iptal edin.
  • Teslimatı teşhis et — Mesajları arayın, bir e-postanın neden başarısız olduğunu öğrenin ve teslim edilebilirlik, geri dönme ve teslimat süresi istatistiklerini alın.
  • Alan adlarını yönet — Gönderim alan adlarını listeleyin, ekleyin, güncelleyin ve silin, ayrıca bir alan adının DNS kayıtlarını kontrol edin.
  • Şablonlar oluştur — Şablonları ve kampanya şablonlarını oluşturun, güncelleyin, yayınlayın ve sürümleyin; Simple Editor tasarımlarını AhaML işaretlemesi olarak düzenleyin.
  • Hedef kitleyi yönet — Kişiler, listeler ve segmentler oluşturun ve güncelleyin, kişileri listelere ekleyin ve bir segmenti önizleyin.
  • Kampanyaları çalıştır — Kampanyalar oluşturun, çoğaltın, test edin, gönderin ve planlayın, ardından kampanya istatistiklerini ve alıcıları kontrol edin.

Barındırılan MCP Sunucusu

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

Claude Code, Codex, Cursor ve daha fazlasına kurulur

Dokümantasyon

ahasend-mcp

AhaSend için MCP araçları içeren bir Go modülü. Bu araçlarla bir yapay zekâ ajanı e-posta gönderebilir, bir e-postanın neden başarısız olduğunu öğrenebilir ve alan adlarını, şablonları, kişileri, listeleri, kampanyaları, webhook'ları, rotaları, bastırmaları, SMTP kimlik bilgilerini ve alt hesapları yönetebilir.

Her araç, AhaSend v2 API'sini ahasend-go üzerinden çağırır. API anahtarının kapsamları ajanın neler yapabileceğine karar verir.

Modül, sunucuyu resmî Go MCP SDK'sı ile oluşturur. Programınız sunucunun nasıl sunulacağını seçer: stdio, HTTP veya başka herhangi bir SDK taşıyıcısı.

go get github.com/AhaSend/ahasend-mcp

Örnek

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{})

Seçenekler

AlanNe yapar
ClientAPI anahtarını içeren ahasend-go istemcisi. Zorunlu.
AccountIDAraçların üzerinde çalıştığı hesap. Zorunlu.
DashboardBaseURLKampanya bağlantılarında kullanılan AhaSend kontrol paneli URL'si. Zorunlu.
ConfirmationKeyKampanya gönderim sorularını imzalayan, en az 32 baytlık bir sır. Zorunlu.
ScopesAPI anahtarının kapsamları. Yalnızca anahtarın kullanabileceği araçlar gösterilir. nil tüm araçları gösterir.
ToolsetsYalnızca bu araç kümelerini göster. nil hepsini gösterir.
ReadOnlyYalnızca hiçbir şeyi değiştirmeyen araçları göster.
StatelessDurumsuz HTTP üzerinden sunuyorsanız true olarak ayarlayın.
MaxRecipientsPerSendTek bir gönderim için en fazla alıcı sayısı. Varsayılan 50.
ReadInboundMesaj araçlarının hesabın aldığı e-postayı döndürmesine izin ver. Varsayılan olarak kapalı.
BlockedAyarlanırsa, her araç çağrısı bu metni hata olarak döndürür ve hiçbir şey yapmaz.
RecorderHer araç çağrısı için bir kayıt alır: araç adı, başarı, hata türü ve geçen süre. Girdiler veya sonuçlar asla.

Çok sayıda kullanıcıya hizmet veriyorsanız, her istek için o kullanıcının anahtarı ve kapsamlarıyla yeni bir sunucu oluşturun. Bu ucuzdur. Her örnekte aynı ConfirmationKey kullanın.

Catalogue() her aracı ihtiyaç duyduğu kapsamlarla listeler. OfferedScopes() araçların kullandığı her kapsamı listeler; kullanıcının kapsam seçtiği bir sayfa için.

Araçlar

Araç kümesiAraçlar
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

Her araç, API uç noktasının ihtiyaç duyduğu kapsamlara ihtiyaç duyar. send_campaign ve schedule_campaign ayrıca campaigns:read ve lists:read kapsamlarına, ve segment kullanan bir kampanya göndermek için segments:read kapsamına ihtiyaç duyar. Kampanya şablonu araçları ayrıca campaigns:read kapsamına ihtiyaç duyar. preview_segment, list_segment_contacts ve list_contact_segments, segments:read yanı sıra contacts:read kapsamına ihtiyaç duyar.

Liste araçları varsayılan olarak 20 öğe döndürür ve en fazla 100. Sonraki sayfayı almak için döndürülen imleci geçin.

API anahtarları veya SMTP kimlik bilgileri oluşturmak, hesap ayarlarını, faturalandırmayı veya ekip üyelerini değiştirmek, tüm bastırmaları kaldırmak ya da alt hesapları silmek veya askıya almak için araç yoktur.

Simple Editor tasarımları ve AhaML

Şablon, kampanya şablonu ve kampanya araçları, kontrol panelinin Simple Editor tasarımını AhaSend Markup (AhaML) olarak, yani tasarımın bir XML biçimi olarak, içeriğin markup alanında okur ve yazar. get_template bir şablonun çalışma kopyasını, yani bir taslak varken taslağı döndürür, böylece bir ajan okuduğunu düzenler; get_published_template ise bir gönderimin kullandığı kopyayı döndürür.

Sunucunun tek bir kaynağı vardır, ahasend://docs/ahaml: her etiket, öznitelik, sınır ve hata koduyla AhaML referansı. Ayrıca https://ahasend.com/docs/send-api/ahaml adresinde de bulunur. Kaynak her bağlantıda listelenir, böylece web erişimi olmayan bir ajan da onu okuyabilir.

Güvenlik kuralları

Kampanya gönderimleri bir kişinin evet demesini gerektirir. send_campaign ve schedule_campaign kullanıcıya gönderim zamanı, kişi sayısı, kampanya adı, konu, gönderen, listeler ve segmentler ile hariç tutulan listeler ve segmentleri içeren bir form gösterir. Yalnızca kullanıcı evet yanıtı verirse gönderirler. Sorudan sonra kampanya değişirse, araç yeniden sorar. İstemci bir form gösteremiyorsa, araç hiçbir şey göndermez ve kontrol panelindeki kampanyaya bir bağlantı döndürür.

Tek seferlik gönderimlerin bir alıcı sınırı vardır. MaxRecipientsPerSend alıcıdan fazlasına (varsayılan 50) tek bir gönderim reddedilir. Toplu e-posta için bir kampanya kullanın.

Alınan e-posta varsayılan olarak gizlidir. Herkes bir hesabın gelen adreslerine e-posta gönderebilir ve bu e-posta ajanı kandırmaya çalışan metin içerebilir. ReadInbound açık değilse, mesaj araçları alınan e-postayı döndürmez. Açıkken, alınan mesajlar untrusted: true olarak işaretlenir.

Hatalar

API bir çağrıyı reddettiğinde, araç API'nin mesajı ve bundan sonra ne yapılacağıyla birlikte bir hata döndürür. AhaML'yi reddettiğinde, hata sorunları, ilk 100'e kadar, her biri kodu, satırı, sütunu, yolu ve ipucuyla listeler; API'nin mesajı kaç tane olduğunu verir.

Yerel olarak deneme

cmd/ahasend-mcp-dev tüm araçları kendi API anahtarınızla stdio üzerinden sunar. Yalnızca test içindir.

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

Varsayılan dışında bir API kullanmak için AHASEND_BASE_URL ayarlayın.

Lisans

MIT