Resend Email MCP Server

resmi

Resend API'sini kullanarak doğrudan editörünüzden e-posta gönderin.

Dokümantasyon

Resend MCP Sunucusu

smithery badge npm version

Resend platformu için bir MCP sunucusu. Claude Desktop, Cursor veya Claude Code gibi herhangi bir MCP istemcisinden doğrudan e-posta gönderip alın, kişileri, yayınları, alan adlarını ve daha fazlasını yönetin.

Özellikler

  • E-postalar — E-postaları gönderin, listeleyin, alın, iptal edin, güncelleyin ve toplu olarak gönderin. HTML, düz metin, ekleri (yerel dosya, URL veya base64), CC/BCC, yanıtlama adresi, zamanlama, etiketler ve konu tabanlı gönderimi destekler.
  • Alınan E-postalar — Gelen e-postaları listeleyin ve okuyun. Alınan e-posta eklerini listeleyin ve indirin.
  • Kişiler — Kişileri oluşturun, listeleyin, alın, güncelleyin ve kaldırın. Segment üyeliklerini ve konu aboneliklerini yönetin. Özel kişi özelliklerini destekler.
  • Yayınlar — Yayın kampanyalarını oluşturun, gönderin, listeleyin, alın, güncelleyin ve kaldırın. Zamanlama, kişiselleştirme yer tutucuları ve önizleme metnini destekler.
  • Şablonlar — Yeniden kullanılabilir e-posta şablonlarını oluşturun, listeleyin, alın, güncelleyin, yayınlayın, çoğaltın ve kaldırın.
  • Görsel Düzenleyici — Resend panosunda canlı olarak görüntülenen yayın ve şablon içeriği oluşturun. Aracılar çalışırken düzenleyicide adlandırılmış bir avatar olarak görünür.
  • Alan Adları — Gönderici alan adlarını oluşturun, listeleyin, alın, güncelleyin, kaldırın ve doğrulayın. İzleme, TLS ve gönderme/alma yeteneklerini yapılandırın.
  • Segmentler — Hedef kitle segmentlerini oluşturun, listeleyin, alın ve kaldırın.
  • Konular — Abonelik konularını oluşturun, listeleyin, alın, güncelleyin ve kaldırın.
  • Kişi Özellikleri — Özel kişi niteliklerini oluşturun, listeleyin, alın, güncelleyin ve kaldırın.
  • API Anahtarları — API anahtarlarını oluşturun, listeleyin ve kaldırın.
  • Web Kancaları — Olay bildirimleri için web kancalarını oluşturun, listeleyin, alın, güncelleyin ve kaldırın.

Kurulum

Ücretsiz bir Resend hesabı oluşturun ve bir API anahtarı oluşturun. Kendi adresleriniz dışındaki adreslere göndermek için alan adınızı doğrulamanız gerekir.

Kullanım

Sunucu iki aktarım modunu destekler: stdio (varsayılan) ve HTTP.

Stdio Aktarımı (Varsayılan)

Hızlı Kurulum

Algılanan/seçilen tüm aracılar ve düzenleyiciler için kurulum yapın:

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

Cursor

Komut paletini açın ve "Cursor Settings" > "MCP" > "Add new global MCP server" seçeneğini belirleyin.

{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}

Claude Desktop

Claude Desktop ayarlarını açın > "Developer" sekmesi > "Edit Config".

{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx"
      }
    }
  }
}

HTTP Aktarımı

Uzak veya web tabanlı entegrasyonlar için sunucuyu HTTP üzerinden çalıştırın. HTTP modunda, her istemci kendi Resend API anahtarını Authorization başlığında Bearer belirteci olarak ileterek kimlik doğrulaması yapar.

Sunucuyu başlatın:

npx -y resend-mcp --http --port 3000

Sunucu http://127.0.0.1:3000 üzerinde dinleyecek ve MCP uç noktasını /mcp adresinde Streamable HTTP kullanarak sunacaktır.

Claude Code

claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"

Cursor

Komut paletini açın ve "Cursor Settings" > "MCP" > "Add new global MCP server" seçeneğini belirleyin.

{
  "mcpServers": {
    "resend": {
      "url": "http://127.0.0.1:3000/mcp",
      "headers": {
        "Authorization": "Bearer re_xxxxxxxxx"
      }
    }
  }
}

Bağlantı noktasını MCP_PORT ortam değişkeni aracılığıyla da ayarlayabilirsiniz:

MCP_PORT=3000 npx -y resend-mcp --http

Kütüphane olarak kullanım

HTTP aktarımı, CLI üzerinden çalıştırılmak yerine başka bir hizmete gömülebilmesi için dışa aktarılır. Bağlanan her istemci, Bearer belirteci olarak iletilen kendi Resend API anahtarıyla kimlik doğrulaması yapar.

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);

Varsayılan olarak sunucu yalnızca localhost Host doğrulaması uygular (DNS yeniden bağlama koruması). Bir ters proxy veya yük dengeleyici arkasında dağıtım yaparken — sunucunun istek başına Bearer API anahtarı ile korunduğu durumlarda — proxy'nin ilettiği Host ve yük dengeleyici sağlık kontrollerinin 403 Invalid Host ile reddedilmemesi için host değerini 0.0.0.0 olarak ayarlayın:

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'] });

CLI üzerinden bu, --host / --allowed-hosts (veya MCP_HOST / MCP_ALLOWED_HOSTS) ile eşleşir.

