Kraiter
MCP Server

Tool Reference

Complete reference of all 49 MCP tools exposed by the Kraiter MCP server.

This page documents every tool available in the @kraiter/mcp-server. Each tool maps directly to a method on the @kraiter/sdk.

Contacts

Tools for managing contact records — the people you send email to.

ToolDescription
create_contactCreate a new contact with an email address and optional properties.
get_contactGet a contact by their ID.
get_contact_by_emailLook up a contact by their email address.
update_contactUpdate a contact's properties, subscription status, or external user ID.
delete_contactDelete a contact by their ID.
list_contactsList contacts with optional pagination.
upsert_contactCreate a new contact or update an existing one by email address.

create_contact

ParameterTypeRequiredDescription
emailstringYesContact email address.
userIdstringNoExternal user ID.
propertiesRecord<string, string | number | boolean | null>NoCustom contact properties.

get_contact

ParameterTypeRequiredDescription
contactIdstringYesContact ID.

get_contact_by_email

ParameterTypeRequiredDescription
emailstringYesContact email address.

update_contact

ParameterTypeRequiredDescription
contactIdstringYesContact ID.
userIdstringNoExternal user ID.
propertiesRecord<string, string | number | boolean | null>NoCustom contact properties to update.
subscribedbooleanNoSubscription status.

delete_contact

ParameterTypeRequiredDescription
contactIdstringYesContact ID.

list_contacts

ParameterTypeRequiredDescription
limitnumberNoMaximum number of contacts to return.
cursorstringNoPagination cursor from a previous response.

upsert_contact

ParameterTypeRequiredDescription
emailstringYesContact email address.
userIdstringNoExternal user ID.
propertiesRecord<string, string | number | boolean | null>NoCustom contact properties.

Events

Tools for tracking custom events against contacts.

ToolDescription
track_eventTrack an event for a contact. Can trigger sequences and update contact properties.
get_eventGet an event by its ID.
list_eventsList events filtered by event name, with optional pagination.
list_contact_eventsList all events for a specific contact, filtered by event name.

track_event

ParameterTypeRequiredDescription
emailstringYesContact email address.
namestringYesEvent name.
propertiesRecord<string, string | number | boolean | null>NoEvent properties.
timestampstringNoISO 8601 timestamp (defaults to now).
updateContactbooleanNoWhether to update contact properties from event (default: true).

get_event

ParameterTypeRequiredDescription
eventIdstringYesEvent ID.

list_events

ParameterTypeRequiredDescription
namestringYesEvent name to filter by.
limitnumberNoMaximum number of events to return.
cursorstringNoPagination cursor from a previous response.

list_contact_events

ParameterTypeRequiredDescription
contactIdstringYesContact ID.
namestringYesEvent name to filter by.
limitnumberNoMaximum number of events to return.
cursorstringNoPagination cursor from a previous response.

Templates

Tools for managing email templates.

ToolDescription
create_templateCreate a new email template with a name and content.
get_templateGet a template by its ID. Optionally include the template content.
update_templateUpdate a template's name or content.
delete_templateDelete a template by its ID.
list_templatesList templates with optional pagination.
preview_templateRender a template preview with optional variables.

create_template

ParameterTypeRequiredDescription
namestringYesTemplate name.
contentstringYesTemplate content (MJML or HTML).

get_template

ParameterTypeRequiredDescription
templateIdstringYesTemplate ID.
includeContentbooleanNoWhether to include the template content (default: false).

update_template

ParameterTypeRequiredDescription
templateIdstringYesTemplate ID.
namestringNoNew template name.
contentstringNoNew template content (MJML or HTML).

delete_template

ParameterTypeRequiredDescription
templateIdstringYesTemplate ID.

list_templates

ParameterTypeRequiredDescription
limitnumberNoMaximum number of templates to return.
cursorstringNoPagination cursor from a previous response.

preview_template

ParameterTypeRequiredDescription
templateIdstringYesTemplate ID.
variablesRecord<string, unknown>NoTemplate variables for rendering.

Sequences

