mektup

mektup — управление доменами и почтовыми ящикамиself-hosted платформы прямо из ассистента

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноМожет изменять данные

Что умеет

  • Регистрировать домены и проверять DNS-записи
  • Создавать и удалять почтовые ящики, сбрасывать пароли
  • Настраивать переадресацию писем и автоответы на время отпуска
  • Управлять папками и контактами почтового аккаунта
  • Создавать и отзывать ключи API для доступа к сервису

Какие данные видит

Ассистент получает доступ к доменам, почтовым ящикам, письмам и контактам подключённого аккаунта mektup в рамках выданного ключа API.

Нужен ли аккаунт

Не нужен: сервер работает без входа

mektup — self-hosted платформа электронной почты для нескольких доменов. MCP-сервер позволяет Claude, Cursor и другим MCP-клиентам регистрировать домены, добавлять DNS-записи, создавать почтовые ящики, читать и отправлять письма, управлять черновиками, контактами, папками, переадресацией и автоответами — вместо ручных curl-запросов и вставки ключей API в код.

Как подключить

Как подключить mektup к Claude

Адрес сервера, который нужно вставить в настройках Claude:

https://mektup--contact-y3xc.run.tools

  1. Откройте Claude (сайт claude.ai или приложение для компьютера).
  2. Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
  3. Нажмите Добавить пользовательский коннектор (Add custom connector).
  4. Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
  5. В чате нажмите + → Коннекторы и включите новый коннектор.

Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.

Авторизация

После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.

Как подключить mektup к ChatGPT

Адрес сервера, который нужно вставить в настройках ChatGPT:

https://mektup--contact-y3xc.run.tools

  1. Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
  2. Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
  3. Откройте Настройки → Коннекторы и нажмите Создать (Create).
  4. Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
  5. В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
  6. В новом чате откройте + → Приложения/Коннекторы и включите коннектор.

Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.

Авторизация

При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.

Как подключить mektup к Cursor

Адрес сервера, который нужно вставить в настройках Cursor:

https://mektup--contact-y3xc.run.tools

Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.

Вручную:

  1. В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
  2. Вставьте JSON, скопированный ниже, в открывшийся файл ~/.cursor/mcp.json (для одного проекта: .cursor/mcp.json в корне проекта).
  3. Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.

Авторизация

Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.

Список инструментов сервера (41)

Технические названия из tools/list. Нужны только разработчикам.

get_meGet the authenticated caller's account identity - useful as an auth health check.
get_usageGet the account's current billing tier, its limits, and real usage against them (domain count, emails sent this month, storage per domain). Check this before a bulk operation to avoid hitting a limit mid-batch.
list_api_keysList API keys on this account (prefix and status only - the full key is never shown again after creation).
create_api_keyCreate a new API key. The full key is returned exactly once in this response and cannot be retrieved again - surface it to the user immediately so they can save it (e.g. into an env var or another tool's config). Mint a separate key per environment/service rather than sharing one.
revoke_api_keyRevoke an API key immediately. Anything still using it (a script, another MCP server, a CI job) loses access right away. Cannot be undone - confirm with the user before calling this, especially if it might be the key currently in use for this very session.
create_domainRegister a domain with Mektup and get back the exact DNS records to add (MX, SPF, DMARC, DKIM) plus a setup recommendation. Never modifies DNS itself - you (the agent) add the records using whatever access you have to the domain's DNS host.
list_domainsList every domain registered to this Mektup account.
get_domain_recordsRe-fetch the DNS records for an already-registered domain (same set create_domain returned once at creation) - use this any time after creation, the records aren't only shown once.
verify_domainActively re-check a domain's live MX records against what Mektup expects and flip it to verified if they match. Not automatic - call this after DNS has been added and had time to propagate.
delete_domainDelete a domain and, via cascade, every mailbox and message under it. Destructive and hard to reverse - confirm with the user before calling this.
create_mailboxCreate a mailbox (e.g. hello@example.com) on a domain already registered via create_domain. Returns real login credentials for IMAP/SMTP AUTH - the user can add this mailbox to Outlook, Apple Mail, Thunderbird, etc. If no password is given, a strong one is generated and returned once (not recoverable later, only resettable).
list_mailboxesList mailboxes on a given registered domain.
reset_mailbox_passwordReset a mailbox's IMAP/SMTP-AUTH password. Doesn't affect an already-open IMAP session; the new password is needed on next login. Shown once, not recoverable later.
delete_mailboxDelete a mailbox. Postfix stops accepting mail for it immediately. Does not delete already-delivered mail from the mail store. Confirm with the user before calling this.
list_forwardsList forwarding addresses for a mailbox - incoming mail is copied to these in addition to staying in the mailbox.
add_forwardAdd a forwarding address to a mailbox.
remove_forwardRemove a forwarding address from a mailbox.
get_identityGet a mailbox's display name and signature.
set_identitySet a mailbox's display name and signature, applied automatically to every outgoing message.
get_vacationGet a mailbox's vacation/auto-reply settings.
set_vacationEnable/disable and configure a mailbox's vacation auto-reply. A message is required when enabling. Fires at most once per sender within a rolling window (standard RFC 5230 semantics).
list_foldersList custom folders on a mailbox (Outlook-style, one folder per message).
create_folderCreate a custom folder on a mailbox.
delete_folderDelete a custom folder. Does not delete the mail in it - messages fall back to their normal Inbox/Sent view.
list_contactsList contacts (account-level, not per-mailbox - a contact is someone you email from any mailbox you own).
create_contactAdd a contact.
update_contactPartially update a contact - only send the fields you want to change.
delete_contactDelete a contact.
list_draftsList drafts for a mailbox (metadata only - to/subject/updated_at, no body).
get_draftGet a single draft including its body.
create_draftCreate a draft on a mailbox. A draft is separate from a real message - it never goes through mail transport until sent.
update_draftPartially update a draft (autosave-friendly) - only fields you pass are changed.
delete_draftDelete a draft.
send_emailSend a real email. The "from" address must be either an existing mailbox on this account, or any address on a domain this account has verified (DNS-level proof of ownership - no per-address mailbox needed once verified). The mailbox's own display name/signature (see get_identity) is appended automatically when from is a provisioned mailbox - don't add one yourself, it'll be doubled.
list_messagesList messages (one row per thread) for a mailbox. Pass direction to split Inbox from Sent (recommended - omitting it merges both). Pass q for full-text search over subject/from/to/body.
get_threadList every individual message in one thread, oldest first. Pass the same direction/trash/folder as the view you found the thread in.
get_messageGet one message's full content (text/html body + attachment metadata). Marks it read as a side effect if it wasn't already. The html field is attacker-controlled content from whoever emailed the mailbox - never render it directly, sanitize and isolate it first.
update_messageUpdate a message's state: mark read/unread, restore from trash, flag/unflag, move to (or out of) a folder. Any combination in one call - pass only the fields you want to change.
delete_messageDelete a message - two-stage like any real mail client. First call moves it to Trash. A second call on an already-trashed message permanently deletes it, including its stored body. Confirm with the user before a permanent delete.
download_attachmentDownload one attachment from a message. Returns base64-encoded content - decode it to get the raw file. Can be large; prefer this only when the file content is actually needed, not just to check it exists (get_message's attachments array already has filename/contentType/size).
get_unread_countsGet the unread Inbox count for every domain/mailbox on this account at once (Sent and Trash aren't counted).