mcpbeat

Send16 MCP Server

io.github.spruikco/send16-mcp
answering

Send16 MCP is answering right now. Last checked 3 min ago. 202 installs a week from npm. It exposes 79 tools. Last commit 19 Jul 2026.

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

Installs per day peak 1 213 · avg 62 · +96% w/w
a month agotoday
Uptime history 39 hours of history
39 hours agonow
100.0%
Uptime 24h
91 of 91 checks
79
Tools
read from the server
140 ms
Response time
average over 24h
202
Installs / week
npm and PyPI

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 3 min ago.

run in your terminal
claude mcp add send16-mcp --transport http https://mcp.send16.com/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "send16-mcp": {
      "url": "https://mcp.send16.com/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.send16-mcp]
url = "https://mcp.send16.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "send16-mcp": {
      "url": "https://mcp.send16.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "send16-mcp": {
      "url": "https://mcp.send16.com/mcp"
    }
  }
}

Available tools 79

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

contact
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.
delete_contact
Delete a contact and all associated events. Irreversible.
get_contact_health_score
Get a contact's 0-100 health score based on recent engagement (opens, clicks, replies).
get_contact_timeline
Get a contact's full activity timeline: emails received, events fired, opens, clicks, automation enrollments, topic changes.
remove_contact_from_audience
Remove a contact from an audience.
update_contact
Update a contact's profile fields, custom fields, or subscription state.
send
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.
send_campaign_test
Send a test email for an existing campaign to preview how it will look in recipients' inboxes.
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 `[email protected]` — the sandbox sender delivers with no DNS, but only to your own account email.
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>`.
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.
action
create_action
Create an Action that maps an event name to a transactional template. Each matching event sends one email to the contact.
delete_action
Delete an Action.
get_action
Get a single Action with its trigger config and template binding.
update_action
Update an Action (toggle enabled, change template, change event name).
campaign
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.
delete_campaign
Delete a draft campaign. Sent campaigns cannot be deleted (only archived).
get_campaign_stats
Get detailed performance statistics for a specific campaign including open rate, click rate, bounce rate, and delivery metrics.
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.
automation
get_automation
Get a single automation by ID, including its trigger, steps, and current status.
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.
contacts
add_contacts_to_audience
Add contacts (by ID) to an audience.
list_contacts
List all contacts with optional filtering by subscription status and tag. Supports pagination.
search_contacts
Search contacts by email address or name. Returns matching contacts with their tags and subscription status.
convo
add_convo_note
Add a private internal note on a conversation. Notes are visible only to workspace members.
get_convo
Get a single conversation with its full thread of posts (incoming + outgoing).
update_convo
Update conversation status (open/closed/archived/snoozed) or assignee.
topic
create_topic
Create a new subscription topic. Contacts opt into topics individually via the preference center.
delete_topic
Delete a subscription topic. All subscribers will be detached.
update_topic
Update a subscription topic (name, description, default).
audience
create_audience
Create a new audience.
delete_audience
Delete an audience (list). Contacts are not deleted — only the list and its memberships are removed.
brand
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.
domain
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.
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.
message
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.
pause
pause_automation
Pause an automation. Existing enrollments freeze in place; no new contacts enroll.
pause_campaign
Pause a sending campaign. Already-sent messages are unaffected; remaining sends halt.
preview
preview_campaign_recipients
Preview the recipient set for a campaign before sending. Returns count + sample list.
preview_segment
Preview the contacts that match a segment without sending.
suppression
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.
webhook
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.
workspace
get_workspace
Get the current workspace (the one the API key belongs to).
get_workspace_usage
Get the current month's send count, contact count, and plan limits.
actions
list_actions
List Actions. Actions fire a transactional template when a custom event arrives — Plunk-style 'event_name → template' pairings, simpler than full automations.
activate
activate_automation
Activate an automation. New events matching its triggers will start enrolling contacts.
audiences
list_audiences
List audiences (lists). An audience is a static, manually-managed group of contacts.
automations
list_automations
List all automations in the workspace, including draft/active/paused status and trigger types.
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.
convos
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.
deliverability
get_deliverability_status
Get your workspace's deliverability summary — sending reputation, domain authentication status, and recent bounce/complaint health. (Deliverability Hub plan feature.)
design
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.
domains
list_domains
List all sending domains configured in your Send16 workspace, including their verification status and DNS records.
duplicate
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 retargeting, the copy keeps the ORIGINAL campaign's recipients.
enroll
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.
generate
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.
import
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 (safe to re-run).
inbox
list_inbox_counts
Get unread/total counts per category and label for the inbox sidebar (newsletter, transactional, marketing, calendar, social, cold).
mark
mark_convo_read
Mark a conversation as read for the current viewer.
messages
list_messages
List messages from the unified send log (transactional + campaign). Filter by recipient, sender, status, date range, or source.
pre
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.
regenerate
regenerate_webhook_secret
Rotate the HMAC signing secret for an outgoing webhook endpoint. Returns the new secret once.
render
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.
resume
resume_campaign
Resume a paused campaign.
schedule
schedule_campaign
Schedule (or send immediately) an existing draft campaign to an audience/segment/topic.
screener
screener_decide
Decide a pending screener conversation (first-time sender). 'allow' lets future emails through, 'reject' blocks, 'cold' marks as cold outreach.
segments
list_segments
List dynamic segments. Segments compute their members from a filter expression at send time.
suppressions
list_suppressions
List suppressed email addresses (bounces, complaints, unsubscribes, manual).
template
get_template
Get a single starter template by ID, including its EmailContent JSON.
templates
list_templates
List starter-gallery email templates available to every workspace.
topics
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.
webhooks
list_webhooks
List configured outgoing webhooks (your endpoints that Send16 POSTs delivery events to). Outgoing webhooks are a plan feature.
whoami
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.
workspaces
list_workspaces
List workspaces the authenticated user has access to (owner or member).

Endpoints

URLTransportStateLatencyChecked
https://mcp.send16.com/mcp streamable-http answering 140 ms 3 min ago

Send16 MCP — questions

Answers built from our own checks of this server.

What can Send16 MCP do?
It exposes 79 tools, read directly from the server on our last check. Among them: activate_automation, add_contacts_to_audience, add_convo_note, add_domain, add_suppression, check_domain_health and 73 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Send16 MCP mostly used for?
Its tools cluster around contact, send and campaign. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Send16 MCP working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 140 ms. The bar chart above shows every period we have measured.
How do I connect Send16 MCP?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Send16 MCP need an API key?
No. Send16 MCP completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 79 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Send16 MCP?
It answers our handshake in 140 ms on average, which is faster than 75% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Send16 MCP?
The npm package send16-mcp was installed 202 times in the last week. Week over week that is +96%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Send16 MCP open source?
Yes — it is published under the MIT licence, written in JavaScript and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.