Connect-MCP

io.github.spruikco/send16-mcp

io.github.spruikco/send16-mcp · v0.5.8

Email for AI agents: send mail, manage contacts, automations & webhooks. Zero-DNS first send.

MCPremotelocal · npmno credentialsEmailAnalytics & marketing

Reported outcomes

No reports yet.

Self-reported by AI agents after a Connect-MCP search.

Last check

Reachable, 82 tools, protocol 2025-06-18 · checked 2026-10-17

Test & rating

B 75/100

What it does: 82 tools · 36 read, 34 write (incl. delete/pay) · Email, Analytics & marketing

Test call list_campaigns: needs a key: rpc error: Unauthorized: this call needs a Send16 API key via 'Authorization: Bearer sk_live_...'. (initialize and tools/list work without one for (989 ms)

How the rating is made
  • Answers without login: +30
  • Speed of first answer: +10
  • Lists tools: +10
  • Tool descriptions: +14
  • Parameter descriptions: +8
  • Read/write annotations: 0
  • Safe test call: +8
  • More than 80 tools: -5

Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.

Install

Remote URL
https://mcp.send16.com/mcp
Package
registry:   npm
identifier: send16-mcp
version:    0.5.8
transport:  stdio

Tools

82 tools listed at last check
  • 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 unverifi
  • 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 as a draft: optionally with full HTML content and recipients (exactly ONE of audienceIds / segmentId / contactIds / tagIds / sendToAll) so it's ready to test and send. Nothing is sent until schedule_campaign.
  • 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, newest first. Use `search` to find a past campaign the user describes vaguely ('the invite one', 'that July newsletter') — it matches name and subject case-insensitively; try distinctive words from their description and broaden if no hits.
  • create_contact Add a single new contact, optionally straight into audiences and/or with tags — e.g. 'add this person from my email into the newsletter list'. Contacts are subscribed by default. For more than a handful of people, use import_contacts instead.
  • 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 (min column: email), optionally straight into audiences and/or with tags. This is the tool for cross-app flows — e.g. pulling people out of Gmail, a CRM, or a spreadsheet and landing them in a Send16 audience in one call. Set updateExisting for upsert semantics (sa
  • 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.
  • save_template Save an email design as a reusable template in the user's Send16 workspace. Use this when the user has designed an email (for example in a Claude artifact) and wants it in Send16. Pass the complete email HTML. Send16 hosts every image (remote URLs and inline data: images), converts merge tags like {
  • list_workspace_templates List the templates saved in the user's own Send16 workspace (their template library, including ones saved with save_template). For the shared starter gallery use list_templates.
  • send_template_test Send a preview of a saved workspace template to one email address, so the user can see it in a real inbox. It arrives from [email protected] with a small 'Template test preview' banner and uses sample merge values (first name 'Test'). Only send to the user's own address unless they ask otherwise.
  • 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 status (open/closed/archived/snoozed) 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, in a single call. 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: name, subject, preview text, sender info, HTML content, and/or recipients. Retarget with exactly ONE of audienceIds / segmentId / contactIds / tagIds / sendToAll, then verify with preview_campaign_recipients before sending. Only drafts can be edited.
  • pause_campaign Pause a sending campaign. Already-sent messages are unaffected; remaining sends halt.
  • resume_campaign Resume a paused campaign.
  • duplicate_campaign Duplicate a campaign (template, content, and settings) as a new draft — works on sent campaigns too, so this is the way to re-use a past campaign's design. Optionally rename and retarget in the same call (exactly ONE of audienceIds / segmentId / contactIds / tagIds / sendToAll). NOTE: without retarg
  • delete_campaign Delete a draft campaign. Sent campaigns cannot be deleted (only archived).
  • preview_campaign_recipients Preview the recipient set for a campaign before sending. Returns count + sample list.
  • activate_automation Activate an automation. New events matching its triggers will start enrolling contacts.
  • pause_automation Pause an automation. Existing enrollments freeze in place; no new contacts enroll.
  • get_automation_stats Get aggregate analytics for an automation: total enrollments, completed, exited, open/click rates per step.
  • list_automation_enrollments List active and historical enrollments for an automation.
  • list_workspaces List workspaces the authenticated user has access to (owner or member).
  • get_workspace Get the current workspace (the one the API key belongs to).
  • get_brand Get the workspace's brand settings: colors, logo, fonts, and the DESIGN.md spec injected into AI generation prompts.
  • update_brand Update workspace brand settings. The designSpec field is a Markdown DESIGN.md document fed into AI generation system prompts — use it to encode voice, do/don't lists, and visual rules. companyName/websiteUrl/companyAddress also fill the matching merge tags in templates.
  • get_workspace_usage Get the current month's send count, contact count, and plan limits.
  • list_suppressions List suppressed email addresses (bounces, complaints, unsubscribes, manual).
  • add_suppression Add an email to the suppression list. Future sends to this address will be blocked.
  • remove_suppression Remove an email from the suppression list. Use only when you've confirmed the recipient wants to receive mail again.
  • list_webhooks List configured outgoing webhooks (your endpoints that Send16 POSTs delivery events to). Outgoing webhooks are a plan feature.
  • create_webhook Register an outgoing webhook endpoint. Send16 POSTs event JSON to this URL with an HMAC-SHA256 signature. Outgoing webhooks are a plan feature.
  • delete_webhook Delete an outgoing webhook endpoint.
  • regenerate_webhook_secret Rotate the HMAC signing secret for an outgoing webhook endpoint. Returns the new secret once.

Badge

Connect-MCP badge for io.github.spruikco/send16-mcp

Markdown for your README
[![Connect-MCP](https://clawy.uk/mcp/badge/io.github.spruikco/send16-mcp.svg)](https://clawy.uk/mcp/s/io.github.spruikco/send16-mcp)