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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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