Tools for managing automated email sequences (drip campaigns).

ToolDescription
create_sequenceCreate a new email sequence with a name, content, and optional enabled state.
get_sequenceGet a sequence by its ID. Optionally include the sequence content.
update_sequenceUpdate a sequence's name, content, or enabled state.
delete_sequenceDelete a sequence by its ID.
list_sequencesList sequences with optional filters and pagination.
get_sequence_contact_stateGet the state of a contact within a sequence.
remove_contact_from_sequenceRemove a contact from a sequence with an optional reason.

create_sequence

ParameterTypeRequiredDescription
namestringYesSequence name.
contentstringYesSequence definition content.
enabledbooleanNoWhether the sequence is enabled (default: false).

get_sequence

ParameterTypeRequiredDescription
sequenceIdstringYesSequence ID.
includeContentbooleanNoWhether to include the sequence content (default: false).

update_sequence

ParameterTypeRequiredDescription
sequenceIdstringYesSequence ID.
namestringNoNew sequence name.
contentstringNoNew sequence content.
enabledbooleanNoWhether the sequence is enabled.

delete_sequence

ParameterTypeRequiredDescription
sequenceIdstringYesSequence ID.

list_sequences

ParameterTypeRequiredDescription
enabledbooleanNoFilter by enabled state.
limitnumberNoMaximum number of sequences to return.
cursorstringNoPagination cursor from a previous response.

get_sequence_contact_state

ParameterTypeRequiredDescription
sequenceIdstringYesSequence ID.
contactIdstringYesContact ID.

remove_contact_from_sequence

ParameterTypeRequiredDescription
sequenceIdstringYesSequence ID.
contactIdstringYesContact ID.
reasonstringNoReason for removal.

Campaigns

Tools for organising sequences and templates into campaigns.

ToolDescription
create_campaignCreate a new campaign with a name and optional configuration.
get_campaignGet a campaign by its ID.
update_campaignUpdate a campaign's name, description, status, segment, or goals.
delete_campaignDelete a campaign by its ID.
list_campaignsList campaigns with optional status filter and pagination.
add_campaign_sequenceAttach a sequence to a campaign.
remove_campaign_sequenceRemove a sequence from a campaign.
add_campaign_templateAttach a template to a campaign.
remove_campaign_templateRemove a template from a campaign.

create_campaign

ParameterTypeRequiredDescription
namestringYesCampaign name.
descriptionstringNoCampaign description.
sequenceIdsstring[]NoSequence IDs to attach.
templateIdsstring[]NoTemplate IDs to attach.
segmentIdstringNoSegment ID to target.
goalsstring[]NoCampaign goals.

get_campaign

ParameterTypeRequiredDescription
campaignIdstringYesCampaign ID.

update_campaign

ParameterTypeRequiredDescription
campaignIdstringYesCampaign ID.
namestringNoNew campaign name.
descriptionstringNoNew campaign description.
status"draft" | "active" | "paused" | "completed" | "archived"NoNew campaign status.
segmentIdstringNoNew segment ID to target.
goalsstring[]NoUpdated campaign goals.

delete_campaign

ParameterTypeRequiredDescription
campaignIdstringYesCampaign ID.

list_campaigns

ParameterTypeRequiredDescription
status"draft" | "active" | "paused" | "completed" | "archived"NoFilter by campaign status.
limitnumberNoMaximum number of campaigns to return.
cursorstringNoPagination cursor from a previous response.

add_campaign_sequence

ParameterTypeRequiredDescription
campaignIdstringYesCampaign ID.
sequenceIdstringYesSequence ID to attach.

remove_campaign_sequence

ParameterTypeRequiredDescription
campaignIdstringYesCampaign ID.
sequenceIdstringYesSequence ID to remove.

add_campaign_template

ParameterTypeRequiredDescription
campaignIdstringYesCampaign ID.
templateIdstringYesTemplate ID to attach.

remove_campaign_template

ParameterTypeRequiredDescription
campaignIdstringYesCampaign ID.
templateIdstringYesTemplate ID to remove.

