Send16 is an MCP server with 79 tools an agent can call, among them activate_automation, add_contacts_to_audience, add_convo_note. It answers at https://mcp.send16.com/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 24 October 2026, succeeded.
Email for AI agents: send mail, manage contacts, automations & webhooks. Zero-DNS first send.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
activate_automation | Activate an automation. New events matching its triggers will start enrolling contacts. Inputs: automationId, apiKey |
add_contacts_to_audience | Add contacts (by ID) to an audience. Inputs: audienceId, contactIds, apiKey |
add_convo_note | Add a private internal note on a conversation. Notes are visible only to workspace members. Inputs: convoId, body, apiKey |
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. Inputs: domain, apiKey |
add_suppression | Add an email to the suppression list. Future sends to this address will be blocked. Inputs: email, reason, notes, apiKey |
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. Inputs: domainId, apiKey |
create_action | Create an Action that maps an event name to a transactional template. Each matching event sends one email to the contact. Inputs: name, eventName, templateSlug, enabled, sendOnce, delaySeconds |
create_audience | Create a new audience. Inputs: name, description, apiKey |
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. Inputs: name, subject, fromName, fromEmail, replyTo, previewText |
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 instea Inputs: email, firstName, lastName, audienceIds, tags, customFields |
create_topic | Create a new subscription topic. Contacts opt into topics individually via the preference center. Inputs: name, slug, description, isDefault, apiKey |
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. Inputs: name, url, events, enabled, apiKey |
delete_action | Delete an Action. Inputs: actionId, apiKey |
delete_audience | Delete an audience (list). Contacts are not deleted — only the list and its memberships are removed. Inputs: audienceId, apiKey |
delete_campaign | Delete a draft campaign. Sent campaigns cannot be deleted (only archived). Inputs: campaignId, apiKey |
delete_contact | Delete a contact and all associated events. Irreversible. Inputs: contactId, apiKey |
delete_topic | Delete a subscription topic. All subscribers will be detached. Inputs: topicId, apiKey |
delete_webhook | Delete an outgoing webhook endpoint. Inputs: webhookId, apiKey |
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. Inputs: type, style, description, brandColor, companyName, apiKey |
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 / segmen Inputs: campaignId, name, audienceIds, segmentId, contactIds, tagIds |
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. Inputs: automationId, contactId, apiKey |
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. Inputs: url, instructions, apiKey |
get_action | Get a single Action with its trigger config and template binding. Inputs: actionId, apiKey |
get_automation | Get a single automation by ID, including its trigger, steps, and current status. Inputs: automationId, apiKey |
get_automation_stats | Get aggregate analytics for an automation: total enrollments, completed, exited, open/click rates per step. Inputs: automationId, apiKey |
get_brand | Get the workspace's brand settings: colors, logo, fonts, and the DESIGN.md spec injected into AI generation prompts. Inputs: apiKey |
get_campaign_stats | Get detailed performance statistics for a specific campaign including open rate, click rate, bounce rate, and delivery metrics. Inputs: campaignId, apiKey |
get_contact_health_score | Get a contact's 0-100 health score based on recent engagement (opens, clicks, replies). Inputs: contactId, apiKey |
get_contact_timeline | Get a contact's full activity timeline: emails received, events fired, opens, clicks, automation enrollments, topic changes. Inputs: contactId, limit, cursor, apiKey |
get_convo | Get a single conversation with its full thread of posts (incoming + outgoing). Inputs: id, apiKey |
get_deliverability_status | Get your workspace's deliverability summary — sending reputation, domain authentication status, and recent bounce/complaint health. (Deliverability Hub plan feature.) Inputs: apiKey |
get_message | Fetch a single message with its full event timeline (created → sent → delivered → opened → clicked → ...). Inputs: id, apiKey |
get_message_events | Get just the delivery event timeline for a message — no body or recipient details. Inputs: id, apiKey |
get_template | Get a single starter template by ID, including its EmailContent JSON. Inputs: templateId, apiKey |
get_workspace | Get the current workspace (the one the API key belongs to). Inputs: apiKey |
get_workspace_usage | Get the current month's send count, contact count, and plan limits. Inputs: apiKey |
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 audie Inputs: csvData, audienceIds, tags, updateExisting, apiKey |
list_actions | List Actions. Actions fire a transactional template when a custom event arrives — Plunk-style 'event_name → template' pairings, simpler than full automations. Inputs: apiKey |
list_audiences | List audiences (lists). An audience is a static, manually-managed group of contacts. Inputs: apiKey |
list_automation_enrollments | List active and historical enrollments for an automation. Inputs: automationId, state, page, pageSize, apiKey |
list_automations, list_campaigns, list_contacts, list_convos, list_domains, list_inbox_counts, list_messages, list_segments, list_suppressions, list_templates, list_topics, list_webhooks, list_workspaces, mark_convo_read, pause_automation, pause_campaign, pre_send_review, preview_campaign_recipients, preview_segment, regenerate_webhook_secret, remove_contact_from_audience, remove_suppression, render_email_content, resume_campaign, schedule_campaign, screener_decide, search_contacts, send_broadcast, send_campaign_test, send_email, send_event, send_reply, update_action, update_brand, update_campaign, update_contact, update_convo, update_topic, whoami
Every block below points at https://mcp.send16.com/mcp. Pick your client and copy.
claude mcp add --transport http send16 https://mcp.send16.com/mcp
{
"mcpServers": {
"send16": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.send16.com/mcp"]
}
}
}{
"mcpServers": {
"send16": {
"url": "https://mcp.send16.com/mcp"
}
}
}{
"servers": {
"send16": {
"type": "http",
"url": "https://mcp.send16.com/mcp"
}
}
}{
"context_servers": {
"send16": {
"url": "https://mcp.send16.com/mcp"
}
}
}{
"mcpServers": {
"send16": {
"serverUrl": "https://mcp.send16.com/mcp"
}
}
}{
"mcpServers": {
"send16": {
"url": "https://mcp.send16.com/mcp"
}
}
}name: Send16
version: 0.0.1
schema: v1
mcpServers:
- name: Send16
type: streamable-http
url: https://mcp.send16.com/mcp{
"mcpServers": {
"send16": {
"httpUrl": "https://mcp.send16.com/mcp"
}
}
}{
"mcpServers": {
"send16": {
"type": "http",
"url": "https://mcp.send16.com/mcp"
}
}
}{
"mcpServers": {
"send16": {
"url": "https://mcp.send16.com/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.send16.com%2Fmcp&type=streamable_http&id=send16&name=Send16
It answered our last check on 24 October 2026 in 80 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
79, as returned by the server's own tools/list on 21 September 2026: activate_automation, add_contacts_to_audience, add_convo_note, add_domain, add_suppression, check_domain_health, create_action, create_audience, and 71 more.
It answered our last check on 24 October 2026 in 80 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.send16.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.spruikco. Endpoint host: mcp.send16.com. ARD identifier: urn:air:io.github.spruikco:mcp:send16-mcp.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.