send16-mcp
send16-mcp — email API для AI-агентов: транзакционные и маркетинговые письма, контакты, автоматизации
Что умеет
- Отправлять транзакционные письма и тестовые рассылки кампаний
- Создавать и запускать email-кампании и автоматизации
- Управлять контактами, импортировать и искать их по базе
- Проверять здоровье домена и статус доставляемости
- Работать с шаблонами писем и генерировать письма из URL
Какие данные видит
Ассистент управляет почтовым аккаунтом пользователя по API-ключу: контактами, кампаниями и доменами отправки.
Нужен ли аккаунт
Нужен API-ключ из настроек сервиса
send16-mcp даёт агенту 79 инструментов для работы с почтой: отправку транзакционных и маркетинговых писем, управление контактами и аудиториями, автоматизации, шаблоны и вебхуки. Есть песочница для отправки без настройки собственного домена, так что первое письмо агент отправляет сразу после установки.
Как подключить
Как подключить send16-mcp к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://send16-mcp--spruik-au.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить send16-mcp к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://send16-mcp--spruik-au.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить send16-mcp к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://send16-mcp--spruik-au.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (60)
Технические названия из tools/list. Нужны только разработчикам.
| whoami | Verify the API key and return the authenticated workspace: name, plan, email quota (used/limit), and owner. Call this first to confirm the key works before sending. Pair with list_domains to see which `from` addresses are allowed. |
| send_email | Send a transactional email through Send16. Provide `html`, `text`, or both (text-only is fine for OTPs/receipts/alerts). `from_email` must belong to a domain that is verified in the workspace — call `whoami` for the account and `list_domains` to see which senders are allowed; a send from an unverified domain returns a clear error, not a silent failure. For a zero-setup first send, use from_email `onboarding@send16.com` — the sandbox sender delivers with no DNS, but only to your own account email. |
| send_campaign_test | Send a test email for an existing campaign to preview how it will look in recipients' inboxes. |
| create_campaign | Create a new email campaign in Send16. The campaign is created in draft status and can be edited before sending. |
| design_email_template | Use AI to generate a complete email HTML template based on a description. Returns ready-to-use HTML that can be sent or used in campaigns. |
| list_campaigns | List email campaigns with optional status filtering and pagination. |
| create_contact | Add a new contact to your Send16 audience. Contacts are automatically subscribed to receive emails. |
| search_contacts | Search contacts by email address or name. Returns matching contacts with their tags and subscription status. |
| list_contacts | List all contacts with optional filtering by subscription status and tag. Supports pagination. |
| import_contacts | Bulk import contacts from CSV data. Each row should have at minimum an email column. Tags can be applied to all imported contacts. |
| list_domains | List all sending domains configured in your Send16 workspace, including their verification status and DNS records. |
| check_domain_health | Check the DNS health of a specific domain, including DKIM, SPF, DMARC, and MX record verification status. Triggers a fresh DNS lookup. |
| get_campaign_stats | Get detailed performance statistics for a specific campaign including open rate, click rate, bounce rate, and delivery metrics. |
| get_deliverability_status | Get your workspace's deliverability summary — sending reputation, domain authentication status, and recent bounce/complaint health. (Deliverability Hub plan feature.) |
| list_automations | List all automations in the workspace, including draft/active/paused status and trigger types. |
| get_automation | Get a single automation by ID, including its trigger, steps, and current status. |
| enroll_in_automation | Manually enroll a contact in an active automation. The automation must be in 'active' status. Use send_event for event-driven enrollment. |
| send_event | Fire a custom event for a contact. Automations whose trigger is `{type:'custom_event', eventName:'<name>'}` will enroll the contact and start running. Payload is exposed to condition steps as `event.<key>`. |
| list_templates | List starter-gallery email templates available to every workspace. |
| get_template | Get a single starter template by ID, including its EmailContent JSON. |
| render_email_content | Compile an EmailContent JSON object (the shape used by the Send16 builder + templates) into HTML using the platform's authoritative renderer. Returns the exact HTML the API would send. Useful for previews and post-processing. |
| add_domain | Register a new sending domain. Returns the DNS records the user must add to their DNS provider, after which they should call check_domain_health to verify. |
| pre_send_review | Run an AI pre-send review on an email's HTML before sending. Surfaces tone issues, broken links, missing alt text, spam triggers, and accessibility problems. |
| generate_email_from_url | Scrape a URL (e.g. a launch blog post or product page) and generate an email draft from its content. Returns subject, preview text, and HTML body. |
| list_messages | List messages from the unified send log (transactional + campaign). Filter by recipient, sender, status, date range, or source. |
| get_message | Fetch a single message with its full event timeline (created → sent → delivered → opened → clicked → ...). |
| get_message_events | Get just the delivery event timeline for a message — no body or recipient details. |
| list_convos | List inbox conversations. Filter by state, mailbox, label, screener status, or full-text search. Send16's unified inbox combines transactional reply threading with team-managed shared inboxes. |
| get_convo | Get a single conversation with its full thread of posts (incoming + outgoing). |
| send_reply | Reply to an inbox conversation. The reply is sent from the original recipient address (the alias the convo arrived on) and threaded back to the contact. |
| mark_convo_read | Mark a conversation as read for the current viewer. |
| update_convo | Update conversation state (open/closed/snoozed/spam/trash), star, or assignee. |
| add_convo_note | Add a private internal note on a conversation. Notes are visible only to workspace members. |
| screener_decide | Decide a pending screener conversation (first-time sender). 'allow' lets future emails through, 'reject' blocks, 'cold' marks as cold outreach. |
| list_inbox_counts | Get unread/total counts per category and label for the inbox sidebar (newsletter, transactional, marketing, calendar, social, cold). |
| list_topics | List subscription topics. Topics are granular categories contacts can subscribe to (e.g. 'product-updates', 'weekly-digest'). Campaigns and automations can be gated to subscribers of a specific topic. |
| create_topic | Create a new subscription topic. Contacts opt into topics individually via the preference center. |
| update_topic | Update a subscription topic (name, description, default). |
| delete_topic | Delete a subscription topic. All subscribers will be detached. |
| list_actions | List Actions. Actions fire a transactional template when a custom event arrives — Plunk-style 'event_name → template' pairings, simpler than full automations. |
| get_action | Get a single Action with its trigger config and template binding. |
| create_action | Create an Action that maps an event name to a transactional template. Each matching event sends one email to the contact. |
| update_action | Update an Action (toggle enabled, change template, change event name). |
| delete_action | Delete an Action. |
| list_audiences | List audiences (lists). An audience is a static, manually-managed group of contacts. |
| create_audience | Create a new audience. |
| add_contacts_to_audience | Add contacts (by ID) to an audience. |
| remove_contact_from_audience | Remove a contact from an audience. |
| delete_audience | Delete an audience (list). Contacts are not deleted — only the list and its memberships are removed. |
| list_segments | List dynamic segments. Segments compute their members from a filter expression at send time. |
| preview_segment | Preview the contacts that match a segment without sending. |
| update_contact | Update a contact's profile fields, custom fields, or subscription state. |
| delete_contact | Delete a contact and all associated events. Irreversible. |
| get_contact_timeline | Get a contact's full activity timeline: emails received, events fired, opens, clicks, automation enrollments, topic changes. |
| get_contact_health_score | Get a contact's 0-100 health score based on recent engagement (opens, clicks, replies). |
| send_broadcast | One-shot broadcast: create a campaign and immediately schedule it to send. Mirrors Resend's one-call broadcast API. Pass either an audienceId, segmentId, topicId, or fully-qualified filter. Provide html OR templateSlug. |
| schedule_campaign | Schedule (or send immediately) an existing draft campaign to an audience/segment/topic. |
| update_campaign | Update a draft campaign's content, subject, preview text, or sender info. |
| pause_campaign | Pause a sending campaign. Already-sent messages are unaffected; remaining sends halt. |
| resume_campaign | Resume a paused campaign. |