This page lists every tool available through the SendKit MCP server. Your AI assistant can call any of these tools to manage your SendKit account.
MCP tool names use kebab-case with a -tool suffix. For example, the ListEmails tool is registered as list-emails-tool in MCP.
Emails
| Tool | Description |
|---|
| ListEmails | List sent emails with pagination. Returns each email’s recipient, subject, delivery status (sent, delivered, opened, clicked, bounced, complained, failed), domain, and timestamps. Filterable by recipient email, status, domain, and date range. Defaults to the last 14 days. |
| GetEmail | Get a sent email’s full details by ID, including recipient, subject, HTML and text content, delivery status, associated domain and template, and a timeline of delivery events (sent, delivered, opened, clicked, bounced, etc.). |
| SendEmail | Send a transactional email immediately or schedule it for later. Requires a verified sender (from), recipient (to), subject, and at least HTML or plain text content. Supports CC, BCC, reply-to, custom tags, and scheduled sending. |
| ValidateEmail | Validate an email address by checking syntax, DNS, mailbox existence, disposable domain, role address, and random input detection. Consumes one validation credit per call. Returns a recommendation on whether to block the address. |
Domains
| Tool | Description |
|---|
| ListDomains | List all sending domains for the current team. Returns each domain’s name, verification status, DNS records (DKIM, SPF, DMARC), tracking settings, TLS mode, and region. |
| GetDomain | Get a sending domain’s full details by ID, including verification status, DNS records (DKIM, SPF, DMARC) that need to be configured, tracking settings, and TLS mode. |
| CreateDomain | Register a new sending domain. After creation, DNS records (DKIM, SPF, DMARC) must be configured at the domain’s DNS provider before the domain can be verified and used for sending emails. |
| UpdateDomain | Update a sending domain’s open tracking, click tracking, or TLS mode (opportunistic or enforced). Domain name and region cannot be changed after creation. |
| DeleteDomain | Delete a sending domain. All senders associated with this domain must be removed first or the operation will fail. |
| VerifyDomain | Trigger DNS verification for a domain. Checks that the required DKIM, SPF, and DMARC records have been properly configured at the domain’s DNS provider. The domain must be verified before it can be used for sending. |
Senders
| Tool | Description |
|---|
| ListSenders | List all sender identities (from addresses) for the current team. Returns each sender’s display name, email address, associated domain, and reply-to address. Senders are the “from” identities used when sending emails. |
| GetSender | Get a sender identity’s full details by ID, including display name, email address (username@domain), associated domain, and reply-to address. |
| CreateSender | Create a new sender identity (from address) for sending emails. A sender combines a display name with a username and a verified domain to form the full email address (e.g., “John <john@example.com>”). |
| UpdateSender | Update a sender identity’s display name, email username, associated domain, or reply-to address. |
| DeleteSender | Delete a sender identity. Fails if the sender is currently used by active campaigns or email templates. |
Templates
| Tool | Description |
|---|
| ListTemplates | List all email templates for the current team. Returns each template’s name, subject, sender, status (published/draft), folder ID, and content type. Searchable by name. Filterable by folder ID — use "unassigned" for templates without a folder. |
| GetTemplate | Get an email template’s full details by ID, including name, subject, sender, HTML and plain text content, reply-to address, status (published/draft), and folder ID. |
| CreateTemplate | Create a new email template with HTML and/or plain text content. Requires a sender identity and subject line. Optionally assign to a folder by providing a folder ID. |
| UpdateTemplate | Update an email template’s name, subject, sender, HTML content, plain text content, reply-to address, status (published/draft), or folder assignment. |
| DeleteTemplate | Delete an email template. Fails if the template is used by unsent campaigns (draft, scheduled, sending) or active/paused automations. Templates used only by sent campaigns can be deleted. |
Template Folders
| Tool | Description |
|---|
| ListTemplateFolders | List all template folders for the current team. Returns each folder’s name and template count. Searchable by name. |
| GetTemplateFolder | Get a template folder’s details by ID, including its name and template count. |
| CreateTemplateFolder | Create a new template folder. Folder names must be unique within a team. |
| UpdateTemplateFolder | Rename a template folder. Does not affect the templates within the folder. |
| DeleteTemplateFolder | Delete a template folder. Templates in the folder will become unassigned, not deleted. |
Automations
| Tool | Description |
|---|
| ListAutomations | List automations with pagination. Returns each automation’s name, status (draft, active, paused), entry type, step count, contact count, and timestamps. Filterable by name and status. |
| GetAutomation | Get an automation’s full details by ID, including name, status, entry configuration, all workflow steps (trigger, email, delay, condition, webhook) with their configurations, edges connecting steps, and timestamps. |
| CreateAutomation | Create a new automation in draft status. Only a name is required initially. Use the update-automation tool to configure entry type, entry target, and reentry settings. |
| UpdateAutomation | Update a draft or paused automation: name, entry type, entry target, reentry setting, and the full workflow graph (steps and edges). Steps define the workflow nodes (trigger, email, delay, condition, webhook) with their configurations. Edges connect steps together. When steps and edges are provided, the entire workflow is replaced. |
| DeleteAutomation | Delete an automation. Only draft or paused automations without active contacts can be deleted. |
Campaigns
| Tool | Description |
|---|
| ListCampaigns | List email marketing campaigns with pagination. Returns each campaign’s name, subject, status (draft, scheduled, sending, sent, partial_sent), audience configuration, template, sender, recipient counts, and timestamps. Filterable by name and status. |
| GetCampaign | Get a campaign’s full details by ID, including name, subject, status (draft, scheduled, sending, sent, partial_sent), audience type and target, associated template and sender, recipient/sent/failed counts, and scheduling timestamps. |
| CreateCampaign | Create a new email marketing campaign in draft status. Only a name is required initially. Use the update-campaign tool to configure template, sender, audience, subject, and scheduling before sending. |
| UpdateCampaign | Update a draft campaign’s configuration: name, subject, template, sender, audience (all_contacts, contact_list, or segment), preview text, reply-to address, and scheduling. Only draft campaigns can be updated. |
| DeleteCampaign | Delete a draft campaign. Only campaigns in draft status can be deleted. Campaigns that are sending, sent, or scheduled cannot be deleted. |
| Tool | Description |
|---|
| ListContacts | List contacts for the current team with pagination. Returns each contact’s email, name, subscription status, list memberships, and custom properties. Use the search parameter to find contacts by email address. |
| GetContact | Get a contact’s full details by ID, including email, name, subscription status, external user ID, list memberships, and custom properties. |
| CreateContact | Create or update (upsert) a contact by email address. If a contact with the given email already exists, it will be updated instead of creating a duplicate. Optionally assign to lists and set custom properties. |
| UpdateContact | Update a contact’s email, name, external user ID, subscription status, list memberships, or custom properties. Passing list_ids will replace all current list memberships (use add-contact-to-lists-tool to append instead). |
| DeleteContact | Permanently delete a contact and remove them from all lists. This action cannot be undone. |
| AddContactToLists | Add a contact to one or more lists while preserving existing list memberships. Unlike update-contact-tool which replaces all lists, this appends to the contact’s current lists. |
| RemoveContactFromList | Remove a contact from a specific list. The contact is not deleted, only their membership in the specified list is removed. |
| GetContactLists | Get all lists that a specific contact belongs to, with pagination. Returns list names and IDs for the given contact. |
Lists
| Tool | Description |
|---|
| ListContactLists | List all contact lists for the current team. Lists are used to organize contacts into groups for targeted email campaigns and automations. Supports search by list name. |
| GetContactList | Get a contact list’s details by ID, including its name and contact count. |
| CreateContactList | Create a new contact list. Lists group contacts together for targeted email campaigns and automations. |
| UpdateContactList | Rename a contact list. Does not affect the contacts within the list. |
| DeleteContactList | Delete a contact list. Fails if the list is currently used by active campaigns or automations. Contacts in the list are not deleted. |
Properties
| Tool | Description |
|---|
| ListContactProperties | List all custom contact properties for the current team. Properties are custom fields (string, number, or date) that can be attached to contacts for personalization and segmentation. |
| CreateContactProperty | Create a new custom contact property. Properties are custom fields (string, number, or date) that extend contact data for personalization in emails and filtering in segments. |
| UpdateContactProperty | Update a custom contact property’s key, type (string, number, or date), or fallback value. |
| DeleteContactProperty | Delete a custom contact property. Fails if the property is currently used in segment filter conditions. Existing contact values for this property will be removed. |
Segments
| Tool | Description |
|---|
| ListSegments | List all segments for the current team. Segments are dynamic groups of contacts defined by filter conditions (e.g., “subscribed contacts who opened an email in the last 30 days”). Used to target specific audiences in campaigns. |
| GetSegment | Get a segment’s full details by ID, including its name, match type (all/any), and filter groups with conditions used to dynamically match contacts. |
| CreateSegment | Create a new segment with filter conditions to dynamically group contacts. Filters use groups of conditions with match types (all/any) to target contacts by email activity, properties, list membership, and more. |
| UpdateSegment | Update a segment’s name and filter conditions. Replaces all existing filter groups and conditions with the provided values. |
| DeleteSegment | Delete a segment. Fails if the segment is currently used by active campaigns or automations. |
Suppressions
| Tool | Description |
|---|
| ListSuppressions | List all suppressed email addresses for the current team. Suppressed addresses are blocked from receiving any emails, typically due to bounces, complaints, or manual addition. |
| CreateSuppression | Add an email address to the suppression list to prevent all future emails from being sent to this address. Use this to manually block recipients who should not receive emails. |
| DeleteSuppression | Remove an email address from the suppression list, allowing future emails to be sent to this address again. |
API Keys
| Tool | Description |
|---|
| ListApiKeys | List all API keys for the current team. Returns each key’s name, permission level (full or send), domain restriction, expiration date, and last used timestamp. |
| CreateApiKey | Create a new API key for the current team. Returns the plain text token which is only shown once and cannot be retrieved later. Keys can be scoped to a specific domain and given full or send-only permissions. |
| DeleteApiKey | Permanently revoke and delete an API key. Any integrations using this key will immediately stop working. |
Metrics
| Tool | Description |
|---|
| GetEmailMetrics | Get email delivery and engagement metrics for a date range. Returns totals and rates for sent, delivered, opened, clicked, bounced, and complained emails, plus daily chart data. Filterable by domain. Defaults to the last 14 days. |
| GetReputation | Get the current team’s email sending reputation. Returns status (healthy, warned, or paused), bounce rate, complaint rate, and total emails sent in the last 24 hours. A paused status means sending is blocked due to high bounce or complaint rates. |