Resend Email
официальныйОтправляйте электронные письма прямо из редактора с помощью Resend API.
Что можно делать с Resend Email MCP?
- Отправляйте и управляйте электронными письмами — Попросите ИИ отправлять, планировать или массово отправлять письма с HTML, вложениями, копией/скрытой копией и пользовательскими заголовками с помощью
sendEmailи связанных инструментов. - Управляйте контактами и аудиториями — Создавайте, обновляйте, импортируйте или удаляйте контакты, а также управляйте их членством в сегментах и подписками на темы.
- Создавайте и отправляйте рассылочные кампании — Составляйте, планируйте и отправляйте массовые письма с плейсхолдерами персонализации и текстом предварительного просмотра.
- Проверяйте и настраивайте домены — Добавляйте, проверяйте и обновляйте домены отправителя, включая настройки отслеживания, TLS и получения.
- Просматривайте логи API и вебхуки — Получайте и изучайте логи запросов API с полными телами запросов/ответов, а также управляйте конечными точками вебхуков.
- Совместно работайте над шаблонами и рассылками — Подключайтесь к визуальному редактору Resend, чтобы читать и дорабатывать черновики контента для шаблонов и рассылок.
Документация
Resend MCP-сервер
Подключите вашего AI-агента к платформе Resend. Отправляйте и получайте письма, управляйте контактами, рассылками, доменами и многим другим напрямую из любого MCP-клиента, такого как Claude, Cursor или Claude Code.
Мы предлагаем как удаленный MCP-сервер, размещенный у Resend, так и локальный MCP-сервер (этот пакет).
Удаленный MCP-сервер
Resend размещает MCP-сервер по адресу:
https://mcp.resend.com/mcp
Подключайтесь через любой MCP-клиент, поддерживающий удаленные серверы (Streamable HTTP). Ничего не нужно устанавливать и запускать локально, что делает этот вариант оптимальным для веб-клиентов, таких как Claude, и размещаемых агентских платформ.
При подключении ваш клиент открывает окно браузера для входа в Resend и предоставления доступа через OAuth.
Claude Code
claude mcp add --transport http resend https://mcp.resend.com/mcp
Затем выполните /mcp в Claude Code и выберите resend, чтобы завершить вход через OAuth.
Claude
В Claude (веб или десктоп) откройте Настройки > Коннекторы > Добавить пользовательский коннектор и введите:
https://mcp.resend.com/mcp
Cursor
Откройте палитру команд и выберите «Cursor Settings» > «MCP» > «Add new global MCP server».
{
"mcpServers": {
"resend": {
"url": "https://mcp.resend.com/mcp"
}
}
}
Codex
codex mcp add resend --url https://mcp.resend.com/mcp
Copilot
Чтобы использовать GitHub Copilot в VS Code, добавьте следующее в ваш settings.json:
{
"mcp": {
"servers": {
"resend": {
"type": "http",
"url": "https://mcp.resend.com/mcp"
}
}
}
}
Windsurf
{
"mcpServers": {
"resend": {
"serverUrl": "https://mcp.resend.com/mcp"
}
}
}
Warp
В настройках Warp перейдите в Agents > MCP servers и нажмите +Add, чтобы добавить новый сервер.
{
"resend": {
"serverUrl": "https://mcp.resend.com/mcp"
}
}
Аутентификация с помощью API-ключа
Если ваш клиент работает там, где невозможен вход через браузер (сервер, CI или headless-агент), передайте API-ключ Resend как Bearer-токен вместо использования OAuth.
Claude Code:
claude mcp add --transport http resend https://mcp.resend.com/mcp --header "Authorization: Bearer re_xxxxxxxxx"
JSON-конфигурация (Cursor, Windsurf и другие), добавьте заголовок Authorization:
{
"mcpServers": {
"resend": {
"url": "https://mcp.resend.com/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
Локальный MCP-сервер
Размещаемый сервер работает на том же открытом исходном коде, который доступен в NPM как resend-mcp. Если вы предпочитаете запускать сервер самостоятельно, вы можете интегрировать его в любой поддерживаемый MCP-клиент с помощью npx. Вам потребуется:
Локальный сервер поддерживает два режима передачи: stdio (по умолчанию) и HTTP.
Выберите предпочитаемый режим и клиент ниже, чтобы начать. Не забудьте заменить re_xxxxxxxxx на ваш реальный API-ключ.
Транспорт Stdio (по умолчанию)
Быстрая настройка
Установка для всех обнаруженных/выбранных агентов и редакторов:
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
Откройте палитру команд и выберите «Cursor Settings» > «MCP» > «Add new global MCP server».
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Claude Desktop
Откройте настройки Claude Desktop > вкладка «Developer» > «Edit Config».
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx"
}
}
}
}
Copilot
Чтобы использовать GitHub Copilot в VS Code, добавьте следующее в ваш settings.json:
{
"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:
{
"$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 откройте Settings > Connections > MCP Servers и нажмите Add a custom MCP. См. руководство Devin для пошаговой инструкции.
{
"mcpServers": {
"resend": {
"command": "npx",
"args": ["-y", "resend-mcp"],
"env": {
"RESEND_API_KEY": "re_xxxxxxxxx",
"SENDER_EMAIL_ADDRESS": "onboarding@resend.dev"
}
}
}
}
HTTP-транспорт
Запускайте сервер по HTTP для удаленных или веб-интеграций, например, за собственным туннелем или обратным прокси, вместо использования размещаемого удаленного MCP-сервера Resend. В режиме HTTP каждый клиент аутентифицируется, передавая свой API-ключ Resend как Bearer-токен в заголовке Authorization.
Запуск сервера:
npx -y resend-mcp --http --port 3000
Сервер будет слушать на http://127.0.0.1:3000 и предоставлять конечную точку MCP на /mcp, используя Streamable HTTP.
Claude Code
claude mcp add resend --transport http http://127.0.0.1:3000/mcp --header "Authorization: Bearer re_xxxxxxxxx"
Cursor
Откройте палитру команд и выберите «Cursor Settings» > «MCP» > «Add new global MCP server».
{
"mcpServers": {
"resend": {
"url": "http://127.0.0.1:3000/mcp",
"headers": {
"Authorization": "Bearer re_xxxxxxxxx"
}
}
}
}
Вы также можете задать порт через переменную окружения MCP_PORT:
MCP_PORT=3000 npx -y resend-mcp --http
Использование как библиотеки
HTTP-транспорт также экспортируется, поэтому его можно встроить в другой сервис вместо запуска через CLI. Каждый подключающийся клиент аутентифицируется своим API-ключом Resend, переданным как 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);
По умолчанию сервер применяет проверку Host только для localhost (защита от DNS-ребендинга). При развертывании за обратным прокси или балансировщиком нагрузки, где сервер защищен Bearer API-ключом для каждого запроса, установите host в 0.0.0.0, чтобы пересылаемые прокси заголовки Host и проверки работоспособности балансировщика не отклонялись с ошибкой 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'] });
Через CLI это соответствует --host / --allowed-hosts (или MCP_HOST / MCP_ALLOWED_HOSTS).
Параметры
Вы можете передать дополнительные аргументы для настройки локального сервера:
--key: Ваш API-ключ Resend (только для режима stdio, так как в режиме HTTP используется Bearer-токен от клиента)--sender: Адрес электронной почты отправителя по умолчанию из подтвержденного домена--reply-to: Адрес электронной почты для ответа по умолчанию (можно указать несколько раз)--http: Использовать HTTP-транспорт вместо stdio (по умолчанию: stdio)--port: HTTP-порт при использовании--http(по умолчанию: 3000, или переменная окруженияMCP_PORT)--host: Хост для защиты от DNS-ребендинга при использовании--http(по умолчанию:127.0.0.1, или переменная окруженияMCP_HOST). Установите в0.0.0.0, чтобы отключить проверкуHostза прокси/балансировщиком нагрузки.--allowed-hosts: Список разрешенныхHost, разделенных запятыми, при использовании--http(илиMCP_ALLOWED_HOSTS)
Переменные окружения:
RESEND_API_KEY: Ваш API-ключ Resend (обязателен для stdio, опционален для HTTP, так как клиенты передают его через Bearer-токен)SENDER_EMAIL_ADDRESS: Адрес электронной почты отправителя по умолчанию из подтвержденного домена (опционально)REPLY_TO_EMAIL_ADDRESSES: Адреса электронной почты для ответа, разделенные запятыми (опционально)MCP_PORT: HTTP-порт при использовании--http(опционально)MCP_HOST: Хост для защиты от DNS-ребендинга при использовании--http(опционально)MCP_ALLOWED_HOSTS: Список разрешенныхHost, разделенных запятыми, при использовании--http(опционально)
[!NOTE] Если вы не укажете адрес электронной почты отправителя, MCP-сервер будет запрашивать его при каждом вызове инструмента.
Инструменты MCP-сервера
MCP-сервер Resend предоставляет вашему AI-агенту нативный доступ ко всей платформе Resend через единую интеграцию. Вы можете управлять всеми аспектами вашей почтовой инфраструктуры, используя естественный язык.
- Emails: Отправка, список, получение, отмена, обновление и пакетная отправка писем. Поддерживает HTML, обычный текст, вложения (локальный файл, URL или base64), CC/BCC, reply-to, планирование, теги, пользовательские заголовки, отправку по темам и ключи идемпотентности.
- Received Emails: Список и чтение входящих писем. Список и загрузка вложений полученных писем.
- Templates: Создание, список, получение, обновление, публикация, дублирование и удаление шаблонов писем. Поддерживает составление содержимого шаблона и плейсхолдеры
{{{VARIABLE}}}. - Contacts: Создание, список, получение, обновление и удаление контактов. Управление членством в сегментах, подписками на темы и импортом контактов из CSV. Поддерживает пользовательские свойства контактов.
- Broadcasts: Создание, отправка, список, получение, обновление и удаление кампаний рассылок. Поддерживает планирование, плейсхолдеры персонализации и предпросмотр текста.
- Automations: Создание, список, получение, обновление и удаление автоматизаций. Просмотр запусков автоматизации.
- Events: Отправка событий для запуска автоматизаций для контакта. Создание, обновление и удаление определений событий.
- Domains: Создание, список, получение, обновление, удаление и подтверждение доменов отправителя. Настройка отслеживания, TLS и возможностей отправки/получения. Создание и подтверждение заявок на домены.
- Segments: Создание, список, получение и удаление сегментов аудитории.
- Suppressions: Список, получение, добавление и удаление записей списка подавления, индивидуально или пакетно. Жесткие возвраты и жалобы на спам подавляются автоматически; добавляйте адреса вручную, чтобы соблюдать запросы на отказ от контакта.
- Topics: Создание, список, получение, обновление и удаление тем подписки.
- Contact Properties: Создание, список, получение, обновление и удаление пользовательских атрибутов контактов.
- API Keys: Создание, список и удаление API-ключей.
- Webhooks: Создание, список, получение, обновление и удаление вебхуков для уведомлений о событиях.
- Logs: Список и проверка журналов API-запросов, включая полные тела запросов и ответов.
- Editor: Подключение к визуальному редактору в панели управления Resend (и отключение от него), а также чтение содержимого черновика при совместной работе над рассылками и шаблонами.
Локальная разработка
- Клонируйте этот проект и выполните сборку:
git clone https://github.com/resend/resend-mcp.git
pnpm install
pnpm run build
- Чтобы использовать локальную сборку, замените команду
npxна путь к вашей локальной сборке:
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-клиентом
При разработке вы можете тестировать изменения в реальном сеансе MCP-клиента, одновременно редактируя код в другом.
Идея: запустите tsc --watch для непрерывной пересборки dist/ и направьте отдельный MCP-клиент на собранный dist/index.js из другого каталога. Когда вы захотите применить изменения кода, перезапустите сеанс MCP-клиента (MCP-серверы — это долгоживущие процессы stdio, которые не поддерживают горячую перезагрузку).
Пример с Claude Code:
-
Запустите наблюдатель TypeScript для автоматической пересборки при сохранении:
pnpm tsc --watch -
В отдельном каталоге создайте
.mcp.json, указывающий на выходные данные сборки: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" } } } } -
Запустите Claude Code из этого каталога и используйте инструменты MCP. После внесения изменений в код начните новый сеанс Claude Code, чтобы применить новую сборку.
Тот же принцип применим к любому MCP-клиенту — отделите тестовую среду от среды разработки, используйте абсолютный путь к dist/index.js и переподключите MCP-сервер после пересборки.
Тестирование с MCP Inspector
Примечание: Убедитесь, что вы сначала собрали проект (см. раздел Локальная разработка выше).
Использование Stdio-транспорта
-
Установите ваш API-ключ:
export RESEND_API_KEY=re_your_key_here -
Запустите инспектор:
pnpm inspector -
В браузере (Inspector UI):
- Выберите stdio (запустить процесс).
- Command:
node - Args:
dist/index.js(или полный путь кdist/index.js) - Env:
RESEND_API_KEY=re_your_key_here(или оставьте пустым, если вы уже экспортировали его в том же терминале). - Нажмите Connect, затем используйте «List tools», чтобы убедиться, что сервер работает.
Использование HTTP-транспорта
-
Запустите HTTP-сервер в одном терминале:
node dist/index.js --http --port 3000 -
Запустите инспектор в другом терминале:
pnpm inspector -
В браузере (Inspector UI):
- Выберите Streamable HTTP (подключиться к URL).
- URL:
http://127.0.0.1:3000/mcp - Добавьте пользовательский заголовок:
Authorization: Bearer re_your_key_hereи активируйте переключатель. - Нажмите Connect, затем используйте «List tools», чтобы убедиться, что сервер работает.