Что такое MCP-сервер Emailit?
MCP-сервер Emailit — это открытый сервер Model Context Protocol, который напрямую подключает ИИ-ассистентов к Emailit.
Он позволяет отправлять электронные письма, управлять контактами, доменами, шаблонами и многим другим с помощью естественного языка — прямо из Claude, Cursor или любого совместимого с MCP клиента.
- Пакет:
@emailit/emailit-mcp - Среда выполнения: Node.js 18+
- Лицензия: MIT
- Репозиторий: github.com/emailit/emailit-mcp
Требования
- Аккаунт Emailit
- API-ключ
- Подтверждённый домен для отправки
- Node.js версии 18 или новее
Режимы транспорта
Сервер поддерживает два режима транспорта:
Stdio (по умолчанию)
MCP-клиент запускает сервер как подпроцесс и взаимодействует через стандартные потоки ввода/вывода. API-ключ передаётся через переменную окружения или аргумент командной строки. Это самый простой вариант, который работает со всеми основными клиентами.
HTTP (Streamable HTTP)
Для удалённых или веб-интеграций сервер работает как HTTP-сервер с использованием Streamable HTTP транспорта. Клиенты аутентифицируются для каждой сессии, передавая API-ключ как Bearer-токен в заголовке Authorization. Эндпоинт доступен по адресу /mcp.
Установка и настройка
Claude Code (Stdio)
claude mcp add emailit \
-e EMAILIT_API_KEY=ваш_api_ключ \
-- npx -y @emailit/emailit-mcp
Claude Code (HTTP)
Сначала запустите сервер:
npx -y @emailit/emailit-mcp --http --port 3000
Затем зарегистрируйте его:
claude mcp add emailit \
--transport http http://127.0.0.1:3000/mcp \
--header "Authorization: Bearer ваш_api_ключ"
Cursor (Stdio)
Откройте палитру команд и выберите Cursor Settings → MCP → Add new global MCP server, затем вставьте:
{
"mcpServers": {
"emailit": {
"command": "npx",
"args": ["-y", "@emailit/emailit-mcp"],
"env": {
"EMAILIT_API_KEY": "ваш_api_ключ"
}
}
}
}
Cursor (HTTP)
Запустите сервер, затем добавьте:
{
"mcpServers": {
"emailit": {
"url": "http://127.0.0.1:3000/mcp",
"headers": {
"Authorization": "Bearer ваш_api_ключ"
}
}
}
}
Claude Desktop (Stdio)
Откройте настройки Claude Desktop → вкладка Developer → Edit Config, затем вставьте:
{
"mcpServers": {
"emailit": {
"command": "npx",
"args": ["-y", "@emailit/emailit-mcp"],
"env": {
"EMAILIT_API_KEY": "ваш_api_ключ"
}
}
}
}
Параметры командной строки
| Параметр | Описание |
|---|---|
--key <ключ> | API-ключ (только для stdio; HTTP использует Bearer-токен) |
--sender <email> | Отправитель по умолчанию с подтверждённого домена |
--reply-to <email> | Адрес для ответов по умолчанию (можно повторять) |
--http | Использовать HTTP-транспорт вместо stdio |
--port <порт> | HTTP-порт (по умолчанию: 3000) |
-h, --help | Показать справку |
Переменные окружения
| Переменная | Описание |
|---|---|
EMAILIT_API_KEY | API-ключ (обязательно для stdio) |
SENDER_EMAIL_ADDRESS | Отправитель по умолчанию с подтверждённого домена |
REPLY_TO_EMAIL_ADDRESSES | Адреса для ответов через запятую |
MCP_PORT | HTTP-порт (по умолчанию: 3000) |
Совет: Если вы не укажете адрес отправителя, MCP-сервер будет запрашивать его каждый раз при отправке письма.
Доступные инструменты
Сервер предоставляет 47 инструментов в 8 категориях.
Письма (10 инструментов)
| Инструмент | Описание |
|---|---|
send-email | Отправить письмо (HTML, текст, шаблоны, вложения, планирование) |
list-emails | Список писем с пагинацией и фильтрацией |
get-email | Получить письмо по ID |
get-email-raw | Получить полное MIME-сообщение |
get-email-body | Получить содержимое (текст и HTML) |
get-email-attachments | Получить вложения в base64 |
get-email-meta | Получить метаданные письма |
update-email | Изменить время отправки запланированного письма |
cancel-email | Отменить запланированное или ожидающее письмо |
retry-email | Повторить отправку неудачного письма |
Домены (6 инструментов)
| Инструмент | Описание |
|---|---|
create-domain | Создать домен и получить DNS-записи |
get-domain | Получить информацию о домене и статус подтверждения |
list-domains | Список всех доменов |
update-domain | Обновить настройки отслеживания |
delete-domain | Удалить домен (необратимо) |
verify-domain | Запустить проверку DNS |
API-ключи (5 инструментов)
| Инструмент | Описание |
|---|---|
create-api-key | Создать новый API-ключ (показывается только один раз) |
get-api-key | Получить информацию об API-ключе |
list-api-keys | Список всех API-ключей |
update-api-key | Обновить название API-ключа |
delete-api-key | Удалить API-ключ (необратимо) |
Аудитории (5 инструментов)
| Инструмент | Описание |
|---|---|
create-audience | Создать аудиторию для кампаний |
get-audience | Получить детали аудитории |
list-audiences | Список всех аудиторий |
update-audience | Обновить название аудитории |
delete-audience | Удалить аудиторию и всех подписчиков |
Контакты (5 инструментов)
| Инструмент | Описание |
|---|---|
create-contact | Создать контакт с подписками на аудитории |
get-contact | Получить контакт по ID или email |
list-contacts | Список всех контактов |
update-contact | Обновить данные контакта |
delete-contact | Удалить контакт и записи подписчика |
Шаблоны (6 инструментов)
| Инструмент | Описание |
|---|---|
create-template | Создать шаблон письма |
get-template | Получить шаблон по ID со всеми версиями |
list-templates | Список опубликованных шаблонов с фильтрацией |
update-template | Обновить шаблон |
delete-template | Удалить шаблон навсегда |
publish-template | Опубликовать версию шаблона |
Подавления (5 инструментов)
| Инструмент | Описание |
|---|---|
create-suppression | Добавить email в список подавлений |
get-suppression | Получить подавление по ID или email |
list-suppressions | Список всех подавлений |
update-suppression | Обновить подавление |
delete-suppression | Удалить подавление |
Вебхуки (5 инструментов)
| Инструмент | Описание |
|---|---|
create-webhook | Создать вебхук с подписками на события |
get-webhook | Получить информацию о вебхуке |
list-webhooks | Список всех вебхуков |
update-webhook | Обновить вебхук |
delete-webhook | Удалить вебхук |
Примеры использования
Отправить простое письмо
Попросите ИИ-ассистента:
“Отправь приветственное письмо на john@example.com с темой ‘Добро пожаловать!’”
ИИ вызовет send-email с параметрами:
{
"from": "hello@mydomain.com",
"to": "john@example.com",
"subject": "Добро пожаловать!",
"html": "<h1>Добро пожаловать!</h1><p>Спасибо за регистрацию.</p>"
}
Отправить с шаблоном и переменными
“Отправь шаблон welcome-email на sarah@example.com с именем Сара.”
{
"from": "hello@mydomain.com",
"to": "sarah@example.com",
"template": "welcome-email",
"variables": { "name": "Сара" }
}
Запланировать письмо
“Запланируй напоминание команде на team@company.com на завтра в 9 утра.”
{
"from": "reminders@mydomain.com",
"to": "team@company.com",
"subject": "Напоминание о ежедневной планёрке",
"text": "Не забудьте про планёрку в 9:30!",
"scheduled_at": "завтра в 9 утра"
}
Отправить с вложениями
“Отправь письмо в бухгалтерию accounting@company.com с приложенным PDF счёта.”
{
"from": "billing@mydomain.com",
"to": "accounting@company.com",
"subject": "Месячный счёт",
"html": "<p>Счёт во вложении.</p>",
"attachments": [
{
"filename": "invoice-2026-05.pdf",
"url": "https://example.com/invoices/2026-05.pdf"
}
]
}
Управление доменами
“Добавь мой домен mail.example.com и покажи DNS-записи.”
ИИ вызовет create-domain и покажет необходимые DNS-записи для настройки у вашего DNS-провайдера.
“Проверь мой домен.”
ИИ вызовет verify-domain для проверки распространения DNS и сообщит статус подтверждения.
Управление контактами
“Добавь Джейн Смит (jane@example.com) в аудиторию aud_abc123.”
{
"email": "jane@example.com",
"first_name": "Джейн",
"last_name": "Смит",
"audiences": ["aud_abc123"]
}
Управление шаблонами
“Создай шаблон рассылки с псевдонимом monthly-newsletter.”
{
"name": "Месячная рассылка",
"alias": "monthly-newsletter",
"subject": "Обновления за {{month}}",
"html": "<h1>Обновления за {{month}}</h1>..."
}
Управление подавлениями
“Подави bounced@example.com из-за слишком большого количества жёстких отказов.”
{
"email": "bounced@example.com",
"type": "bounce",
"reason": "слишком много жёстких отказов"
}
Настройка вебхуков
“Создай вебхук, который отправляет события доставки и отказов на мой эндпоинт.”
{
"name": "Отслеживание доставки",
"url": "https://myapp.com/webhooks/email",
"events": ["email.delivered", "email.bounced"]
}
Замечания по безопасности
- API-ключи никогда не должны попадать в систему контроля версий.
- В режиме stdio API-ключ хранится в конфигурации MCP-клиента.
- В режиме HTTP клиенты передают API-ключ для каждой сессии через Bearer-токен.
- URL вебхуков проверяются на SSRF перед созданием.
- Операции удаления требуют подтверждения от ИИ.
Устранение неполадок
“API key required for stdio mode”
Установите переменную окружения EMAILIT_API_KEY или передайте --key.
Домен не подтверждён
Настройте DNS-записи из вывода create-domain, затем вызовите verify-domain.
Письмо отклонено / не отправляется Убедитесь, что домен подтверждён и адрес отправителя использует этот домен.
Запланированное письмо нельзя отменить Должно остаться минимум 3 минуты до запланированного времени.
Повтор не удался Повторить можно только письма с жёсткой ошибкой, заблокированные или подавленные.
Локальная разработка
git clone https://github.com/emailit/emailit-mcp.git
cd emailit-mcp
npm install
# Запуск в режиме stdio
EMAILIT_API_KEY=ваш_ключ node src/index.js
# Запуск в режиме HTTP
node src/index.js --http --port 3000
Подробности см. в репозитории GitHub.