send16-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SEND16_API_KEY | Yes | Your Send16 key (sk_live_…) | |
| SEND16_API_URL | No | API base URL (default: https://api.send16.com) | https://api.send16.com |
| SEND16_MCP_PORT | No | If set, serves Streamable HTTP (multi-tenant) instead of stdio |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | 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 |
| send_emailA | Send a transactional email through Send16. Provide |
| send_campaign_testC | Send a test email for an existing campaign to preview how it will look in recipients' inboxes. |
| create_campaignA | Create a new email campaign in Send16. The campaign is created in draft status and can be edited before sending. |
| design_email_templateB | 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_campaignsB | List email campaigns with optional status filtering and pagination. |
| create_contactC | Add a new contact to your Send16 audience. Contacts are automatically subscribed to receive emails. |
| search_contactsB | Search contacts by email address or name. Returns matching contacts with their tags and subscription status. |
| list_contactsB | List all contacts with optional filtering by subscription status and tag. Supports pagination. |
| import_contactsB | Bulk import contacts from CSV data. Each row should have at minimum an email column. Tags can be applied to all imported contacts. |
| list_domainsA | List all sending domains configured in your Send16 workspace, including their verification status and DNS records. |
| check_domain_healthA | Check the DNS health of a specific domain, including DKIM, SPF, DMARC, and MX record verification status. Triggers a fresh DNS lookup. |
| get_campaign_statsA | Get detailed performance statistics for a specific campaign including open rate, click rate, bounce rate, and delivery metrics. |
| get_deliverability_statusB | Get your workspace's deliverability summary — sending reputation, domain authentication status, and recent bounce/complaint health. (Deliverability Hub plan feature.) |
| list_automationsA | List all automations in the workspace, including draft/active/paused status and trigger types. |
| get_automationA | Get a single automation by ID, including its trigger, steps, and current status. |
| enroll_in_automationA | Manually enroll a contact in an active automation. The automation must be in 'active' status. Use send_event for event-driven enrollment. |
| send_eventA | Fire a custom event for a contact. Automations whose trigger is |
| list_templatesA | List starter-gallery email templates available to every workspace. |
| get_templateA | Get a single starter template by ID, including its EmailContent JSON. |
| render_email_contentA | 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_domainA | 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_reviewA | 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_urlA | 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_messagesA | List messages from the unified send log (transactional + campaign). Filter by recipient, sender, status, date range, or source. |
| get_messageA | Fetch a single message with its full event timeline (created → sent → delivered → opened → clicked → ...). |
| get_message_eventsA | Get just the delivery event timeline for a message — no body or recipient details. |
| list_convosB | 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_convoA | Get a single conversation with its full thread of posts (incoming + outgoing). |
| send_replyA | 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_readB | Mark a conversation as read for the current viewer. |
| update_convoA | Update conversation state (open/closed/snoozed/spam/trash), star, or assignee. |
| add_convo_noteA | Add a private internal note on a conversation. Notes are visible only to workspace members. |
| screener_decideB | Decide a pending screener conversation (first-time sender). 'allow' lets future emails through, 'reject' blocks, 'cold' marks as cold outreach. |
| list_inbox_countsA | Get unread/total counts per category and label for the inbox sidebar (newsletter, transactional, marketing, calendar, social, cold). |
| list_topicsA | 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_topicA | Create a new subscription topic. Contacts opt into topics individually via the preference center. |
| update_topicB | Update a subscription topic (name, description, default). |
| delete_topicA | Delete a subscription topic. All subscribers will be detached. |
| list_actionsB | List Actions. Actions fire a transactional template when a custom event arrives — Plunk-style 'event_name → template' pairings, simpler than full automations. |
| get_actionA | Get a single Action with its trigger config and template binding. |
| create_actionA | Create an Action that maps an event name to a transactional template. Each matching event sends one email to the contact. |
| update_actionC | Update an Action (toggle enabled, change template, change event name). |
| delete_actionD | Delete an Action. |
| list_audiencesB | List audiences (lists). An audience is a static, manually-managed group of contacts. |
| create_audienceC | Create a new audience. |
| add_contacts_to_audienceB | Add contacts (by ID) to an audience. |
| remove_contact_from_audienceB | Remove a contact from an audience. |
| delete_audienceA | Delete an audience (list). Contacts are not deleted — only the list and its memberships are removed. |
| list_segmentsB | List dynamic segments. Segments compute their members from a filter expression at send time. |
| preview_segmentA | Preview the contacts that match a segment without sending. |
| update_contactB | Update a contact's profile fields, custom fields, or subscription state. |
| delete_contactA | Delete a contact and all associated events. Irreversible. |
| get_contact_timelineA | Get a contact's full activity timeline: emails received, events fired, opens, clicks, automation enrollments, topic changes. |
| get_contact_health_scoreA | Get a contact's 0-100 health score based on recent engagement (opens, clicks, replies). |
| send_broadcastA | 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_campaignA | Schedule (or send immediately) an existing draft campaign to an audience/segment/topic. |
| update_campaignC | Update a draft campaign's content, subject, preview text, or sender info. |
| pause_campaignA | Pause a sending campaign. Already-sent messages are unaffected; remaining sends halt. |
| resume_campaignC | Resume a paused campaign. |
| duplicate_campaignA | Duplicate a campaign as a new draft. Useful for A/B variants or re-using a successful template. |
| delete_campaignA | Delete a draft campaign. Sent campaigns cannot be deleted (only archived). |
| preview_campaign_recipientsA | Preview the recipient set for a campaign before sending. Returns count + sample list. |
| activate_automationC | Activate an automation. New events matching its triggers will start enrolling contacts. |
| pause_automationA | Pause an automation. Existing enrollments freeze in place; no new contacts enroll. |
| get_automation_statsB | Get aggregate analytics for an automation: total enrollments, completed, exited, open/click rates per step. |
| list_automation_enrollmentsB | List active and historical enrollments for an automation. |
| list_workspacesA | List workspaces the authenticated user has access to (owner or member). |
| get_workspaceA | Get the current workspace (the one the API key belongs to). |
| get_brandA | Get the workspace's brand settings: colors, logo, fonts, and the DESIGN.md spec injected into AI generation prompts. |
| update_brandB | 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. |
| get_workspace_usageB | Get the current month's send count, contact count, and plan limits. |
| list_suppressionsB | List suppressed email addresses (bounces, complaints, unsubscribes, manual). |
| add_suppressionB | Add an email to the suppression list. Future sends to this address will be blocked. |
| remove_suppressionA | Remove an email from the suppression list. Use only when you've confirmed the recipient wants to receive mail again. |
| list_webhooksA | List configured outgoing webhooks (your endpoints that Send16 POSTs delivery events to). Outgoing webhooks are a plan feature. |
| create_webhookC | Register an outgoing webhook endpoint. Send16 POSTs event JSON to this URL with an HMAC-SHA256 signature. Outgoing webhooks are a plan feature. |
| delete_webhookB | Delete an outgoing webhook endpoint. |
| regenerate_webhook_secretB | Rotate the HMAC signing secret for an outgoing webhook endpoint. Returns the new secret once. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/spruikco/send16-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server