Seçenekler

Sunucuyu yapılandırmak için ek argümanlar iletebilirsiniz:

  • --key: Resend API anahtarınız (yalnızca stdio modu; HTTP modu istemciden gelen Bearer belirtecini kullanır)
  • --sender: Doğrulanmış bir alan adından varsayılan gönderici e-posta adresi
  • --reply-to: Varsayılan yanıtlama adresi (birden çok kez belirtilebilir)
  • --http: stdio yerine HTTP aktarımını kullan (varsayılan: stdio)
  • --port: --http kullanırken HTTP bağlantı noktası (varsayılan: 3000 veya MCP_PORT ortam değişkeni)
  • --host: --http kullanırken DNS yeniden bağlama koruması için ana bilgisayar (varsayılan: 127.0.0.1 veya MCP_HOST). Bir proxy/yük dengeleyici arkasında Host doğrulamasını devre dışı bırakmak için 0.0.0.0 olarak ayarlayın.
  • --allowed-hosts: --http (veya MCP_ALLOWED_HOSTS) kullanırken virgülle ayrılmış Host izin listesi

Ortam değişkenleri:

  • RESEND_API_KEY: Resend API anahtarınız (stdio için zorunlu, HTTP için isteğe bağlıdır çünkü istemciler Bearer belirteci ile iletir)
  • SENDER_EMAIL_ADDRESS: Doğrulanmış bir alan adından varsayılan gönderici e-posta adresi (isteğe bağlı)
  • REPLY_TO_EMAIL_ADDRESSES: Virgülle ayrılmış yanıtlama e-posta adresleri (isteğe bağlı)
  • MCP_PORT: --http kullanırken HTTP bağlantı noktası (isteğe bağlı)
  • MCP_HOST: --http kullanırken DNS yeniden bağlama koruması için ana bilgisayar (isteğe bağlı)
  • MCP_ALLOWED_HOSTS: --http kullanırken virgülle ayrılmış Host izin listesi (isteğe bağlı)

[!NOTE] Bir gönderici e-posta adresi sağlamazsanız, MCP sunucusu aracı her çağırdığınızda bir tane girmenizi isteyecektir.

Yerel Geliştirme

  1. Bu projeyi klonlayın ve derleyin:
git clone https://github.com/resend/resend-mcp.git
pnpm install
pnpm run build
  1. Yerel derlemeyi kullanmak için npx komutunu yerel derlemenizin yolu ile değiştirin:

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"
      }
    }
  }
}

Bir MCP İstemcisi ile Canlı Test

Geliştirme yaparken, başka bir yerde kod düzenlerken değişiklikleri gerçek bir MCP istemci oturumunda test edebilirsiniz.

Fikir: tsc --watch çalıştırarak dist/ sürekli olarak yeniden derleyin ve farklı bir dizinden derlenmiş dist/index.js dosyasına ayrı bir MCP istemcisi yönlendirin. Kod değişikliklerini almak istediğinizde MCP istemci oturumunu yeniden başlatın (MCP sunucuları, anında yeniden yükleme yapmayan uzun ömürlü stdio süreçleridir).

Claude Code ile Örnek:

  1. Kaydedildiğinde otomatik olarak yeniden derlemek için TypeScript izleyicisini çalıştırın:

    pnpm tsc --watch
    
  2. Ayrı bir dizinde, derleme çıktısını işaret eden bir .mcp.json oluşturun:

    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"
          }
        }
      }
    }
    
  3. Bu dizinden Claude Code'u başlatın ve MCP araçlarını kullanın. Kod değişiklikleri yaptıktan sonra, yeni derlemeyi almak için yeni bir Claude Code oturumu başlatın.

Aynı prensip herhangi bir MCP istemcisi için geçerlidir — test ortamınızı geliştirme ortamınızdan ayırın, dist/index.js için mutlak bir yol kullanın ve yeniden derlemeden sonra MCP sunucusuna yeniden bağlanın.

MCP Inspector ile Test

Not: Önce projeyi derlediğinizden emin olun (yukarıdaki Yerel Geliştirme bölümüne bakın).

Stdio Aktarımını Kullanma

  1. API anahtarınızı ayarlayın:

    export RESEND_API_KEY=re_your_key_here
    
  2. Inspector'ı başlatın:

    pnpm inspector
    
  3. Tarayıcıda (Inspector UI):

    • stdio seçeneğini belirleyin (bir süreç başlatın).
    • Command: node
    • Args: dist/index.js (veya dist/index.js tam yolu)
    • Env: RESEND_API_KEY=re_your_key_here (veya aynı terminalde zaten dışa aktardıysanız boş bırakın).
    • Connect düğmesine tıklayın, ardından sunucunun çalıştığını doğrulamak için "List tools" seçeneğini kullanın.

HTTP Aktarımını Kullanma

  1. Bir terminalde HTTP sunucusunu başlatın:

    node dist/index.js --http --port 3000
    
  2. Başka bir terminalde Inspector'ı başlatın:

    pnpm inspector
    
  3. Tarayıcıda (Inspector UI):

    • Streamable HTTP seçeneğini belirleyin (URL'ye bağlanın).
    • URL: http://127.0.0.1:3000/mcp
    • Özel bir başlık ekleyin: Authorization: Bearer re_your_key_here ve düğmeyi etkinleştirin.
    • Connect düğmesine tıklayın, ardından sunucunun çalıştığını doğrulamak için "List tools" seçeneğini kullanın.