Resend Email

resmi

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

Resend Email MCP ile neler yapabilirsiniz?

  • E-posta gönderme ve yönetme — Asistanınızdan send_email ile ekler, CC/BCC, zamanlama ve özel başlıklar içeren e-postalar göndermesini, listelemesini, almasını, iptal etmesini veya toplu olarak göndermesini isteyin.
  • Kişileri ve hedef kitleleri yönetmecreate_contact kullanarak kişiler oluşturun, güncelleyin veya kaldırın, segment üyeliklerini ve konu aboneliklerini yönetin ve CSV'den kişi içe aktarın.
  • Yayınlar oluşturma ve göndermecreate_broadcast ile kişiselleştirme yer tutucuları ve önizleme metni içeren yayın kampanyaları oluşturun, zamanlayın, gönderin veya iptal edin.
  • Gelen e-postaları işlemelist_received_emails kullanarak alınan e-postaları listeleyin ve okuyun, gelen mesajlardan ekleri indirin.
  • Şablonları ve alan adlarını yönetmecreate_template ve verify_domain ile değişkenler içeren e-posta şablonları oluşturun, güncelleyin, yayınlayın veya çoğaltın ve gönderen alan adlarını doğrulayın veya yapılandırın.
  • İzleme ve otomasyonlist_logs ve send_event kullanarak API istek günlüklerini inceleyin, webhook'ları yönetin ve kişiler için olaylar göndererek otomasyonları tetikleyin.

Dokümantasyon

Resend MCP Sunucusu

smithery badge npm version

AI ajanınızı Resend platformuna bağlayın. E-posta gönderin ve alın, kişileri, yayınları, alan adlarını ve daha fazlasını doğrudan Claude, Cursor veya Claude Code gibi herhangi bir MCP istemcisinden yönetin.

Hem Resend tarafından barındırılan bir uzak MCP sunucusu hem de bir yerel MCP sunucusu (bu paket) sunuyoruz.

Uzak MCP Sunucusu

Resend, MCP sunucusunu şu adreste barındırıyor:

https://mcp.resend.com/mcp

Uzak sunucuları destekleyen (Streamable HTTP) herhangi bir MCP istemcisini bağlayın. Kurulacak bir şey yok ve çalıştırılacak yerel bir işlem yok; bu da onu Claude gibi web tabanlı istemciler ve barındırılan ajan platformları için en iyi seçenek yapar.

Bağlandığınızda, istemciniz Resend'e giriş yapmak ve OAuth kullanarak erişimi onaylamak için bir tarayıcı penceresi açar.

Claude Code

claude mcp add --transport http resend https://mcp.resend.com/mcp

Ardından Claude Code'da /mcp komutunu çalıştırın ve OAuth girişini tamamlamak için resend seçeneğini seçin.

Claude

Claude'da (web veya masaüstü), Ayarlar > Bağlayıcılar > Özel bağlayıcı ekle bölümünü açın ve şunu girin:

https://mcp.resend.com/mcp

Cursor

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

{
  "mcpServers": {
    "resend": {
      "url": "https://mcp.resend.com/mcp"
    }
  }
}

Codex

codex mcp add resend --url https://mcp.resend.com/mcp

Copilot

VS Code'da GitHub Copilot kullanmak için settings.json dosyanıza aşağıdakini ekleyin:

{
  "mcp": {
    "servers": {
      "resend": {
        "type": "http",
        "url": "https://mcp.resend.com/mcp"
      }
    }
  }
}

Windsurf

{
  "mcpServers": {
    "resend": {
      "serverUrl": "https://mcp.resend.com/mcp"
    }
  }
}

Warp

Warp'ın Ayarlar bölümünde Agents > MCP servers bölümüne gidin ve yeni bir sunucu eklemek için +Add düğmesine tıklayın.

{
  "resend": {
    "serverUrl": "https://mcp.resend.com/mcp"
  }
}

API anahtarıyla kimlik doğrulama

İstemciniz tarayıcı girişinin mümkün olmadığı bir yerde çalışıyorsa (bir sunucu, CI veya headless ajan), OAuth kullanmak yerine bir Resend API anahtarı Bearer token olarak iletin.

Claude Code:

claude mcp add --transport http resend https://mcp.resend.com/mcp --header "Authorization: Bearer re_xxxxxxxxx"

JSON yapılandırması (Cursor, Windsurf ve diğerleri), bir Authorization başlığı ekleyin:

