{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_jcuyrhm4svbb","handle":"send16","url":"https://wellknown.network/agents/send16","links":{"self":"https://wellknown.network/agents/send16/record.json","html":"https://wellknown.network/agents/send16","markdown":"https://wellknown.network/agents/send16/record.md","api":"https://wellknown.network/api/v1/agents/send16","status":"https://wellknown.network/api/v1/agents/send16/status","claim":"https://wellknown.network/agents/send16/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/send16/claim.json","badge":"https://wellknown.network/agents/send16/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/send16/history","tools":"https://wellknown.network/api/v1/agents/send16/tools"},"ard":{"identifier":"urn:air:mcp.send16.com:server:send16","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Send16","summary":"Email, SMS and marketing automation: campaigns, contacts, automations and stats from Claude.","description":"Email, SMS and marketing automation: campaigns, contacts, automations and stats from Claude.","publisher":{"name":"com.send16","url":null},"homepage":"https://send16.com/mcp","repository":null,"version":"0.5.15","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.send16.com","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-28T03:11:37.897522Z","publishedAt":"2026-10-28T03:11:37.897522Z","registryName":"com.send16/send16"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.marketing","name":"Marketing","confidence":1,"provenance":"derived"},{"slug":"productivity.email","name":"Email","confidence":1,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"},{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":0.525,"provenance":"derived"},{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":0.525,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["ai","communication","content","documents","productivity","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-29T04:27:37.176Z","lastProbedAt":"2026-10-29T04:27:37.176Z","statusComputedAt":"2026-10-29T04:29:17.416Z","reliability30d":{"probes":2,"successRate":1,"p50Ms":51,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":2,"ok":2,"authBoundaryOk":0,"serviceOk":2,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-29T04:27:37.176Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":51,"error":null,"detail":{"tools":[{"name":"whoami","description":"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 send"},{"name":"send_email","description":"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 th"},{"name":"send_campaign_test","description":"Send a test email for an existing campaign to preview how it will look in recipients' inboxes. Confirm the test address with the user first. Can be refused with"},{"name":"create_campaign","description":"Create a new email campaign as a draft: optionally with full HTML content and recipients (exactly ONE of audienceIds / segmentId / contactIds / tagIds / sendToA"},{"name":"design_email_template","description":"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."},{"name":"list_campaigns","description":"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 "},{"name":"create_contact","description":"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 subsc"},{"name":"search_contacts","description":"Search contacts by email address or name. Returns matching contacts with their tags and subscription status."},{"name":"list_contacts","description":"List all contacts with optional filtering by subscription status and tag. Supports pagination."},{"name":"import_contacts","description":"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 "},{"name":"list_domains","description":"List all sending domains configured in your Send16 workspace, including their verification status and DNS records."},{"name":"check_domain_health","description":"Check the DNS health of a specific domain, including DKIM, SPF, DMARC, and MX record verification status. Triggers a fresh DNS lookup."},{"name":"get_campaign_stats","description":"Get detailed performance statistics for a specific campaign including open rate, click rate, bounce rate, and delivery metrics."},{"name":"get_deliverability_status","description":"Get your workspace's deliverability summary: sending reputation, domain authentication status, and recent bounce/complaint health. (Deliverability Hub plan feat"},{"name":"list_automations","description":"List all automations in the workspace, including draft/active/paused status and trigger types."},{"name":"get_automation","description":"Get a single automation by ID, including its trigger, steps, and current status."},{"name":"enroll_in_automation","description":"Manually enroll a contact in an active automation. The automation must be in 'active' status. Use send_event for event-driven enrollment. Confirm with the user "},{"name":"send_event","description":"Fire a custom event for a contact. Automations whose trigger is `{type:'custom_event', eventName:'<name>'}` will enroll the contact and start running. Payload i"},{"name":"list_templates","description":"List starter-gallery email templates available to every workspace."},{"name":"save_template","description":"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 "},{"name":"list_workspace_templates","description":"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 us"},{"name":"send_template_test","description":"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 noreply@send16.com with a small 'Temp"},{"name":"get_template","description":"Get a single starter template by ID, including its EmailContent JSON."},{"name":"render_email_content","description":"Compile an EmailContent JSON object (the shape used by the Send16 builder + templates) into HTML using the platform's authoritative renderer. Returns the exact "},{"name":"add_domain","description":"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."},{"name":"pre_send_review","description":"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."},{"name":"generate_email_from_url","description":"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."},{"name":"list_messages","description":"List messages from the unified send log (transactional + campaign). Filter by recipient, sender, status, date range, or source."},{"name":"get_message","description":"Fetch a single message with its full event timeline (created → sent → delivered → opened → clicked → ...)."},{"name":"get_message_events","description":"Get just the delivery event timeline for a message: no body or recipient details."},{"name":"list_convos","description":"List inbox conversations. Filter by state, mailbox, label, screener status, or full-text search. Send16's unified inbox combines transactional reply threading w"},{"name":"get_convo","description":"Get a single conversation with its full thread of posts (incoming + outgoing)."},{"name":"send_reply","description":"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. Show th"},{"name":"mark_convo_read","description":"Mark a conversation as read for the current viewer."},{"name":"update_convo","description":"Update conversation status (open/closed/archived/snoozed) or assignee."},{"name":"add_convo_note","description":"Add a private internal note on a conversation. Notes are visible only to workspace members."},{"name":"screener_decide","description":"Decide a pending screener conversation (first-time sender). 'allow' lets future emails through, 'reject' blocks, 'cold' marks as cold outreach."},{"name":"list_inbox_counts","description":"Get unread/total counts per category and label for the inbox sidebar (newsletter, transactional, marketing, calendar, social, cold)."},{"name":"list_topics","description":"List subscription topics. Topics are granular categories contacts can subscribe to (e.g. 'product-updates', 'weekly-digest'). Campaigns and automations can be g"},{"name":"create_topic","description":"Create a new subscription topic. Contacts opt into topics individually via the preference center."},{"name":"update_topic","description":"Update a subscription topic (name, description, default)."},{"name":"delete_topic","description":"Delete a subscription topic. All subscribers will be detached."},{"name":"list_actions","description":"List Actions. Actions fire a transactional template when a custom event arrives: simple 'event_name → template' pairings, lighter than full automations."},{"name":"get_action","description":"Get a single Action with its trigger config and template binding."},{"name":"create_action","description":"Create an Action that maps an event name to a transactional template. Each matching event sends one email to the contact."},{"name":"update_action","description":"Update an Action (toggle enabled, change template, change event name)."},{"name":"delete_action","description":"Delete an Action."},{"name":"list_audiences","description":"List audiences (lists). An audience is a static, manually-managed group of contacts."},{"name":"create_audience","description":"Create a new audience."},{"name":"add_contacts_to_audience","description":"Add contacts (by ID) to an audience."},{"name":"remove_contact_from_audience","description":"Remove a contact from an audience."},{"name":"delete_audience","description":"Delete an audience (list). Contacts are not deleted; only the list and its memberships are removed."},{"name":"list_segments","description":"List dynamic segments. Segments compute their members from a filter expression at send time."},{"name":"preview_segment","description":"Preview the contacts that match a segment without sending."},{"name":"list_events","description":"List the workspace's events (meetups, workshops, conferences) with registered, attended and no-show counts and each event's public registration page."},{"name":"get_event_insights","description":"Who registered and who came for one event: counts, no-show rate, where people came from (city and state), first-timers vs returning, organisations and registrat"},{"name":"list_event_registrations","description":"List the people registered for an event, with status (registered, waitlisted, attended, no_show, cancelled), company, city and check-in time."},{"name":"register_for_event","description":"Register someone for an event. They get the event's confirmation email with their QR ticket unless the organiser switched it off, so confirm the person and the "},{"name":"check_in_attendee","description":"Check a registrant in at the door (or undo it). Use the registration ID from list_event_registrations."},{"name":"update_contact","description":"Update a contact's profile fields, custom fields, or subscription state."},{"name":"delete_contact","description":"Delete a contact and all associated events. Irreversible."},{"name":"get_contact_timeline","description":"Get a contact's full activity timeline: emails received, events fired, opens, clicks, automation enrollments, topic changes."},{"name":"get_contact_health_score","description":"Get a contact's 0-100 health score based on recent engagement (opens, clicks, replies)."},{"name":"send_broadcast","description":"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 f"},{"name":"schedule_campaign","description":"Schedule (or send immediately) an existing draft campaign to an audience/segment/topic. Before calling, confirm with the user: show them the recipients (or the "},{"name":"update_campaign","description":"Update a draft campaign: name, subject, preview text, sender info, HTML content, and/or recipients. Retarget with exactly ONE of audienceIds / segmentId / conta"},{"name":"pause_campaign","description":"Pause a sending campaign. Already-sent messages are unaffected; remaining sends halt."},{"name":"resume_campaign","description":"Resume a paused campaign. Confirm with the user first: the remaining recipients start receiving the campaign straight away. The sending limits and pauses descri"},{"name":"duplicate_campaign","description":"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. Optio"},{"name":"delete_campaign","description":"Delete a draft campaign. Sent campaigns cannot be deleted (only archived)."},{"name":"preview_campaign_recipients","description":"Preview the recipient set for a campaign before sending. Returns count + sample list."},{"name":"activate_automation","description":"Activate an automation. New events matching its triggers will start enrolling contacts. Confirm with the user first: once active it can start emailing contacts "},{"name":"pause_automation","description":"Pause an automation. Existing enrollments freeze in place; no new contacts enroll."},{"name":"get_automation_stats","description":"Get aggregate analytics for an automation: total enrollments, completed, exited, open/click rates per step."},{"name":"list_automation_enrollments","description":"List active and historical enrollments for an automation."},{"name":"list_workspaces","description":"List workspaces the authenticated user has access to (owner or member)."},{"name":"get_workspace","description":"Get the current workspace (the one the API key belongs to)."},{"name":"get_brand","description":"Get the workspace's brand settings: colors, logo, fonts, and the DESIGN.md spec injected into AI generation prompts."},{"name":"update_brand","description":"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 l"},{"name":"get_workspace_usage","description":"Get the current month's send count, contact count, and plan limits."},{"name":"list_suppressions","description":"List suppressed email addresses (bounces, complaints, unsubscribes, manual)."},{"name":"add_suppression","description":"Add an email to the suppression list. Future sends to this address will be blocked."},{"name":"remove_suppression","description":"Remove an email from the suppression list. Use only when you've confirmed the recipient wants to receive mail again."},{"name":"list_webhooks","description":"List configured outgoing webhooks (your endpoints that Send16 POSTs delivery events to). Outgoing webhooks are a plan feature."},{"name":"create_webhook","description":"Register an outgoing webhook endpoint. Send16 POSTs event JSON to this URL with an HMAC-SHA256 signature. Outgoing webhooks are a plan feature."},{"name":"delete_webhook","description":"Delete an outgoing webhook endpoint."},{"name":"regenerate_webhook_secret","description":"Rotate the HMAC signing secret for an outgoing webhook endpoint. Returns the new secret once."}],"toolCount":87,"toolsHash":"6d2d374b0639b18190f360d776135f768bc5655334d2912fec3d5d22ac6fe496","serverName":"send16","capabilities":["tools"],"serverVersion":"0.5.16","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T21:32:26.367Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":51,"error":null,"detail":{"tools":[{"name":"whoami","description":"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 send"},{"name":"send_email","description":"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 th"},{"name":"send_campaign_test","description":"Send a test email for an existing campaign to preview how it will look in recipients' inboxes. Confirm the test address with the user first. Can be refused with"},{"name":"create_campaign","description":"Create a new email campaign as a draft: optionally with full HTML content and recipients (exactly ONE of audienceIds / segmentId / contactIds / tagIds / sendToA"},{"name":"design_email_template","description":"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."},{"name":"list_campaigns","description":"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 "},{"name":"create_contact","description":"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 subsc"},{"name":"search_contacts","description":"Search contacts by email address or name. Returns matching contacts with their tags and subscription status."},{"name":"list_contacts","description":"List all contacts with optional filtering by subscription status and tag. Supports pagination."},{"name":"import_contacts","description":"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 "},{"name":"list_domains","description":"List all sending domains configured in your Send16 workspace, including their verification status and DNS records."},{"name":"check_domain_health","description":"Check the DNS health of a specific domain, including DKIM, SPF, DMARC, and MX record verification status. Triggers a fresh DNS lookup."},{"name":"get_campaign_stats","description":"Get detailed performance statistics for a specific campaign including open rate, click rate, bounce rate, and delivery metrics."},{"name":"get_deliverability_status","description":"Get your workspace's deliverability summary: sending reputation, domain authentication status, and recent bounce/complaint health. (Deliverability Hub plan feat"},{"name":"list_automations","description":"List all automations in the workspace, including draft/active/paused status and trigger types."},{"name":"get_automation","description":"Get a single automation by ID, including its trigger, steps, and current status."},{"name":"enroll_in_automation","description":"Manually enroll a contact in an active automation. The automation must be in 'active' status. Use send_event for event-driven enrollment. Confirm with the user "},{"name":"send_event","description":"Fire a custom event for a contact. Automations whose trigger is `{type:'custom_event', eventName:'<name>'}` will enroll the contact and start running. Payload i"},{"name":"list_templates","description":"List starter-gallery email templates available to every workspace."},{"name":"save_template","description":"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 "},{"name":"list_workspace_templates","description":"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 us"},{"name":"send_template_test","description":"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 noreply@send16.com with a small 'Temp"},{"name":"get_template","description":"Get a single starter template by ID, including its EmailContent JSON."},{"name":"render_email_content","description":"Compile an EmailContent JSON object (the shape used by the Send16 builder + templates) into HTML using the platform's authoritative renderer. Returns the exact "},{"name":"add_domain","description":"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."},{"name":"pre_send_review","description":"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."},{"name":"generate_email_from_url","description":"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."},{"name":"list_messages","description":"List messages from the unified send log (transactional + campaign). Filter by recipient, sender, status, date range, or source."},{"name":"get_message","description":"Fetch a single message with its full event timeline (created → sent → delivered → opened → clicked → ...)."},{"name":"get_message_events","description":"Get just the delivery event timeline for a message: no body or recipient details."},{"name":"list_convos","description":"List inbox conversations. Filter by state, mailbox, label, screener status, or full-text search. Send16's unified inbox combines transactional reply threading w"},{"name":"get_convo","description":"Get a single conversation with its full thread of posts (incoming + outgoing)."},{"name":"send_reply","description":"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. Show th"},{"name":"mark_convo_read","description":"Mark a conversation as read for the current viewer."},{"name":"update_convo","description":"Update conversation status (open/closed/archived/snoozed) or assignee."},{"name":"add_convo_note","description":"Add a private internal note on a conversation. Notes are visible only to workspace members."},{"name":"screener_decide","description":"Decide a pending screener conversation (first-time sender). 'allow' lets future emails through, 'reject' blocks, 'cold' marks as cold outreach."},{"name":"list_inbox_counts","description":"Get unread/total counts per category and label for the inbox sidebar (newsletter, transactional, marketing, calendar, social, cold)."},{"name":"list_topics","description":"List subscription topics. Topics are granular categories contacts can subscribe to (e.g. 'product-updates', 'weekly-digest'). Campaigns and automations can be g"},{"name":"create_topic","description":"Create a new subscription topic. Contacts opt into topics individually via the preference center."},{"name":"update_topic","description":"Update a subscription topic (name, description, default)."},{"name":"delete_topic","description":"Delete a subscription topic. All subscribers will be detached."},{"name":"list_actions","description":"List Actions. Actions fire a transactional template when a custom event arrives: simple 'event_name → template' pairings, lighter than full automations."},{"name":"get_action","description":"Get a single Action with its trigger config and template binding."},{"name":"create_action","description":"Create an Action that maps an event name to a transactional template. Each matching event sends one email to the contact."},{"name":"update_action","description":"Update an Action (toggle enabled, change template, change event name)."},{"name":"delete_action","description":"Delete an Action."},{"name":"list_audiences","description":"List audiences (lists). An audience is a static, manually-managed group of contacts."},{"name":"create_audience","description":"Create a new audience."},{"name":"add_contacts_to_audience","description":"Add contacts (by ID) to an audience."},{"name":"remove_contact_from_audience","description":"Remove a contact from an audience."},{"name":"delete_audience","description":"Delete an audience (list). Contacts are not deleted; only the list and its memberships are removed."},{"name":"list_segments","description":"List dynamic segments. Segments compute their members from a filter expression at send time."},{"name":"preview_segment","description":"Preview the contacts that match a segment without sending."},{"name":"list_events","description":"List the workspace's events (meetups, workshops, conferences) with registered, attended and no-show counts and each event's public registration page."},{"name":"get_event_insights","description":"Who registered and who came for one event: counts, no-show rate, where people came from (city and state), first-timers vs returning, organisations and registrat"},{"name":"list_event_registrations","description":"List the people registered for an event, with status (registered, waitlisted, attended, no_show, cancelled), company, city and check-in time."},{"name":"register_for_event","description":"Register someone for an event. They get the event's confirmation email with their QR ticket unless the organiser switched it off, so confirm the person and the "},{"name":"check_in_attendee","description":"Check a registrant in at the door (or undo it). Use the registration ID from list_event_registrations."},{"name":"update_contact","description":"Update a contact's profile fields, custom fields, or subscription state."},{"name":"delete_contact","description":"Delete a contact and all associated events. Irreversible."},{"name":"get_contact_timeline","description":"Get a contact's full activity timeline: emails received, events fired, opens, clicks, automation enrollments, topic changes."},{"name":"get_contact_health_score","description":"Get a contact's 0-100 health score based on recent engagement (opens, clicks, replies)."},{"name":"send_broadcast","description":"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 f"},{"name":"schedule_campaign","description":"Schedule (or send immediately) an existing draft campaign to an audience/segment/topic. Before calling, confirm with the user: show them the recipients (or the "},{"name":"update_campaign","description":"Update a draft campaign: name, subject, preview text, sender info, HTML content, and/or recipients. Retarget with exactly ONE of audienceIds / segmentId / conta"},{"name":"pause_campaign","description":"Pause a sending campaign. Already-sent messages are unaffected; remaining sends halt."},{"name":"resume_campaign","description":"Resume a paused campaign. Confirm with the user first: the remaining recipients start receiving the campaign straight away. The sending limits and pauses descri"},{"name":"duplicate_campaign","description":"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. Optio"},{"name":"delete_campaign","description":"Delete a draft campaign. Sent campaigns cannot be deleted (only archived)."},{"name":"preview_campaign_recipients","description":"Preview the recipient set for a campaign before sending. Returns count + sample list."},{"name":"activate_automation","description":"Activate an automation. New events matching its triggers will start enrolling contacts. Confirm with the user first: once active it can start emailing contacts "},{"name":"pause_automation","description":"Pause an automation. Existing enrollments freeze in place; no new contacts enroll."},{"name":"get_automation_stats","description":"Get aggregate analytics for an automation: total enrollments, completed, exited, open/click rates per step."},{"name":"list_automation_enrollments","description":"List active and historical enrollments for an automation."},{"name":"list_workspaces","description":"List workspaces the authenticated user has access to (owner or member)."},{"name":"get_workspace","description":"Get the current workspace (the one the API key belongs to)."},{"name":"get_brand","description":"Get the workspace's brand settings: colors, logo, fonts, and the DESIGN.md spec injected into AI generation prompts."},{"name":"update_brand","description":"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 l"},{"name":"get_workspace_usage","description":"Get the current month's send count, contact count, and plan limits."},{"name":"list_suppressions","description":"List suppressed email addresses (bounces, complaints, unsubscribes, manual)."},{"name":"add_suppression","description":"Add an email to the suppression list. Future sends to this address will be blocked."},{"name":"remove_suppression","description":"Remove an email from the suppression list. Use only when you've confirmed the recipient wants to receive mail again."},{"name":"list_webhooks","description":"List configured outgoing webhooks (your endpoints that Send16 POSTs delivery events to). Outgoing webhooks are a plan feature."},{"name":"create_webhook","description":"Register an outgoing webhook endpoint. Send16 POSTs event JSON to this URL with an HMAC-SHA256 signature. Outgoing webhooks are a plan feature."},{"name":"delete_webhook","description":"Delete an outgoing webhook endpoint."},{"name":"regenerate_webhook_secret","description":"Rotate the HMAC signing secret for an outgoing webhook endpoint. Returns the new secret once."}],"toolCount":87,"toolsHash":"6d2d374b0639b18190f360d776135f768bc5655334d2912fec3d5d22ac6fe496","serverName":"send16","capabilities":["tools"],"serverVersion":"0.5.16","protocolVersion":"2025-06-18"}}],"tools":[{"name":"whoami","description":"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 send"},{"name":"send_email","description":"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 th"},{"name":"send_campaign_test","description":"Send a test email for an existing campaign to preview how it will look in recipients' inboxes. Confirm the test address with the user first. Can be refused with"},{"name":"create_campaign","description":"Create a new email campaign as a draft: optionally with full HTML content and recipients (exactly ONE of audienceIds / segmentId / contactIds / tagIds / sendToA"},{"name":"design_email_template","description":"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."},{"name":"list_campaigns","description":"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 "},{"name":"create_contact","description":"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 subsc"},{"name":"search_contacts","description":"Search contacts by email address or name. Returns matching contacts with their tags and subscription status."},{"name":"list_contacts","description":"List all contacts with optional filtering by subscription status and tag. Supports pagination."},{"name":"import_contacts","description":"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 "},{"name":"list_domains","description":"List all sending domains configured in your Send16 workspace, including their verification status and DNS records."},{"name":"check_domain_health","description":"Check the DNS health of a specific domain, including DKIM, SPF, DMARC, and MX record verification status. Triggers a fresh DNS lookup."},{"name":"get_campaign_stats","description":"Get detailed performance statistics for a specific campaign including open rate, click rate, bounce rate, and delivery metrics."},{"name":"get_deliverability_status","description":"Get your workspace's deliverability summary: sending reputation, domain authentication status, and recent bounce/complaint health. (Deliverability Hub plan feat"},{"name":"list_automations","description":"List all automations in the workspace, including draft/active/paused status and trigger types."},{"name":"get_automation","description":"Get a single automation by ID, including its trigger, steps, and current status."},{"name":"enroll_in_automation","description":"Manually enroll a contact in an active automation. The automation must be in 'active' status. Use send_event for event-driven enrollment. Confirm with the user "},{"name":"send_event","description":"Fire a custom event for a contact. Automations whose trigger is `{type:'custom_event', eventName:'<name>'}` will enroll the contact and start running. Payload i"},{"name":"list_templates","description":"List starter-gallery email templates available to every workspace."},{"name":"save_template","description":"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 "},{"name":"list_workspace_templates","description":"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 us"},{"name":"send_template_test","description":"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 noreply@send16.com with a small 'Temp"},{"name":"get_template","description":"Get a single starter template by ID, including its EmailContent JSON."},{"name":"render_email_content","description":"Compile an EmailContent JSON object (the shape used by the Send16 builder + templates) into HTML using the platform's authoritative renderer. Returns the exact "},{"name":"add_domain","description":"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."},{"name":"pre_send_review","description":"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."},{"name":"generate_email_from_url","description":"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."},{"name":"list_messages","description":"List messages from the unified send log (transactional + campaign). Filter by recipient, sender, status, date range, or source."},{"name":"get_message","description":"Fetch a single message with its full event timeline (created → sent → delivered → opened → clicked → ...)."},{"name":"get_message_events","description":"Get just the delivery event timeline for a message: no body or recipient details."},{"name":"list_convos","description":"List inbox conversations. Filter by state, mailbox, label, screener status, or full-text search. Send16's unified inbox combines transactional reply threading w"},{"name":"get_convo","description":"Get a single conversation with its full thread of posts (incoming + outgoing)."},{"name":"send_reply","description":"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. Show th"},{"name":"mark_convo_read","description":"Mark a conversation as read for the current viewer."},{"name":"update_convo","description":"Update conversation status (open/closed/archived/snoozed) or assignee."},{"name":"add_convo_note","description":"Add a private internal note on a conversation. Notes are visible only to workspace members."},{"name":"screener_decide","description":"Decide a pending screener conversation (first-time sender). 'allow' lets future emails through, 'reject' blocks, 'cold' marks as cold outreach."},{"name":"list_inbox_counts","description":"Get unread/total counts per category and label for the inbox sidebar (newsletter, transactional, marketing, calendar, social, cold)."},{"name":"list_topics","description":"List subscription topics. Topics are granular categories contacts can subscribe to (e.g. 'product-updates', 'weekly-digest'). Campaigns and automations can be g"},{"name":"create_topic","description":"Create a new subscription topic. Contacts opt into topics individually via the preference center."},{"name":"update_topic","description":"Update a subscription topic (name, description, default)."},{"name":"delete_topic","description":"Delete a subscription topic. All subscribers will be detached."},{"name":"list_actions","description":"List Actions. Actions fire a transactional template when a custom event arrives: simple 'event_name → template' pairings, lighter than full automations."},{"name":"get_action","description":"Get a single Action with its trigger config and template binding."},{"name":"create_action","description":"Create an Action that maps an event name to a transactional template. Each matching event sends one email to the contact."},{"name":"update_action","description":"Update an Action (toggle enabled, change template, change event name)."},{"name":"delete_action","description":"Delete an Action."},{"name":"list_audiences","description":"List audiences (lists). An audience is a static, manually-managed group of contacts."},{"name":"create_audience","description":"Create a new audience."},{"name":"add_contacts_to_audience","description":"Add contacts (by ID) to an audience."},{"name":"remove_contact_from_audience","description":"Remove a contact from an audience."},{"name":"delete_audience","description":"Delete an audience (list). Contacts are not deleted; only the list and its memberships are removed."},{"name":"list_segments","description":"List dynamic segments. Segments compute their members from a filter expression at send time."},{"name":"preview_segment","description":"Preview the contacts that match a segment without sending."},{"name":"list_events","description":"List the workspace's events (meetups, workshops, conferences) with registered, attended and no-show counts and each event's public registration page."},{"name":"get_event_insights","description":"Who registered and who came for one event: counts, no-show rate, where people came from (city and state), first-timers vs returning, organisations and registrat"},{"name":"list_event_registrations","description":"List the people registered for an event, with status (registered, waitlisted, attended, no_show, cancelled), company, city and check-in time."},{"name":"register_for_event","description":"Register someone for an event. They get the event's confirmation email with their QR ticket unless the organiser switched it off, so confirm the person and the "},{"name":"check_in_attendee","description":"Check a registrant in at the door (or undo it). Use the registration ID from list_event_registrations."},{"name":"update_contact","description":"Update a contact's profile fields, custom fields, or subscription state."},{"name":"delete_contact","description":"Delete a contact and all associated events. Irreversible."},{"name":"get_contact_timeline","description":"Get a contact's full activity timeline: emails received, events fired, opens, clicks, automation enrollments, topic changes."},{"name":"get_contact_health_score","description":"Get a contact's 0-100 health score based on recent engagement (opens, clicks, replies)."},{"name":"send_broadcast","description":"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 f"},{"name":"schedule_campaign","description":"Schedule (or send immediately) an existing draft campaign to an audience/segment/topic. Before calling, confirm with the user: show them the recipients (or the "},{"name":"update_campaign","description":"Update a draft campaign: name, subject, preview text, sender info, HTML content, and/or recipients. Retarget with exactly ONE of audienceIds / segmentId / conta"},{"name":"pause_campaign","description":"Pause a sending campaign. Already-sent messages are unaffected; remaining sends halt."},{"name":"resume_campaign","description":"Resume a paused campaign. Confirm with the user first: the remaining recipients start receiving the campaign straight away. The sending limits and pauses descri"},{"name":"duplicate_campaign","description":"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. Optio"},{"name":"delete_campaign","description":"Delete a draft campaign. Sent campaigns cannot be deleted (only archived)."},{"name":"preview_campaign_recipients","description":"Preview the recipient set for a campaign before sending. Returns count + sample list."},{"name":"activate_automation","description":"Activate an automation. New events matching its triggers will start enrolling contacts. Confirm with the user first: once active it can start emailing contacts "},{"name":"pause_automation","description":"Pause an automation. Existing enrollments freeze in place; no new contacts enroll."},{"name":"get_automation_stats","description":"Get aggregate analytics for an automation: total enrollments, completed, exited, open/click rates per step."},{"name":"list_automation_enrollments","description":"List active and historical enrollments for an automation."},{"name":"list_workspaces","description":"List workspaces the authenticated user has access to (owner or member)."},{"name":"get_workspace","description":"Get the current workspace (the one the API key belongs to)."},{"name":"get_brand","description":"Get the workspace's brand settings: colors, logo, fonts, and the DESIGN.md spec injected into AI generation prompts."},{"name":"update_brand","description":"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 l"},{"name":"get_workspace_usage","description":"Get the current month's send count, contact count, and plan limits."},{"name":"list_suppressions","description":"List suppressed email addresses (bounces, complaints, unsubscribes, manual)."},{"name":"add_suppression","description":"Add an email to the suppression list. Future sends to this address will be blocked."},{"name":"remove_suppression","description":"Remove an email from the suppression list. Use only when you've confirmed the recipient wants to receive mail again."},{"name":"list_webhooks","description":"List configured outgoing webhooks (your endpoints that Send16 POSTs delivery events to). Outgoing webhooks are a plan feature."},{"name":"create_webhook","description":"Register an outgoing webhook endpoint. Send16 POSTs event JSON to this URL with an HMAC-SHA256 signature. Outgoing webhooks are a plan feature."},{"name":"delete_webhook","description":"Delete an outgoing webhook endpoint."},{"name":"regenerate_webhook_secret","description":"Rotate the HMAC signing secret for an outgoing webhook endpoint. Returns the new secret once."}],"package":null,"toolSurface":{"id":"ts_yjeeak8srmgh","endpointId":"ep_8j6zygq5f2pq","hash":"6d2d374b0639b18190f360d776135f768bc5655334d2912fec3d5d22ac6fe496","toolCount":87,"serverName":"send16","serverVersion":"0.5.16","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-28T21:32:26.360Z","lastSeenAt":"2026-10-29T04:27:37.182Z","observations":2,"toolNames":["whoami","send_email","send_campaign_test","create_campaign","design_email_template","list_campaigns","create_contact","search_contacts","list_contacts","import_contacts","list_domains","check_domain_health","get_campaign_stats","get_deliverability_status","list_automations","get_automation","enroll_in_automation","send_event","list_templates","save_template","list_workspace_templates","send_template_test","get_template","render_email_content","add_domain","pre_send_review","generate_email_from_url","list_messages","get_message","get_message_events","list_convos","get_convo","send_reply","mark_convo_read","update_convo","add_convo_note","screener_decide","list_inbox_counts","list_topics","create_topic","update_topic","delete_topic","list_actions","get_action","create_action","update_action","delete_action","list_audiences","create_audience","add_contacts_to_audience","remove_contact_from_audience","delete_audience","list_segments","preview_segment","list_events","get_event_insights","list_event_registrations","register_for_event","check_in_attendee","update_contact","delete_contact","get_contact_timeline","get_contact_health_score","send_broadcast","schedule_campaign","update_campaign","pause_campaign","resume_campaign","duplicate_campaign","delete_campaign","preview_campaign_recipients","activate_automation","pause_automation","get_automation_stats","list_automation_enrollments","list_workspaces","get_workspace","get_brand","update_brand","get_workspace_usage","list_suppressions","add_suppression","remove_suppression","list_webhooks","create_webhook","delete_webhook","regenerate_webhook_secret"],"distinctSurfaces":1},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.send16/send16","url":"https://registry.modelcontextprotocol.io/v0/servers/com.send16%2Fsend16","firstSeenAt":"2026-10-28T20:18:39.167Z","fetchedAt":"2026-10-28T20:18:39.167Z","normalizedAt":"2026-10-28T20:18:39.167Z"}]},"firstSeenAt":"2026-10-28T20:18:39.167Z","updatedAt":"2026-10-29T04:30:04.866Z"}