Segments

Tools for defining audience segments and checking membership.

ToolDescription
create_segmentCreate a new contact segment with rules and a combinator (and/or).
get_segmentGet a segment by its ID.
update_segmentUpdate a segment's name, rules, or combinator.
delete_segmentDelete a segment by its ID.
list_segmentsList segments with optional pagination.
check_segment_membershipCheck whether a contact is a member of a specific segment.
list_contact_segment_membershipsList all segment memberships for a specific contact.

create_segment

ParameterTypeRequiredDescription
namestringYesSegment name.
rulesSegmentRule[]YesSegment rules (see below).
combinator"and" | "or"NoHow rules are combined (default: and).

SegmentRule object:

FieldTypeRequiredDescription
type"property" | "derived" | "event" | "segment"YesRule type.
fieldstringNoField name to evaluate.
operatorstringNoComparison operator.
valueunknownNoValue to compare against.
segmentIdstringNoSegment ID (for segment-type rules).
negatebooleanNoWhether to negate the rule.

get_segment

ParameterTypeRequiredDescription
segmentIdstringYesSegment ID.

update_segment

ParameterTypeRequiredDescription
segmentIdstringYesSegment ID.
namestringNoNew segment name.
rulesSegmentRule[]NoUpdated segment rules.
combinator"and" | "or"NoHow rules are combined.

delete_segment

ParameterTypeRequiredDescription
segmentIdstringYesSegment ID.

list_segments

ParameterTypeRequiredDescription
limitnumberNoMaximum number of segments to return.
cursorstringNoPagination cursor from a previous response.

check_segment_membership

ParameterTypeRequiredDescription
segmentIdstringYesSegment ID.
contactIdstringYesContact ID.

list_contact_segment_memberships

ParameterTypeRequiredDescription
contactIdstringYesContact ID.

Domains

Tools for registering and verifying sending domains.

ToolDescription
create_domainRegister a new sending domain. Returns DNS records that need to be configured.
get_domainGet a domain's status and DNS records.
delete_domainDelete a sending domain.
list_domainsList sending domains with optional status filter and pagination.
verify_domainTrigger DNS verification for a domain.

create_domain

ParameterTypeRequiredDescription
domainstringYesDomain name (e.g. mail.example.com).

get_domain

ParameterTypeRequiredDescription
domainstringYesDomain name.

delete_domain

ParameterTypeRequiredDescription
domainstringYesDomain name.

list_domains

ParameterTypeRequiredDescription
status"pending" | "verified" | "failed"NoFilter by domain status.
limitnumberNoMaximum number of domains to return.
cursorstringNoPagination cursor from a previous response.

verify_domain

ParameterTypeRequiredDescription
domainstringYesDomain name to verify.

Send

Tools for sending transactional emails and viewing send history.

ToolDescription
send_emailSend a transactional email to a recipient using a template.
get_sendGet details of a sent email by its send ID.
list_sendsList sent emails with optional filters and pagination.
list_contact_sendsList all sent emails for a specific contact.

send_email

ParameterTypeRequiredDescription
tostringYesRecipient email address.
templatestringYesTemplate ID.
variablesRecord<string, unknown>NoTemplate variables.
fromstringNoCustom from address.
ignoreUnsubscribebooleanNoOnly set to true for critical system emails such as password resets. Sends to contacts who have unsubscribed.

get_send

ParameterTypeRequiredDescription
sendIdstringYesSend ID.

list_sends

ParameterTypeRequiredDescription
contactIdstringNoFilter by contact ID.
templateIdstringNoFilter by template ID.
sequenceIdstringNoFilter by sequence ID.
limitnumberNoMaximum number of sends to return.
cursorstringNoPagination cursor from a previous response.

list_contact_sends

ParameterTypeRequiredDescription
contactIdstringYesContact ID.
templateIdstringNoFilter by template ID.
sequenceIdstringNoFilter by sequence ID.
limitnumberNoMaximum number of sends to return.
cursorstringNoPagination cursor from a previous response.