The Kit MCP connector routes your AI agent's tool calls to Kit's own MCP server through Scalekit. Each user signs in to Kit once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 81 tools.
- Tools
- 81
- What they doRead · write · destructive
- 43 · 28 · 1043 read28 write10 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
What you can do
- Manage subscribers: create, update, and unsubscribe subscribers and filter them by opens, clicks, or sign-up date
- Tag and segment: create tags, apply or remove them in bulk, and list subscribers by tag, form, or segment
- Build email sequences: create sequences, add and edit their emails, and enroll subscribers
- Draft broadcasts: create, update, and delete draft broadcasts and review their clicks and performance stats
- Track growth and sales: view email and subscriber growth stats, purchases, and Commerce products
- Create landing pages: create, read, and update landing pages and reusable content snippets
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet 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>Create the Kit MCP connection
In AgentKit > Connections, create a Kit MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Kit MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_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)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'kitmcp_filter_subscribers',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_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_filter_subscribers",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolkitmcp_filter_subscribersSearch and filter subscribers by engagement events (opens, clicks, sends, deliveries) or sign-up date.Read-onlyFilter Subscribers
Search and filter subscribers by engagement events (opens, clicks, sends, deliveries) or sign-up date. Returns paginated results.
Inputs
afterstring- Pagination cursor for the next page. Use `pagination.end_cursor` from a previous response. Distinct from per-filter date ranges in `all[].after`.
allarray- Array 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.
beforestring- Pagination cursor for the previous page. Use `pagination.start_cursor` from a previous response. Distinct from per-filter date ranges in `all[].before`.
include_total_countboolean- If true, include `pagination.total_count` in the response (slower).
per_pageinteger- Results per page (1-100).default
10 session_idstring- UUID 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_fieldstring- Field to sort by. Defaults to `id` (recommended for stable cursor pagination).one of
idfirst_nameemail_addresscreated_atdefaultid sort_orderstring- Sort direction (default: desc).one of
ascdesc user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_broadcastRetrieve a single broadcast record by ID.Read-onlyGet Broadcast
Retrieve a single broadcast record by ID.
Inputs
idintegerrequired- The broadcast ID
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_creator_profileRetrieve the creator profile linked to the authenticated Kit account.Read-onlyGet Creator Profile
Retrieve the creator profile linked to the authenticated Kit account.
Inputs
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_current_account[Account] Get details for the authenticated Kit account.Read-onlyGet current account
[Account] Get details for the authenticated Kit account. Returns: top-level `user` (id and email of the authenticated user) and `account` with name, plan_type, primary_email_address, created_at, sending_addresses (each with email_address, from_name, status, is_default, is_verified, is_dmarc_configured), and a structured timezone (name, friendly_name, utc_offset). Call this only when the user asks about their account details, plan, or profile. It is not a prerequisite for subscriber, broadcast, or other work, so don't call it as a preamble.
Inputs
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_email_statsRetrieve overall email performance statistics for the Kit account.Read-onlyGet Email Stats
Retrieve overall email performance statistics for the Kit account.
Inputs
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_email_templateRetrieve a single email template by ID.Read-onlyGet Email Template
Retrieve a single email template by ID.
Inputs
idintegerrequired- The email template ID (required). Use list_email_templates to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_growth_statsRetrieve subscriber growth statistics for a specified date range.Read-onlyGet Growth Stats
Retrieve subscriber growth statistics for a specified date range.
Inputs
endingstring- End date (YYYY-MM-DD). Defaults to today.
session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
startingstring- Start date (YYYY-MM-DD). Defaults to 90 days ago.
user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_landing_page[Beta] [Landing Pages] Read an existing landing page.Read-onlyGet Landing Page
[Beta] [Landing Pages] Read an existing landing page. For pages built with the current (v2) editor this returns the page content as Kit-JSON: a `content_tree` in the same format `create_landing_page` accepts, with the page-level `theme` and `built_with_badge` as siblings — use it to inspect a page or as the starting point for a new one. Check `editor_version` first: "v2" pages include content; "v1" pages (built with the older editor) return metadata only — their content can't be read via the API, so hand the creator the editor link (`confirm_url`) for those. Reads never lose content silently. `is_clean: true` means `content_tree` fully represents the stored page. When it is false, `warnings` lists exactly what couldn't be expressed in Kit-JSON (e.g. `unknown_block` for a block type this format doesn't cover, `dropped_prop` for styling it can't express). A page re-created from a non-clean read would lose the flagged parts — tell the creator before building on it. A page with `last_published_at: null` is an unpublished draft; its `public_url` won't load until the creator publishes it. Returns: `id`, `root_page_id`, `name`, `editor_version`, `created_at`, `public_url`, `last_published_at`; for v2 pages also `content_tree`, `theme` (the full document-level theme), `built_with_badge`, `warnings`, and `is_clean`.
Inputs
idintegerrequired- The landing page ID
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_landing_page_schema[Beta] [Landing Pages] Return the Kit-JSON schemas for a landing page's `content_tree` and `theme` — the exact shapes create_landing_page and update_landing_page accept.Read-onlyGet Landing Page Schema
[Beta] [Landing Pages] Return the Kit-JSON schemas for a landing page's `content_tree` and `theme` — the exact shapes create_landing_page and update_landing_page accept. Call this first when building or editing a page, then construct `content_tree` (and optionally `theme`) to match, before calling create/update. Returns: `content_tree` (a JSON Schema for the array of `section` blocks, with every block definition and its allowed values) and `theme` (a JSON Schema for the page-level typography/color theme). These are reference schemas, not account data — the same for every account.
Inputs
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_link_clicks_for_a_broadcast[Broadcasts] Get click data for a specific broadcast.Read-onlyGet link clicks for a broadcast
[Broadcasts] Get click data for a specific broadcast. Returns: list of clicked URLs and ids with click counts. Useful for understanding which links in a broadcast perform best.
Inputs
idintegerrequired- The broadcast ID
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_postRetrieve a single Kit post (newsletter issue) by ID.Read-onlyGet Post
Retrieve a single Kit post (newsletter issue) by ID.
Inputs
idintegerrequired- The post ID
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_product[Products] Fetch a single Commerce product by ID.Read-onlyGet Product
[Products] Fetch a single Commerce product by ID. Returns the `product` in the same shape as list_products entries — `id`, `name`, `currency`, `product_type`, `pricing_type`, `published`, `prices`, `max_quantity`, `tax_product_type`, `tax_code_id`, `file_name`, `edit_url` and the public page `url`.
Inputs
idintegerrequired- ID of the product to fetch (required). Find it with list_products, or use the id returned by create_product / update_product.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_purchaseRetrieve a single purchase record by ID.Read-onlyGet Purchase
Retrieve a single purchase record by ID.
Inputs
idintegerrequired- The purchase ID
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_sequenceRetrieve a single sequence record by ID.Read-onlyGet Sequence
Retrieve a single sequence record by ID.
Inputs
idintegerrequired- The sequence ID
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_sequence_emailRetrieve a single email within a sequence by email ID and sequence ID.Read-onlyGet Sequence Email
Retrieve a single email within a sequence by email ID and sequence ID.
Inputs
idintegerrequired- The email ID (required). Use list_sequence_emails to find IDs.
sequence_idintegerrequired- The sequence ID (required). Use list_sequences to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_snippetRetrieve a single content snippet by ID.Read-onlyGet Snippet
Retrieve a single content snippet by ID.
Inputs
idintegerrequired- The snippet ID (required). Use list_snippets to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_stats_for_a_broadcast[Broadcasts] Get performance statistics for a single broadcast by ID.Read-onlyGet stats for a broadcast
[Broadcasts] Get performance statistics for a single broadcast by ID. Requires a broadcast ID; use list_broadcasts first to find IDs. For stats across many broadcasts at once, use get_stats_for_a_list_of_broadcasts. Returns: recipients, open rate, click rate, unsubscribe count, and bounce count.
Inputs
idintegerrequired- The broadcast ID
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_stats_for_a_list_of_broadcasts[Broadcasts] Performance analytics across many broadcasts at once.Read-onlyGet stats for a list of broadcasts
[Broadcasts] Performance analytics across many broadcasts at once. Use this when the goal is performance analysis or building a stats leaderboard across multiple sends. This is not the listing tool: to browse or find broadcasts, use list_broadcasts. For the stats of a single broadcast, use get_stats_for_a_broadcast after finding its ID with list_broadcasts. Returns: paginated array of broadcasts, each with `id`, `subject`, `send_at`, and `stats` (recipients, open rate, click rate, unsubscribes, total clicks, `status`, etc.). Supports cursor pagination, an optional date-range filter on `send_at`, and a `status` filter (each broadcast's `stats.status` is one of `draft | scheduled | sending | completed | aborted`).
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
10 sent_afterstring- ISO 8601 date or datetime (e.g. `2026-01-15` or `2026-01-15T10:00:00Z`). Only include broadcasts with `send_at >= sent_after`.
sent_beforestring- ISO 8601 date or datetime (e.g. `2026-01-15` or `2026-01-15T10:00:00Z`). Only include broadcasts with `send_at < sent_before`.
session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
statusstring- Filter to broadcasts in this state. Omit to return all states.one of
draftscheduledsendingcompletedaborted user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_get_subscriberRetrieve a single subscriber record by ID, including their custom fields.Read-onlyGet Subscriber
Retrieve a single subscriber record by ID, including their custom fields.
Inputs
idintegerrequired- The subscriber ID
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_broadcastsList all broadcasts with optional status filter and cursor pagination.Read-onlyList Broadcasts
List all broadcasts with optional status filter and cursor pagination.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
includearray- Extra fields to include per broadcast. `content` adds the full HTML body (can be large — only request when needed).
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
statusstring- Filter to broadcasts in this state. Omit to return all states.one of
draftscheduledsendingcompletedaborted user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_colors[Account] Get the brand color palette for this Kit account.Read-onlyList colors
[Account] Get the brand color palette for this Kit account. Returns: array of hex color strings (e.g. ["#FF6900", "#FCB900"]). Useful for understanding the creator's brand identity.
Inputs
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_custom_fieldsList all custom subscriber fields in the account.Read-onlyList Custom Fields
List all custom subscriber fields in the account.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_domains[Domains] List the account's domains.Read-onlyList Domains
[Domains] List the account's domains. Returns: `domains` — each with `id`, `domain` (the hostname) and `verified`. Only verified domains can host pages (landing pages, product pages); an unverified domain must finish verification in Kit before it can be used. Accounts typically have one or two domains. An empty list means the account has no domains yet and needs to add one in Kit.
Inputs
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_email_templatesList all email templates in the account.Read-onlyList Email Templates
List all email templates in the account.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_formsList all forms in the account with optional status filter.Read-onlyList Forms
List all forms in the account with optional status filter.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
statusstring- Form status (default: active)one of
activearchivedtrashedall user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_landing_pages[Beta] [Landing Pages] List the account's landing pages (both the classic builder and the current v2 editor), newest first.Read-onlyList Landing Pages
[Beta] [Landing Pages] List the account's landing pages (both the classic builder and the current v2 editor), newest first. Returns a slim array — metadata only per page: `id`, `root_page_id`, `name`, `editor_version`, `created_at`, `last_published_at`. No page content and no `public_url` (fetch those per page with get_landing_page), to keep the list fast. `editor_version` tells you which pages are v2 — those are readable and editable here: call get_landing_page for a page's content, then update_landing_page to change it. Classic (v1) pages are listed but can't be read or edited via the API.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_postsList all Kit newsletter posts with optional cursor pagination.Read-onlyList Posts
List all Kit newsletter posts with optional cursor pagination.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
include_contentboolean- Set to true to include the full HTML body of each post. Omit (or set false) for a slim response.
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_products[Products] List the account's Commerce products — everything the creator sells, including tip jars.Read-onlyList Products
[Products] List the account's Commerce products — everything the creator sells, including tip jars. Returns: paginated `products`, each with `id`, `name`, `currency`, `product_type`, `pricing_type`, `published` (whether the product can take purchases — false for every product until the creator connects Stripe, so don't read it as the creator having unpublished anything), `prices` (each plan's `amount` as a string in the major currency unit — for installment plans this is the total split across the plan — plus `interval`/`interval_count` for recurring and installment pricing, `installments` (the number of charges) for installment plans, and `suggested_amount` for pay-what-you-want plans), `max_quantity` (0 = unlimited; only settable for standard pricing), `tax_product_type` and `tax_code_id` (null unless the creator configured tax — resolve the id to a name with list_tax_codes), `file_name` (the attached file for download products, null otherwise; the file's location is never returned), `edit_url` (the product's management page in Kit — share it when the creator wants to customize or configure a product) and `url` (the public storefront page — the link to share with the creator's audience).
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
50 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_prompt_suggestionsRetrieve suggested prompts to help the user get started with Kit via AI.Read-onlyList Prompt Suggestions
Retrieve suggested prompts to help the user get started with Kit via AI.
Inputs
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_purchasesList all purchase records in the account, paginated.Read-onlyList Purchases
List all purchase records in the account, paginated.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_segmentsList all subscriber segments in the account.Read-onlyList Segments
List all subscriber segments in the account.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_sequence_emailsList all emails in a specific sequence.Read-onlyList Sequence Emails
List all emails in a specific sequence.
Inputs
sequence_idintegerrequired- The sequence ID (required). Use list_sequences to find IDs.
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
include_contentboolean- Include HTML content in each email (default: false)
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_sequencesList all email sequences in the account.Read-onlyList Sequences
List all email sequences in the account.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_snippetsList all content snippets in the account with optional type and archive filters.Read-onlyList Snippets
List all content snippets in the account with optional type and archive filters.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
archivedboolean- true to list archived snippets, false (default) for active ones
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
include_contentboolean- Include content and document fields in each snippet (default: false)
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_typestring- Filter by type: 'inline' or 'block'one of
inlineblock user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_stats_for_a_subscriber[Subscribers] Get engagement statistics for a specific subscriber by ID.Read-onlyList stats for a subscriber
[Subscribers] Get engagement statistics for a specific subscriber by ID. Returns (under `subscriber.stats`): `sent`, `opened`, `clicked`, `bounced`, `open_rate`, `click_rate`, `last_sent`, `last_opened`, `last_clicked`, `sends_since_last_open`, `sends_since_last_click`. Use `email_sent_after`/`email_sent_before` (YYYY-MM-DD) to scope to a date range.
Inputs
idintegerrequired- The subscriber ID
email_sent_afterstring- ISO 8601 date (YYYY-MM-DD). Scope stats to emails sent on or after this date. Must be on or after 2024-12-31 (the event floor) or the API returns 400.
email_sent_beforestring- ISO 8601 date (YYYY-MM-DD). Scope stats to emails sent on or before this date.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_subscribersList all subscribers with optional status, sort, and cursor pagination.Read-onlyList Subscribers
List all subscribers with optional status, sort, and cursor pagination.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
includearray- Extra 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_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_fieldstring- Sort by `id` (default, recommended for stable cursor pagination), `created_at`, or `updated_at`.one of
idcreated_atupdated_atdefaultid sort_orderstring- Sort direction: asc or descone of
ascdesc statusstring- Filter by subscriber state. Defaults to active when omitted. Use `all` to include every state.one of
activecancelledbouncedcomplainedinactiveall user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_subscribers_for_form[Forms] List subscribers who signed up through a specific form.Read-onlyList subscribers for a form
[Forms] List subscribers who signed up through a specific form. By default returns a slim response: id, email_address, first_name, state, created_at, added_at — no custom fields. Add `"fields"` to `include` only when you need custom field values. Use list_forms first to find the form ID.
Inputs
idintegerrequired- The form ID. Use list_forms to find IDs.
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
includearray- Extra data to include per subscriber. `fields` adds custom field values (omit for slim responses).
include_total_countboolean- If true, include `pagination.total_count` in the response (slower).
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_subscribers_for_sequence[Sequences] List subscribers in a specific sequence.Read-onlyList subscribers for a sequence
[Sequences] List subscribers in a specific sequence. By default returns a slim response: id, email_address, first_name, state, created_at, added_at — no custom fields. Add `"fields"` to `include` only when you need custom field values. Use list_sequences first to find the sequence ID.
Inputs
idintegerrequired- The sequence ID
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
includearray- Extra data to include per subscriber. `fields` adds custom field values (omit for slim responses).
include_total_countboolean- If true, include `pagination.total_count` in the response (slower).
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_subscribers_for_tag[Tags] List all subscribers who have a specific tag.Read-onlyList subscribers for a tag
[Tags] List all subscribers who have a specific tag. By default returns a slim response: id, email_address, first_name, state, created_at, tagged_at — no custom fields. Add `"fields"` to `include` only when you need custom field values. Use list_tags first to find the tag ID.
Inputs
idintegerrequired- The tag ID. Use list_tags to find IDs.
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
includearray- Extra data to include per subscriber. `fields` adds custom field values (omit for slim responses).
include_total_countboolean- If true, include `pagination.total_count` in the response (slower).
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_tax_codes[Products] List the Kit tax codes used to classify a product's tax category, i.e.Read-onlyList Tax Codes
[Products] List the Kit tax codes used to classify a product's tax category, i.e. to choose a product's `tax_code_id` when creating or updating a product. Returns: `tax_collection_enabled` — whether this account collects tax (VAT, GST, or US sales tax) — and `tax_codes`, each with `id`, `name`, and `description`. When `tax_collection_enabled` is false the account doesn't collect tax, `tax_codes` is empty, and products don't need a `tax_code_id`. When true, match the product to a code by its `name`/`description` and pass that code's `id`.
Inputs
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_list_webhooksList all registered webhooks in the account.Read-onlyList Webhooks
List all registered webhooks in the account.
Inputs
afterstring- Cursor for next page. Use `pagination.end_cursor` from a previous response.
beforestring- Cursor for previous page. Use `pagination.start_cursor` from a previous response.
per_pageinteger- Results per page (1-100)default
10 session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_add_subscriber_to_formSubscribe a single email address to a Kit form.WriteAdd Subscriber To Form
Subscribe a single email address to a Kit form. Creates the subscriber if they do not exist; returns the subscriber record.
- Idempotent
Inputs
email_addressstringrequired- Subscriber's email address (required)
form_idintegerrequired- The form ID (required). Use list_forms to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_add_subscriber_to_sequenceEnroll a single subscriber (by email) into a Kit email sequence.WriteAdd Subscriber To Sequence
Enroll a single subscriber (by email) into a Kit email sequence. Use list_sequences to find the sequence ID.
- Idempotent
Inputs
email_addressstringrequired- Subscriber's email address (required)
sequence_idintegerrequired- The sequence ID (required). Use list_sequences to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_bulk_add_subscribers_to_form[STALE — upstream renamed 'bulk_add_subscribers_to_form' to 'bulk_add_subscribers_to_forms'; kept for compatibility, no longer exposed by upstream MCP server] Subscribe multiple existing subscribers to one or more forms in a single request.WriteBulk Add Subscribers To Form
[STALE — upstream renamed 'bulk_add_subscribers_to_form' to 'bulk_add_subscribers_to_forms'; kept for compatibility, no longer exposed by upstream MCP server] Subscribe multiple existing subscribers to one or more forms in a single request. Batches over 100 are processed asynchronously.
- Idempotent
Inputs
additionsarrayrequired- Form subscriptions to create (required). Each item must include `form_id` and `subscriber_id`.
callback_urlstring- URL to POST results to when the batch is processed asynchronously (batches > 100).
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_bulk_create_custom_fieldsCreate multiple custom subscriber fields in one request.WriteBulk Create Custom Fields
Create multiple custom subscriber fields in one request. Use list_custom_fields to view existing fields.
- Idempotent
Inputs
custom_fieldsarrayrequired- Custom field definitions to create (required). Each item must include `label`.
callback_urlstring- URL to POST results to when the batch is processed asynchronously (batches > 100).
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_bulk_create_subscribersCreate or update multiple subscribers in one request.WriteBulk Create Subscribers
Create or update multiple subscribers in one request. Batches over 100 are processed asynchronously.
- Idempotent
Inputs
subscribersarrayrequired- Subscribers to upsert (required). Each item must include `email_address`; `first_name` and `state` are optional.
callback_urlstring- URL to POST results to when the batch is processed asynchronously (batches > 100).
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_bulk_tag_subscribersApply a tag to multiple subscribers in one request.WriteBulk Tag Subscribers
Apply a tag to multiple subscribers in one request. Batches over 100 are processed asynchronously.
- Idempotent
Inputs
taggingsarrayrequired- Tag-subscriber pairs to apply (required). Each item must include `tag_id` (integer) and `subscriber_id` (integer).
callback_urlstring- URL to POST results to when the batch is processed asynchronously (batches > 100).
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_bulk_update_subscriber_custom_field_valuesUpdate custom field values for multiple subscribers in one request.WriteBulk Update Subscriber Custom Field Values
Update custom field values for multiple subscribers in one request.
- Idempotent
Inputs
custom_field_valuesarrayrequired- Custom field updates to apply (required). Each item must include `subscriber_id`, `subscriber_custom_field_id`, and `value`.
callback_urlstring- URL to POST results to when the batch is processed asynchronously (batches > 100).
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_create_broadcastCreate a draft email broadcast in Kit.WriteCreate Broadcast
Create a draft email broadcast in Kit. The broadcast is saved as a draft; scheduling and sending happen from the Kit UI.
Inputs
contentstringrequired- Email body content in HTML (required)
subjectstringrequired- Email subject line (required)
allow_starting_pointboolean- Set 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.
descriptionstring- Internal description for organizing broadcasts
email_template_idinteger- Email template ID. Use list_email_templates to find IDs.
preview_textstring- Preview text shown in email clients
publicboolean- Whether to publish on the creator's profile page
session_idstring- UUID 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_filterarray- Target 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_create_custom_fieldCreate a new custom subscriber field.WriteCreate Custom Field
Create a new custom subscriber field. Returns the created field record with its key.
- Idempotent
Inputs
labelstringrequired- Field label (required), e.g. 'Company' or 'Website'
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_create_landing_page[Beta] [Landing Pages] Create a landing page from a Kit-JSON content tree.WriteCreate Landing Page
[Beta] [Landing Pages] Create a landing page from a Kit-JSON content tree. This is an early release that intentionally supports creation only — there is no update or read-back path yet, and the set of supported blocks will grow over time. The page is created as an unpublished draft; after it returns, point the creator at Kit's editor to review, tweak, and publish. Build `content_tree` as an array of `section` blocks. A section contains either rows (a row holds 1-4 columns) or text blocks (heading/paragraph) directly. Text is an array of leaves with optional inline marks (bold/italic/underline/strikethrough/color/highlight). Colors are 6-digit hex (#RRGGBB). Omit attributes to accept the editor's defaults. Call `get_landing_page_schema` for the exact block shapes and allowed values, then build `content_tree` to match. Optionally set `theme` to control the page's default typography and colors per element type (headings, paragraph, links, buttons, etc.). It's a sibling to `content_tree`; send only the keys you want to change — anything omitted falls back to the default theme. If a subscribe form collects a custom field or applies tags, resolve the real ids first: call `list_custom_fields` / `list_tags`, then pass the resolved custom-field `key` and Tag `id`s into the form's fields. These reference existing account data — never invent a key or id. Optionally set `built_with_badge` (also a sibling) to control the "Built with Kit" branding badge; hiding it requires a paid plan. Returns: the landing page (`id`, `name`, `public_url`). The page is an unpublished draft, so `public_url` won't load until the creator publishes it — don't share it as a working link; point them to the editor to review and publish.
Inputs
content_treearrayrequired- The page content as a Kit-JSON content tree: an array of `section` blocks. Call get_landing_page_schema for the full block schema and allowed values, then build this to match. It's validated on submit — an invalid tree returns a 422 explaining what's wrong.
namestringrequired- Internal name for the landing page (required).
built_with_badgeobject- Control over the "Built with Kit" branding badge that renders at the bottom of the page. A sibling to content_tree/theme. Hiding it (show: false) requires a paid plan; on accounts without that entitlement the badge stays visible regardless of this setting.
session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
themeobject- Optional page-level theme: default typography and colors per element type (headings, paragraph, links, buttons, etc.). See get_landing_page_schema for the exact shape; send only the keys you want to change.
user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_create_product[Products] Create a Commerce product the creator can sell — a digital download, an external URL, a paid newsletter, or a tip jar.WriteCreate Product
[Products] Create a Commerce product the creator can sell — a digital download, an external URL, a paid newsletter, or a tip jar. Prerequisites: the account needs a verified domain for the product page (its default verified domain is used unless `domain_id` says otherwise; creating fails with a clear error if there is none). Stripe doesn't need to be connected to create the product, but the creator must connect it in Kit before the product can take payments — mention that if they haven't. Coupons and upsells aren't available here; the creator adds those in Kit. See `pricing` for the supported pricing models and each one's plan shape. Amounts are strings in the major currency unit (e.g. "5.00"). Before calling: prices and the billing model must come from the creator — ask, don't assume. Derive `path` from the product name and tell the creator the resulting public URL. Returns: the created product in the same shape as list_products entries — `id`, `name`, `currency`, `product_type`, `pricing_type`, `published`, `prices`, `max_quantity`, `tax_product_type`, `tax_code_id`, `file_name`, `edit_url` and the public page `url`.
Inputs
namestringrequired- Product name (required).
pathstringrequired- URL slug for the product's checkout/landing page, e.g. 'my-ebook' (required). Must be unique within the domain.
pricingobjectrequired- Pricing for the product (required). An object with `pricing_type` and `plans`. - 'standard': a single plan with an `amount`. - 'recurring' (a subscription): each plan needs `amount`, `interval` (always "month"), and `interval_count`; set the frequency via `interval_count` (1 = monthly, 3 = quarterly, 12 = yearly) and pass multiple plans to offer several. - 'tipjar': a single plan whose `amount` is the suggested tip (minimum "1.00"); use with product_type 'tipjar'. - 'pay_what_you_want': a single plan whose `amount` is the minimum the buyer must pay ("0.00" for no minimum, otherwise at least "1.00"); add an optional `suggested_amount` for the pre-filled default. - 'installments': a single plan whose `amount` is the total, split into `installments` equal charges (2 or more) billed monthly (`interval` "month", `interval_count` 1); each charge (amount / installments) must be at least "1.00".
product_typestringrequired- Fulfillment type (required). One of: 'download' (a hosted file — requires file_url and file_name), 'url' (an external URL — requires fulfillment_url), 'newsletter' (a paid newsletter subscription — no file or URL needed), 'something_else' (no specific fulfillment), 'tipjar' (a tip jar — use together with pricing_type 'tipjar').one of
downloadurlnewslettersomething_elsetipjar currencystring- ISO currency code for the product, e.g. 'USD'. Defaults to USD.default
USD domain_idinteger- ID of the verified domain that hosts the product page. Omit to use the account's default verified domain; pass one only to choose a specific domain — find the options with list_domains.
file_namestring- Display name of the delivered file. Required when product_type is 'download'.
file_urlstring- URL of the hosted file to deliver. Required when product_type is 'download'.
fulfillment_urlstring- External URL the buyer is sent to after purchase. Required when product_type is 'url'.
max_quantityinteger- Optional maximum quantity a buyer can purchase in one order. Only settable for standard pricing; must stay 1 for every other pricing type. 0 = unlimited.
session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
tax_code_idinteger- ID of the Kit tax code classifying this product for tax rates. Required (together with tax_product_type) only when the account has tax/VAT collection enabled. Use list_tax_codes to look up the available codes and pass the matching code's `id`.
tax_product_typestring- Tax classification of the product: 'good' or 'service'. Required (together with tax_code_id) only when the account has tax/VAT collection enabled — creation fails with a tax-configuration error otherwise. Leave out for accounts not collecting tax.one of
goodservice user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_create_sequenceCreate a new email sequence.WriteCreate Sequence
Create a new email sequence. Returns the sequence record including its ID.
Inputs
namestringrequired- Sequence name (required)
email_addressstring- From email address to use for this sequence
email_template_idinteger- Email template ID. Use list_email_templates to find IDs.
repeatboolean- Whether the sequence repeats for subscribers
send_daysarray- Days to send on (e.g. ['monday', 'wednesday', 'friday'])
send_hourinteger- Hour of day to send (0-23)
session_idstring- UUID 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_zonestring- Timezone for send scheduling (e.g. 'America/New_York')
user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_create_sequence_emailAdd a new email to an existing sequence at a specified position and delay.WriteCreate Sequence Email
Add a new email to an existing sequence at a specified position and delay.
Inputs
delay_unitstringrequired- 'days' or 'hours' (required)one of
dayshours delay_valueintegerrequired- Number of days or hours to wait before sending this email (required). Unit is controlled by delay_unit.
sequence_idintegerrequired- The sequence ID (required). Use list_sequences to find IDs.
subjectstringrequired- Email subject line (required)
contentstring- Email body content in HTML
email_template_idinteger- Layout template ID. Use list_email_templates to find IDs.
positioninteger- 0-based position in the sequence. Defaults to the end.
preview_textstring- Preview text shown in email clients
publishedboolean- Publish the email immediately (default: false)
send_daysarray- Days of the week this email may send. Omit or pass null to allow all days (inherits the sequence schedule).
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_create_snippetCreate a reusable content snippet (inline or block) for use in broadcasts and sequences.WriteCreate Snippet
Create a reusable content snippet (inline or block) for use in broadcasts and sequences.
Inputs
namestringrequired- Snippet name (required). Used to auto-generate the key.
snippet_typestringrequired- 'inline' or 'block' (required). Cannot be changed after creation.one of
inlineblock contentstring- Text/Liquid content for inline snippets (required when snippet_type is 'inline')
document_attributesobject- Rich HTML content for block snippets (required when snippet_type is 'block')
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_create_subscriberCreate or update a single subscriber by email address (upsert).WriteCreate Subscriber
Create or update a single subscriber by email address (upsert). Returns the subscriber record.
- Idempotent
Inputs
email_addressstringrequired- Subscriber's email address (required)
fieldsobject- Custom field values as key-value pairs
first_namestring- Subscriber's first name
session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
statestring- Subscriber state (default: active)one of
activecancelledbouncedcomplainedinactive user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_create_tagCreate a new tag.WriteCreate Tag
Create a new tag. Returns the tag record with its ID.
- Idempotent
Inputs
namestringrequired- Tag name (required)
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_create_webhookRegister a webhook endpoint to receive Kit events.WriteCreate Webhook
Register a webhook endpoint to receive Kit events. Returns the created webhook record.
Inputs
eventobjectrequired- Event configuration (required). Must include 'name' and optional filter IDs.
target_urlstringrequired- URL to receive webhook POST requests (required)
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_tag_subscriberApply a tag to a subscriber identified by email address.WriteTag Subscriber
Apply a tag to a subscriber identified by email address.
- Idempotent
Inputs
email_addressstringrequired- Subscriber's email address (required)
tag_idintegerrequired- The tag ID (required). Use list_tags to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_update_broadcastUpdate a draft broadcast's subject, content, or audience filter.WriteUpdate Broadcast
Update a draft broadcast's subject, content, or audience filter.
- Idempotent
Inputs
broadcast_idintegerrequired- The broadcast ID (required). Use list_broadcasts to find IDs.
contentstring- Email body content in HTML
descriptionstring- Internal description
email_template_idinteger- Email template ID
preview_textstring- Preview text shown in email clients
publicboolean- Whether to publish on the creator's profile page
session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
subjectstring- Email subject line
subscriber_filterarray- Target 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_update_colors[Account] Replace the brand color palette for this Kit account.WriteUpdate colors
[Account] Replace the brand color palette for this Kit account. Accepts up to 10 hex color codes (e.g. ["#FF6900", "#FCB900"]). Overwrites the existing palette entirely, so include every color you want to keep. Use list_colors first to fetch the current palette before editing.
- Idempotent
Inputs
colorsarrayrequired- Array of up to 10 hex color codes (e.g. ["#FF6900", "#FCB900"]). Replaces the existing palette entirely.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_update_custom_fieldRename a custom subscriber field by ID.WriteUpdate Custom Field
Rename a custom subscriber field by ID.
- Idempotent
Inputs
custom_field_idintegerrequired- The custom field ID (required). Use list_custom_fields to find IDs.
labelstringrequired- New field label (required)
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_update_product[Products] Update a Commerce product.WriteUpdate Product
[Products] Update a Commerce product. Only the fields you pass change — everything else keeps its current value, so to rename a product just send `name`. Omit any field you don't want to change. Fixed at creation and not updatable here: the pricing model (one-time vs subscription vs tip jar), the currency, and the fulfillment type (download vs URL vs newsletter) — for those, share the product's `edit_url` so the creator can change them in Kit. When you pass `pricing`, its `plans` replace the product's plans wholesale, so include every plan the product should end up with. Monetary amounts are strings in the major currency unit (e.g. "5.00" for $5.00). Before calling: price changes must come from the creator — never assume amounts. Changing `path` or `domain_id` changes the product's public URL; mention the new URL. Returns: the updated product in the same shape as list_products entries — `id`, `name`, `currency`, `product_type`, `pricing_type`, `published`, `prices`, `max_quantity`, `tax_product_type`, `tax_code_id`, `file_name`, `edit_url` and the public page `url`.
- Idempotent
Inputs
idintegerrequired- ID of the product to update (required). Find it with list_products.
domain_idinteger- ID of the verified domain that hosts the product page. Pass it to move the page to another of the account's verified domains — find the options with list_domains.
file_namestring- New display name of the delivered file. Only applies to 'download' products.
file_urlstring- New URL of the hosted file to deliver. Only applies to 'download' products.
fulfillment_urlstring- New URL the buyer is sent to after purchase. Only applies to 'url' products.
max_quantityinteger- New maximum quantity a buyer can purchase in one order. Only settable for standard pricing; must stay 1 for every other pricing type. 0 = unlimited.
namestring- New product name.
pathstring- New URL slug for the product's checkout/landing page, e.g. 'my-ebook'. Must be unique within the domain.
pricingobject- Replacement plans — they replace all current plans, and the pricing model can't change, so match the product's existing type. - 'standard': a single plan with an `amount`. - 'recurring' (a subscription): each plan needs `amount`, `interval` (always "month"), and `interval_count`; set the frequency via `interval_count` (1 = monthly, 3 = quarterly, 12 = yearly) and pass multiple plans for several. - 'tipjar': a single plan whose `amount` is the suggested tip. - 'pay_what_you_want': a single plan whose `amount` is the minimum ("0.00" for no minimum, otherwise at least "1.00"); add an optional `suggested_amount` for the pre-filled default. - 'installments': a single plan whose `amount` is the total, split into `installments` equal charges (2 or more) billed monthly (`interval` "month", `interval_count` 1); each charge (amount / installments) must be at least "1.00".
session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
tax_code_idinteger- ID of the Kit tax code classifying this product for tax rates. Only relevant when the account has tax/VAT collection enabled. Use list_tax_codes to look up the available codes and pass the matching code's `id`.
tax_product_typestring- Tax classification of the product: 'good' or 'service'. Only relevant when the account has tax/VAT collection enabled.one of
goodservice user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_update_sequenceUpdate sequence settings such as name, send days, or active state.WriteUpdate Sequence
Update sequence settings such as name, send days, or active state.
- Idempotent
Inputs
idintegerrequired- The sequence ID (required). Use list_sequences to find IDs.
activeboolean- Whether the sequence is active
email_addressstring- From email address
email_template_idinteger- Email template ID
holdboolean- Whether the sequence is on hold
namestring- New sequence name
repeatboolean- Whether the sequence repeats
send_daysarray- Days to send on
send_hourinteger- Hour of day to send (0-23)
session_idstring- UUID 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_zonestring- Timezone for send scheduling
user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_update_sequence_emailUpdate an existing sequence email's subject, content, delay, or position.WriteUpdate Sequence Email
Update an existing sequence email's subject, content, delay, or position.
- Idempotent
Inputs
idintegerrequired- The email ID (required). Use list_sequence_emails to find IDs.
sequence_idintegerrequired- The sequence ID (required). Use list_sequences to find IDs.
contentstring- Email body content in HTML
delay_unitstring- 'days' or 'hours'one of
dayshours delay_valueinteger- Number of days or hours to wait before sending this email. Unit is controlled by delay_unit.
email_template_idinteger- Layout template ID. Use list_email_templates to find IDs.
positioninteger- 0-based position in the sequence
preview_textstring- Preview text shown in email clients
publishedboolean- Publish or unpublish the email
send_daysarray- Days of the week this email may send. To reset to the full weekly schedule, pass all 7 values explicitly.
session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
subjectstring- Email subject line
user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_update_snippetUpdate a content snippet's name, content, or archived state.WriteUpdate Snippet
Update a content snippet's name, content, or archived state.
- Idempotent
Inputs
idintegerrequired- The snippet ID (required). Use list_snippets to find IDs.
archivedboolean- true to archive, false to restore
contentstring- New text/Liquid content (inline snippets only)
document_attributesobject- New HTML content (block snippets only)
namestring- New snippet name
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_update_subscriberUpdate a subscriber's email, name, or custom field values by subscriber ID.WriteUpdate Subscriber
Update a subscriber's email, name, or custom field values by subscriber ID.
- Idempotent
Inputs
subscriber_idintegerrequired- The subscriber ID (required). Use list_subscribers or filter_subscribers to find IDs.
email_addressstring- New email address
fieldsobject- Custom field values to update as key-value pairs
first_namestring- New first name
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_update_tag_name[Tags] Rename an existing tag.WriteUpdate tag name
[Tags] Rename an existing tag. Use list_tags to find the tag ID. Returns: the updated tag record.
- Idempotent
Inputs
namestringrequired- New tag name (required)
tag_idintegerrequired- The tag ID (required). Use list_tags to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_delete_broadcastDelete a draft broadcast by ID.DestructiveDelete Broadcast
Delete a draft broadcast by ID. Only draft broadcasts can be deleted.
- Idempotent
Inputs
broadcast_idintegerrequired- The broadcast ID to delete (required). Use list_broadcasts to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_delete_custom_fieldDelete a custom subscriber field by ID.DestructiveDelete Custom Field
Delete a custom subscriber field by ID.
- Idempotent
Inputs
custom_field_idintegerrequired- The custom field ID to delete (required). Use list_custom_fields to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_delete_sequenceDelete a sequence and all its emails by ID.DestructiveDelete Sequence
Delete a sequence and all its emails by ID.
- Idempotent
Inputs
idintegerrequired- The sequence ID to delete (required). Use list_sequences to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_delete_sequence_emailDelete a single email from a sequence by email ID and sequence ID.DestructiveDelete Sequence Email
Delete a single email from a sequence by email ID and sequence ID.
- Idempotent
Inputs
idintegerrequired- The email ID to delete (required). Use list_sequence_emails to find IDs.
sequence_idintegerrequired- The sequence ID (required). Use list_sequences to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_delete_webhookDelete a registered webhook by ID.DestructiveDelete Webhook
Delete a registered webhook by ID.
- Idempotent
Inputs
webhook_idintegerrequired- The webhook ID to delete (required). Use list_webhooks to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_remove_tag_from_subscriber[Tags] Remove a tag from a subscriber.DestructiveRemove tag from subscriber
[Tags] Remove a tag from a subscriber. For removing a tag from more than one subscriber at once, use bulk_remove_tags_from_subscribers instead. Use list_tags to find tag IDs, and list_subscribers_for_tag or get_subscriber to find subscriber IDs.
- Idempotent
Inputs
subscriber_idintegerrequired- The subscriber ID (required)
tag_idintegerrequired- The tag ID (required). Use list_tags to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_unsubscribeCancel a subscriber's subscription by subscriber ID.DestructiveUnsubscribe
Cancel a subscriber's subscription by subscriber ID.
- Idempotent
Inputs
subscriber_idintegerrequired- The subscriber ID (required). Use list_subscribers or get_subscriber to find IDs.
session_idstring- UUID 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_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
kitmcp_update_landing_page[Beta] [Landing Pages] Replace the content of an existing landing page.DestructiveUpdate Landing Page
[Beta] [Landing Pages] Replace the content of an existing landing page. Only pages built with the current (v2) editor can be updated — check `editor_version` from get_landing_page first; v1 pages can't be edited via the API. The page's content becomes exactly the `content_tree` you send (a full replace, not a merge). `theme` and `built_with_badge` are gentler: omitted keys keep the page's current values, so only send what you want to change. The intended workflow is read-edit-write: call get_landing_page, edit the returned `content_tree`, then call this tool. If the stored page contains content that can't be expressed as Kit-JSON (get_landing_page returned `is_clean: false`), a full replace would permanently lose the flagged parts, so the update is rejected with a conflict listing the warnings. Show the creator what would be lost, and only retry with `allow_content_loss: true` after they explicitly accept it. Never set it pre-emptively. Updating never publishes: a published page keeps serving its previous version until the creator republishes from the editor, and a draft stays a draft. Share the `confirm_url` so they can review and publish. If the creator has this page open in Kit's editor, tell them to reload it after the update — the editor doesn't pick up API changes on its own, and saving from a stale tab would overwrite them. Same content rules as create_landing_page: build `content_tree` as an array of `section` blocks, omit attributes to accept the editor's defaults, and resolve real tag ids / custom-field keys via list_tags / list_custom_fields — never invent them. Returns the updated page's metadata. To confirm the stored result, call get_landing_page again.
- Idempotent
Inputs
content_treearrayrequired- The page content as a Kit-JSON content tree: an array of `section` blocks. Call get_landing_page_schema for the full block schema and allowed values, then build this to match. It's validated on submit — an invalid tree returns a 422 explaining what's wrong.
idintegerrequired- The landing page ID
allow_content_lossboolean- Confirm replacing a page whose stored content can't be fully expressed as Kit-JSON, permanently discarding the parts listed in the conflict warnings. Only set true after the creator has seen what would be lost and explicitly accepted it.
built_with_badgeobject- Control over the "Built with Kit" branding badge that renders at the bottom of the page. A sibling to content_tree/theme; omitted keys keep the page's current badge settings. Hiding it (show: false) requires a paid plan.
namestring- New internal name for the landing page. Omit to keep the current name.
session_idstring- UUID v4 identifier for grouping tool calls in the same conversation. Generate once at the start of the session and reuse it on every call.
themeobject- Optional page-level theme: default typography and colors per element type (headings, paragraph, links, buttons, etc.). See get_landing_page_schema for the exact shape; send only the keys you want to change.
user_goalstring- What the creator is trying to accomplish with this tool call. Pick the closest match; use 'unknown' only when no category fits.one of
analyze_performanceaudit_list_healthfind_subscribersdraft_sequence_emaildraft_broadcast_emailmanage_audiencemanage_publishingoptimize_contentaccount_cleanupautomate_my_newsletterconnect_my_toolsunknown
No tools match.