{
  "mcpServers": {
    "resend": {
      "url": "https://mcp.resend.com/mcp",
      "headers": {
        "Authorization": "Bearer re_xxxxxxxxx"
      }
    }
  }
}

Yerel MCP Sunucusu

Barındırılan sunucu, NPM'de resend-mcp olarak mevcut olan aynı açık kaynak kodunu çalıştırır. Sunucuyu kendiniz çalıştırmayı tercih ederseniz, npx kullanarak desteklenen herhangi bir MCP istemcisine entegre edebilirsiniz. Şunlara ihtiyacınız olacak:

Yerel sunucu iki taşıma modunu destekler: stdio (varsayılan) ve HTTP.

Başlamak için tercih ettiğiniz modu ve istemciyi aşağıdan seçin. re_xxxxxxxxx ifadesini gerçek API anahtarınızla değiştirmeyi unutmayın.

Stdio Taşıma (Varsayılan)

Hızlı Kurulum

Algılanan/seçilen tüm ajanlar ve düzenleyiciler için yükleyin:

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

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

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

Copilot

VS Code'da GitHub Copilot kullanmak için settings.json dosyanıza aşağıdakini ekleyin:

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

opencode.json yapılandırmanıza ekleyin:

{
  "$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

Devin'de Ayarlar > Bağlantılar > MCP Sunucuları bölümünü açın ve Özel MCP ekle düğmesine tıklayın. Adım adım tam rehber için Devin kılavuzuna bakın.

{
  "mcpServers": {
    "resend": {
      "command": "npx",
      "args": ["-y", "resend-mcp"],
      "env": {
        "RESEND_API_KEY": "re_xxxxxxxxx",
        "SENDER_EMAIL_ADDRESS": "onboarding@resend.dev"
      }
    }
  }
}

HTTP Taşıma

Resend'in barındırılan uzak MCP sunucusu yerine, kendi tünelinizin veya ters proxy'nizin arkasında olduğu gibi uzak veya web tabanlı entegrasyonlar için sunucuyu HTTP üzerinden çalıştırın. HTTP modunda, her istemci Resend API anahtarını Authorization başlığında Bearer token olarak ileterek kimlik doğrular.

Sunucuyu başlatın:

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

Sunucu http://127.0.0.1:3000 adresinde dinler ve MCP uç noktasını Streamable HTTP kullanarak /mcp adresinde sunar.

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 seçin.

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

Ayrıca portu MCP_PORT ortam değişkeniyle de ayarlayabilirsiniz:

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

Kitaplık olarak kullanma

HTTP taşıması ayrıca dışa aktarılır, böylece CLI üzerinden çalıştırılmak yerine başka bir hizmete gömülebilir. Bağlanan her istemci, Bearer token olarak iletilen kendi Resend API anahtarıyla kimlik doğrular.

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-rebinding koruması). Sunucunun istek başına Bearer API anahtarıyla korunduğu bir ters proxy veya yük dengeleyicinin arkasına dağıtım yaparken, 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şlenir.

Seçenekler

Yerel sunucuyu yapılandırmak için ek bağımsız değişkenler iletebilirsiniz:

  • --key: Resend API anahtarınız (yalnızca stdio modu, çünkü HTTP modu istemciden gelen Bearer token kullanır)
  • --sender: Doğrulanmış bir alan adından varsayılan gönderen e-posta adresi
  • --reply-to: Varsayılan yanıt (reply-to) e-posta adresi (birden çok kez belirtilebilir)
  • --http: stdio yerine HTTP taşıması kullan (varsayılan: stdio)
  • --port: --http kullanırken HTTP portu (varsayılan: 3000 veya MCP_PORT env değişkeni)
  • --host: --http kullanırken DNS-rebinding koruması için ana bilgisayar (varsayılan: 127.0.0.1 veya MCP_HOST). Bir proxy/yük dengeleyicinin 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ı çünkü istemciler Bearer token ile iletir)
  • SENDER_EMAIL_ADDRESS: Doğrulanmış bir alan adından varsayılan gönderen e-posta adresi (isteğe bağlı)
  • REPLY_TO_EMAIL_ADDRESSES: Virgülle ayrılmış yanıt (reply-to) e-posta adresleri (isteğe bağlı)
  • MCP_PORT: --http kullanırken HTTP portu (isteğe bağlı)
  • MCP_HOST: --http kullanırken DNS-rebinding 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önderen e-posta adresi sağlamazsanız, MCP sunucusu aracı her çağırdığınızda sizden bir tane sağlamanızı ister.

