Kit MCP connector
OAuth 2.1/DCRMarketingAutomationConnect to Kit MCP. Manage email subscribers, sequences, broadcasts, tags, and forms for your email marketing workflows.
Kit MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'kitmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Kit MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'kitmcp_get_account',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "kitmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Kit MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="kitmcp_get_account",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Update tag, subscriber, snippet — Rename a tag by ID
- Subscriber untag, tag — Remove a tag from a subscriber by subscriber ID and tag ID
- Unsubscribe records — Cancel a subscriber’s subscription by subscriber ID
- List webhooks, tags, tag subscribers — List all registered webhooks in the account
- Get subscriber tags, subscriber stats, subscriber — Retrieve all tags applied to a specific subscriber, paginated
- Subscribers filter, bulk untag, bulk tag — Search and filter subscribers by engagement events (opens, clicks, sends, deliveries) or sign-up date
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
kitmcp_add_subscriber_to_form#Subscribe a single email address to a Kit form. Creates the subscriber if they do not exist; returns the subscriber record.4 params
Subscribe a single email address to a Kit form. Creates the subscriber if they do not exist; returns the subscriber record.
email_addressstringrequiredSubscriber's email address (required)form_idintegerrequiredThe form ID (required). Use list_forms to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_add_subscriber_to_sequence#Enroll a single subscriber (by email) into a Kit email sequence. Use list_sequences to find the sequence ID.4 params
Enroll a single subscriber (by email) into a Kit email sequence. Use list_sequences to find the sequence ID.
email_addressstringrequiredSubscriber's email address (required)sequence_idintegerrequiredThe sequence ID (required). Use list_sequences to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_bulk_add_subscribers_to_form#Subscribe multiple existing subscribers to one or more forms in a single request. Batches over 100 are processed asynchronously.4 params
Subscribe multiple existing subscribers to one or more forms in a single request. Batches over 100 are processed asynchronously.
additionsarrayrequiredForm subscriptions to create (required). Each item must include `form_id` and `subscriber_id`.callback_urlstringoptionalURL to POST results to when the batch is processed asynchronously (batches > 100).session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_bulk_create_custom_fields#Create multiple custom subscriber fields in one request. Use list_custom_fields to view existing fields.4 params
Create multiple custom subscriber fields in one request. Use list_custom_fields to view existing fields.
custom_fieldsarrayrequiredCustom field definitions to create (required). Each item must include `label`.callback_urlstringoptionalURL to POST results to when the batch is processed asynchronously (batches > 100).session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_bulk_create_subscribers#Create or update multiple subscribers in one request. Batches over 100 are processed asynchronously.4 params
Create or update multiple subscribers in one request. Batches over 100 are processed asynchronously.
subscribersarrayrequiredSubscribers to upsert (required). Each item must include `email_address`; `first_name` and `state` are optional.callback_urlstringoptionalURL to POST results to when the batch is processed asynchronously (batches > 100).session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_bulk_create_tags#Create multiple tags in one request. Returns created tag records.4 params
Create multiple tags in one request. Returns created tag records.
tagsarrayrequiredTags to create (required). Each item must include `name`.callback_urlstringoptionalURL to POST results to when the batch is processed asynchronously (batches > 100).session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_bulk_tag_subscribers#Apply a tag to multiple subscribers in one request. Batches over 100 are processed asynchronously.4 params
Apply a tag to multiple subscribers in one request. Batches over 100 are processed asynchronously.
taggingsarrayrequiredTag-subscriber pairs to apply (required). Each item must include `tag_id` (integer) and `subscriber_id` (integer).callback_urlstringoptionalURL to POST results to when the batch is processed asynchronously (batches > 100).session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_bulk_untag_subscribers#Remove a tag from multiple subscribers in one request. Batches over 100 are processed asynchronously.4 params
Remove a tag from multiple subscribers in one request. Batches over 100 are processed asynchronously.
taggingsarrayrequiredTag-subscriber pairs to remove (required). Each item must include `tag_id` (integer) and `subscriber_id` (integer).callback_urlstringoptionalURL to POST results to when the batch is processed asynchronously (batches > 100).session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_bulk_update_subscriber_custom_field_values#Update custom field values for multiple subscribers in one request.4 params
Update custom field values for multiple subscribers in one request.
custom_field_valuesarrayrequiredCustom field updates to apply (required). Each item must include `subscriber_id`, `subscriber_custom_field_id`, and `value`.callback_urlstringoptionalURL to POST results to when the batch is processed asynchronously (batches > 100).session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_create_broadcast#Create a draft email broadcast in Kit. The broadcast is saved as a draft; scheduling and sending happen from the Kit UI.10 params
Create a draft email broadcast in Kit. The broadcast is saved as a draft; scheduling and sending happen from the Kit UI.
contentstringrequiredEmail body content in HTML (required)subjectstringrequiredEmail subject line (required)allow_starting_pointbooleanoptionalSet to true when posting adapted content from a Starting-point template (in combination with `email_template_id` set to that template's id and `content` set to the adapted body). Required only for the Starting-point + content combination; omit otherwise.descriptionstringoptionalInternal description for organizing broadcastsemail_template_idintegeroptionalEmail template ID. Use list_email_templates to find IDs.preview_textstringoptionalPreview text shown in email clientspublicbooleanoptionalWhether to publish on the creator's profile pagesession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.subscriber_filterarrayoptionalTarget audience filter. A single-element array wrapping one filter group (all/any/none). Example: [{ "all": [{ "type": "tag", "ids": [1, 2] }] }]. Only one filter group (all, any, or none) may be populated per request. Filter types allowed: 'tag' or 'segment'. Omit to target all subscribers.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_create_custom_field#Create a new custom subscriber field. Returns the created field record with its key.3 params
Create a new custom subscriber field. Returns the created field record with its key.
labelstringrequiredField label (required), e.g. 'Company' or 'Website'session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_create_sequence#Create a new email sequence. Returns the sequence record including its ID.9 params
Create a new email sequence. Returns the sequence record including its ID.
namestringrequiredSequence name (required)email_addressstringoptionalFrom email address to use for this sequenceemail_template_idintegeroptionalEmail template ID. Use list_email_templates to find IDs.repeatbooleanoptionalWhether the sequence repeats for subscriberssend_daysarrayoptionalDays to send on (e.g. ['monday', 'wednesday', 'friday'])send_hourintegeroptionalHour of day to send (0-23)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.time_zonestringoptionalTimezone for send scheduling (e.g. 'America/New_York')user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_create_sequence_email#Add a new email to an existing sequence at a specified position and delay.12 params
Add a new email to an existing sequence at a specified position and delay.
delay_unitstringrequired'days' or 'hours' (required)delay_valueintegerrequiredNumber of days or hours to wait before sending this email (required). Unit is controlled by delay_unit.sequence_idintegerrequiredThe sequence ID (required). Use list_sequences to find IDs.subjectstringrequiredEmail subject line (required)contentstringoptionalEmail body content in HTMLemail_template_idintegeroptionalLayout template ID. Use list_email_templates to find IDs.positionintegeroptional0-based position in the sequence. Defaults to the end.preview_textstringoptionalPreview text shown in email clientspublishedbooleanoptionalPublish the email immediately (default: false)send_daysarrayoptionalDays of the week this email may send. Omit or pass null to allow all days (inherits the sequence schedule).session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_create_snippet#Create a reusable content snippet (inline or block) for use in broadcasts and sequences.6 params
Create a reusable content snippet (inline or block) for use in broadcasts and sequences.
namestringrequiredSnippet name (required). Used to auto-generate the key.snippet_typestringrequired'inline' or 'block' (required). Cannot be changed after creation.contentstringoptionalText/Liquid content for inline snippets (required when snippet_type is 'inline')document_attributesobjectoptionalRich HTML content for block snippets (required when snippet_type is 'block')session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_create_subscriber#Create or update a single subscriber by email address (upsert). Returns the subscriber record.6 params
Create or update a single subscriber by email address (upsert). Returns the subscriber record.
email_addressstringrequiredSubscriber's email address (required)fieldsobjectoptionalCustom field values as key-value pairsfirst_namestringoptionalSubscriber's first namesession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.statestringoptionalSubscriber state (default: active)user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_create_tag#Create a new tag. Returns the tag record with its ID.3 params
Create a new tag. Returns the tag record with its ID.
namestringrequiredTag name (required)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_create_webhook#Register a webhook endpoint to receive Kit events. Returns the created webhook record.4 params
Register a webhook endpoint to receive Kit events. Returns the created webhook record.
eventobjectrequiredEvent configuration (required). Must include 'name' and optional filter IDs.target_urlstringrequiredURL to receive webhook POST requests (required)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_delete_broadcast#Delete a draft broadcast by ID. Only draft broadcasts can be deleted.3 params
Delete a draft broadcast by ID. Only draft broadcasts can be deleted.
broadcast_idintegerrequiredThe broadcast ID to delete (required). Use list_broadcasts to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_delete_custom_field#Delete a custom subscriber field by ID.3 params
Delete a custom subscriber field by ID.
custom_field_idintegerrequiredThe custom field ID to delete (required). Use list_custom_fields to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_delete_sequence#Delete a sequence and all its emails by ID.3 params
Delete a sequence and all its emails by ID.
idintegerrequiredThe sequence ID to delete (required). Use list_sequences to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_delete_sequence_email#Delete a single email from a sequence by email ID and sequence ID.4 params
Delete a single email from a sequence by email ID and sequence ID.
idintegerrequiredThe email ID to delete (required). Use list_sequence_emails to find IDs.sequence_idintegerrequiredThe sequence ID (required). Use list_sequences to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_delete_webhook#Delete a registered webhook by ID.3 params
Delete a registered webhook by ID.
webhook_idintegerrequiredThe webhook ID to delete (required). Use list_webhooks to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_filter_subscribers#Search and filter subscribers by engagement events (opens, clicks, sends, deliveries) or sign-up date. Returns paginated results.9 params
Search and filter subscribers by engagement events (opens, clicks, sends, deliveries) or sign-up date. Returns paginated results.
afterstringoptionalPagination cursor for the next page. Use `pagination.end_cursor` from a previous response. Distinct from per-filter date ranges in `all[].after`.allarrayoptionalArray of filter conditions, AND-ed together. Each item filters by one event type (opens, clicks, sent, delivered) or by sign-up date (subscribed). Omit to match all subscribers.beforestringoptionalPagination cursor for the previous page. Use `pagination.start_cursor` from a previous response. Distinct from per-filter date ranges in `all[].before`.include_total_countbooleanoptionalIf true, include `pagination.total_count` in the response (slower).per_pageintegeroptionalResults per page (1-100).session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.sort_fieldstringoptionalField to sort by. Defaults to `id` (recommended for stable cursor pagination).sort_orderstringoptionalSort direction (default: desc).user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_account#Retrieve the Kit account details for the authenticated user.2 params
Retrieve the Kit account details for the authenticated user.
session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_account_colors#Retrieve the custom brand color palette for the Kit account.2 params
Retrieve the custom brand color palette for the Kit account.
session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_broadcast#Retrieve a single broadcast record by ID.3 params
Retrieve a single broadcast record by ID.
idintegerrequiredThe broadcast IDsession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_broadcast_clicks#Retrieve click data for a specific broadcast, paginated by cursor.6 params
Retrieve click data for a specific broadcast, paginated by cursor.
idintegerrequiredThe broadcast IDafterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_broadcast_stats#Retrieve performance statistics (opens, clicks, etc.) for a specific broadcast.3 params
Retrieve performance statistics (opens, clicks, etc.) for a specific broadcast.
idintegerrequiredThe broadcast IDsession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_broadcasts_stats#Retrieve aggregated performance statistics for multiple broadcasts, with optional date and status filters.8 params
Retrieve aggregated performance statistics for multiple broadcasts, with optional date and status filters.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)sent_afterstringoptionalISO 8601 date or datetime (e.g. `2026-01-15` or `2026-01-15T10:00:00Z`). Only include broadcasts with `send_at >= sent_after`.sent_beforestringoptionalISO 8601 date or datetime (e.g. `2026-01-15` or `2026-01-15T10:00:00Z`). Only include broadcasts with `send_at < sent_before`.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.statusstringoptionalFilter to broadcasts in this state. Omit to return all states.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_creator_profile#Retrieve the creator profile linked to the authenticated Kit account.2 params
Retrieve the creator profile linked to the authenticated Kit account.
session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_email_stats#Retrieve overall email performance statistics for the Kit account.2 params
Retrieve overall email performance statistics for the Kit account.
session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_email_template#Retrieve a single email template by ID.3 params
Retrieve a single email template by ID.
idintegerrequiredThe email template ID (required). Use list_email_templates to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_growth_stats#Retrieve subscriber growth statistics for a specified date range.4 params
Retrieve subscriber growth statistics for a specified date range.
endingstringoptionalEnd date (YYYY-MM-DD). Defaults to today.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.startingstringoptionalStart date (YYYY-MM-DD). Defaults to 90 days ago.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_post#Retrieve a single Kit post (newsletter issue) by ID.3 params
Retrieve a single Kit post (newsletter issue) by ID.
idintegerrequiredThe post IDsession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_purchase#Retrieve a single purchase record by ID.3 params
Retrieve a single purchase record by ID.
idintegerrequiredThe purchase IDsession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_sequence#Retrieve a single sequence record by ID.3 params
Retrieve a single sequence record by ID.
idintegerrequiredThe sequence IDsession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_sequence_email#Retrieve a single email within a sequence by email ID and sequence ID.4 params
Retrieve a single email within a sequence by email ID and sequence ID.
idintegerrequiredThe email ID (required). Use list_sequence_emails to find IDs.sequence_idintegerrequiredThe sequence ID (required). Use list_sequences to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_snippet#Retrieve a single content snippet by ID.3 params
Retrieve a single content snippet by ID.
idintegerrequiredThe snippet ID (required). Use list_snippets to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_subscriber#Retrieve a single subscriber record by ID, including their custom fields.3 params
Retrieve a single subscriber record by ID, including their custom fields.
idintegerrequiredThe subscriber IDsession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_subscriber_stats#Retrieve engagement statistics for a single subscriber.3 params
Retrieve engagement statistics for a single subscriber.
idintegerrequiredThe subscriber IDsession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_get_subscriber_tags#Retrieve all tags applied to a specific subscriber, paginated.6 params
Retrieve all tags applied to a specific subscriber, paginated.
idintegerrequiredThe subscriber IDafterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_broadcasts#List all broadcasts with optional status filter and cursor pagination.7 params
List all broadcasts with optional status filter and cursor pagination.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.includearrayoptionalExtra fields to include per broadcast. `content` adds the full HTML body (can be large — only request when needed).per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.statusstringoptionalFilter to broadcasts in this state. Omit to return all states.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_custom_fields#List all custom subscriber fields in the account.5 params
List all custom subscriber fields in the account.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_email_templates#List all email templates in the account.5 params
List all email templates in the account.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_form_subscribers#List all subscribers on a specific form, paginated.7 params
List all subscribers on a specific form, paginated.
idintegerrequiredThe form ID. Use list_forms to find IDs.afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.includearrayoptionalExtra data to include per subscriber. `fields` adds custom field values (omit for slim responses).per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_forms#List all forms in the account with optional status filter.6 params
List all forms in the account with optional status filter.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.statusstringoptionalForm status (default: active)user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_posts#List all Kit newsletter posts with optional cursor pagination.6 params
List all Kit newsletter posts with optional cursor pagination.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.include_contentbooleanoptionalSet to true to include the full HTML body of each post. Omit (or set false) for a slim response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_prompt_suggestions#Retrieve suggested prompts to help the user get started with Kit via AI.2 params
Retrieve suggested prompts to help the user get started with Kit via AI.
session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_purchases#List all purchase records in the account, paginated.5 params
List all purchase records in the account, paginated.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_segments#List all subscriber segments in the account.5 params
List all subscriber segments in the account.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_sequence_emails#List all emails in a specific sequence.7 params
List all emails in a specific sequence.
sequence_idintegerrequiredThe sequence ID (required). Use list_sequences to find IDs.afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.include_contentbooleanoptionalInclude HTML content in each email (default: false)per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_sequence_subscribers#List all subscribers enrolled in a specific sequence.7 params
List all subscribers enrolled in a specific sequence.
idintegerrequiredThe sequence IDafterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.includearrayoptionalExtra data to include per subscriber. `fields` adds custom field values (omit for slim responses).per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_sequences#List all email sequences in the account.5 params
List all email sequences in the account.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_snippets#List all content snippets in the account with optional type and archive filters.8 params
List all content snippets in the account with optional type and archive filters.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.archivedbooleanoptionaltrue to list archived snippets, false (default) for active onesbeforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.include_contentbooleanoptionalInclude content and document fields in each snippet (default: false)per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.snippet_typestringoptionalFilter by type: 'inline' or 'block'user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_subscribers#List all subscribers with optional status, sort, and cursor pagination.9 params
List all subscribers with optional status, sort, and cursor pagination.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.includearrayoptionalExtra data to include per subscriber. `fields` adds custom field values (omit for slim responses). `canceled_at` requires `status` set to `cancelled` (otherwise the API returns 422).per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.sort_fieldstringoptionalSort by `id` (default, recommended for stable cursor pagination), `created_at`, or `updated_at`.sort_orderstringoptionalSort direction: asc or descstatusstringoptionalFilter by subscriber state. Defaults to active when omitted. Use `all` to include every state.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_tag_subscribers#List all subscribers who have a specific tag applied.7 params
List all subscribers who have a specific tag applied.
idintegerrequiredThe tag ID. Use list_tags to find IDs.afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.includearrayoptionalExtra data to include per subscriber. `fields` adds custom field values (omit for slim responses).per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_tags#List all tags in the account.5 params
List all tags in the account.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_list_webhooks#List all registered webhooks in the account.5 params
List all registered webhooks in the account.
afterstringoptionalCursor for next page. Use `pagination.end_cursor` from a previous response.beforestringoptionalCursor for previous page. Use `pagination.start_cursor` from a previous response.per_pageintegeroptionalResults per page (1-100)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_tag_subscriber#Apply a tag to a subscriber identified by email address.4 params
Apply a tag to a subscriber identified by email address.
email_addressstringrequiredSubscriber's email address (required)tag_idintegerrequiredThe tag ID (required). Use list_tags to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_unsubscribe#Cancel a subscriber's subscription by subscriber ID.3 params
Cancel a subscriber's subscription by subscriber ID.
subscriber_idintegerrequiredThe subscriber ID (required). Use list_subscribers or get_subscriber to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_untag_subscriber#Remove a tag from a subscriber by subscriber ID and tag ID.4 params
Remove a tag from a subscriber by subscriber ID and tag ID.
subscriber_idintegerrequiredThe subscriber ID (required)tag_idintegerrequiredThe tag ID (required). Use list_tags to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_update_account_colors#Update the custom brand color palette for the Kit account.3 params
Update the custom brand color palette for the Kit account.
colorsarrayrequiredArray of up to 10 hex color codes (e.g. ["#FF6900", "#FCB900"]). Replaces the existing palette entirely.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_update_broadcast#Update a draft broadcast's subject, content, or audience filter.10 params
Update a draft broadcast's subject, content, or audience filter.
broadcast_idintegerrequiredThe broadcast ID (required). Use list_broadcasts to find IDs.contentstringoptionalEmail body content in HTMLdescriptionstringoptionalInternal descriptionemail_template_idintegeroptionalEmail template IDpreview_textstringoptionalPreview text shown in email clientspublicbooleanoptionalWhether to publish on the creator's profile pagesession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.subjectstringoptionalEmail subject linesubscriber_filterarrayoptionalTarget audience filter. A single-element array wrapping one filter group (all/any/none). Example: [{ "all": [{ "type": "tag", "ids": [1, 2] }] }]. Only one filter group (all, any, or none) may be populated per request. Filter types allowed: 'tag' or 'segment'. Omit to leave current filter unchanged.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_update_custom_field#Rename a custom subscriber field by ID.4 params
Rename a custom subscriber field by ID.
custom_field_idintegerrequiredThe custom field ID (required). Use list_custom_fields to find IDs.labelstringrequiredNew field label (required)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_update_sequence#Update sequence settings such as name, send days, or active state.12 params
Update sequence settings such as name, send days, or active state.
idintegerrequiredThe sequence ID (required). Use list_sequences to find IDs.activebooleanoptionalWhether the sequence is activeemail_addressstringoptionalFrom email addressemail_template_idintegeroptionalEmail template IDholdbooleanoptionalWhether the sequence is on holdnamestringoptionalNew sequence namerepeatbooleanoptionalWhether the sequence repeatssend_daysarrayoptionalDays to send onsend_hourintegeroptionalHour of day to send (0-23)session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.time_zonestringoptionalTimezone for send schedulinguser_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_update_sequence_email#Update an existing sequence email's subject, content, delay, or position.13 params
Update an existing sequence email's subject, content, delay, or position.
idintegerrequiredThe email ID (required). Use list_sequence_emails to find IDs.sequence_idintegerrequiredThe sequence ID (required). Use list_sequences to find IDs.contentstringoptionalEmail body content in HTMLdelay_unitstringoptional'days' or 'hours'delay_valueintegeroptionalNumber of days or hours to wait before sending this email. Unit is controlled by delay_unit.email_template_idintegeroptionalLayout template ID. Use list_email_templates to find IDs.positionintegeroptional0-based position in the sequencepreview_textstringoptionalPreview text shown in email clientspublishedbooleanoptionalPublish or unpublish the emailsend_daysarrayoptionalDays of the week this email may send. To reset to the full weekly schedule, pass all 7 values explicitly.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.subjectstringoptionalEmail subject lineuser_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_update_snippet#Update a content snippet's name, content, or archived state.7 params
Update a content snippet's name, content, or archived state.
idintegerrequiredThe snippet ID (required). Use list_snippets to find IDs.archivedbooleanoptionaltrue to archive, false to restorecontentstringoptionalNew text/Liquid content (inline snippets only)document_attributesobjectoptionalNew HTML content (block snippets only)namestringoptionalNew snippet namesession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_update_subscriber#Update a subscriber's email, name, or custom field values by subscriber ID.6 params
Update a subscriber's email, name, or custom field values by subscriber ID.
subscriber_idintegerrequiredThe subscriber ID (required). Use list_subscribers or filter_subscribers to find IDs.email_addressstringoptionalNew email addressfieldsobjectoptionalCustom field values to update as key-value pairsfirst_namestringoptionalNew first namesession_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.kitmcp_update_tag#Rename a tag by ID.4 params
Rename a tag by ID.
namestringrequiredNew tag name (required)tag_idintegerrequiredThe tag ID (required). Use list_tags to find IDs.session_idstringoptionalUUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.user_goalstringoptionalWhat the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.