MCP Sunucu Araçları

Resend'in MCP sunucusu, AI ajanınıza tek bir entegrasyon aracılığıyla Resend platformunun tamamına yerel erişim sağlar. E-posta altyapınızın tüm yönlerini doğal dil kullanarak yönetebilirsiniz.

  • E-postalar: E-posta gönderin, listeleyin, alın, iptal edin, güncelleyin ve toplu gönderin. HTML, düz metin, ekler (yerel dosya, URL veya base64), CC/BCC, yanıt (reply-to), zamanlama, etiketler, özel başlıklar, konu tabanlı gönderim ve idempotency anahtarlarını destekler.
  • Alınan E-postalar: Gelen e-postaları listeleyin ve okuyun. Alınan e-posta eklerini listeleyin ve indirin.
  • Şablonlar: E-posta şablonları oluşturun, listeleyin, alın, güncelleyin, yayınlayın, çoğaltın ve kaldırın. Şablon içeriği oluşturmayı ve {{{VARIABLE}}} yer tutucularını destekler.
  • Kişiler: Kişiler oluşturun, listeleyin, alın, güncelleyin ve kaldırın. Segment üyeliklerini, konu aboneliklerini ve CSV kişi içe aktarımlarını yönetin. Özel kişi özelliklerini destekler.
  • Yayınlar: Yayın kampanyaları oluşturun, gönderin, iptal edin, listeleyin, alın, güncelleyin ve kaldırın. Zamanlama, kişiselleştirme yer tutucuları ve önizleme metnini destekler.
  • Otomasyonlar: Otomasyonlar oluşturun, listeleyin, alın, güncelleyin ve kaldırın. Bir otomasyonun çalıştırmalarını inceleyin.
  • Olaylar: Bir kişi için otomasyonları tetiklemek üzere olaylar gönderin. Olay tanımları oluşturun, güncelleyin ve kaldırın.
  • Alan Adları: Gönderen alan adları 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. Alan adı talepleri oluşturun ve doğrulayın.
  • Segmentler: Hedef kitle segmentleri oluşturun, listeleyin, alın ve kaldırın.
  • Engellemeler: Engelleme listesi kayıtlarını tek tek veya toplu olarak listeleyin, alın, ekleyin ve kaldırın. Sert geri dönmeler ve spam şikayetleri otomatik olarak engellenir; iletişim kurulmaması isteklerini onurlandırmak için adresleri manuel olarak ekleyin.
  • Konular: Abonelik konuları oluşturun, listeleyin, alın, güncelleyin ve kaldırın.
  • Kişi Özellikleri: Özel kişi nitelikleri oluşturun, listeleyin, alın, güncelleyin ve kaldırın.
  • API Anahtarları: API anahtarları oluşturun, listeleyin ve kaldırın.
  • Webhook'lar: Olay bildirimleri için webhook'lar oluşturun, listeleyin, alın, güncelleyin ve kaldırın.
  • Günlükler: API istek günlüklerini, tam istek ve yanıt gövdeleri dahil listeleyin ve inceleyin.
  • Düzenleyici: Resend panosundaki görsel düzenleyiciye bağlanın (ve bağlantıyı kesin) ve yayınlar ile şablonlar üzerinde işbirliği yaparken bir taslağın içeriğini okuyun.

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

MCP İstemcisiyle Canlı Test

Geliştirme sırasında, başka bir pencerede kod düzenlerken değişiklikleri gerçek bir MCP istemci oturumunda test edebilirsiniz.

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

Claude Code ile örnek:

  1. Kaydetmede otomatik yeniden derleme için TypeScript izleyicisini çalıştırın:

    pnpm tsc --watch
    
  2. Ayrı bir dizinde, derleme çıktısını gösteren 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. Claude Code'u bu dizinden 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ı ilke herhangi bir MCP istemcisi için de 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 sunucusunu yeniden bağlayın.

MCP Inspector ile Test

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

Stdio Taşıma 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çin (bir işlem başlat).
    • Komut: node
    • Bağımsız değişkenler: dist/index.js (veya dist/index.js öğesinin tam yolu)
    • Ortam: RESEND_API_KEY=re_your_key_here (veya aynı terminalde zaten dışa aktardıysanız boş bırakın).
    • Bağlan düğmesine tıklayın, ardından sunucunun çalıştığını doğrulamak için "List tools" kullanın.

HTTP Taşıma Kullanma

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

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

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

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