kit-mcp
Enables comprehensive management of Kit (formerly ConvertKit) email marketing resources, including tools for managing subscribers, tags, broadcasts, forms, sequences, and custom fields, as well as tracking performance stats and performing bulk operations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kit-mcpShow me the performance stats for my last broadcast"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@dancumberland/kit-mcp
The most complete MCP server for Kit.com (formerly ConvertKit). 13 agent-optimized tools covering 100% of the Kit V4 API — including engagement analytics, bulk operations, and broadcast click tracking that no other Kit MCP offers.
How This Is Different
Other Kit MCP servers wrap each API endpoint as a separate tool (29+ tools). That approach breaks in practice:
@dancumberland/kit-mcp | Other Kit MCPs | |
Tool count | 13 composite tools (45 actions) | 29+ individual tools |
Engagement analytics | Per-subscriber open/click rates, batch comparison across 100 subscribers, engagement-based filtering | None |
Broadcast analytics | Per-broadcast stats, cross-broadcast comparison, per-link click tracking | Basic list/get only |
Bulk operations | Batch create subscribers, tags, form subscriptions (up to 10k per call) | None |
Response format | Formatted text summaries (agent-friendly) | Raw JSON (agent must parse) |
Rate limiting | Sliding window with automatic retry + exponential backoff | None |
Error recovery | Typed errors with actionable recovery hints | Generic errors |
Cursor compatible | 13 tools (well under 40-tool limit) | 29+ tools (risks hitting limit) |
Token overhead | ~3,200 tokens for all tool definitions | ~8,000+ tokens |
Engagement Analytics (Exclusive)
This is the only Kit MCP that can answer "who are my most engaged subscribers?":
> Find my most engaged 100 subscribers who've been on my list over 6 months
Subscriber Comparison (100 of 100 loaded, sorted by open rate):
1. Alice <alice@example.com> — Open: 82.3% | Click: 24.1% | Sent: 95 | Last open: 2026-03-15 (ID: 456)
2. Bob <bob@example.com> — Open: 71.0% | Click: 18.5% | Sent: 102 | Last open: 2026-03-14 (ID: 789)
...Other Kit MCPs can list subscribers and get basic profiles, but can't fetch engagement stats, compare across subscribers, or filter by engagement metrics.
Related MCP server: Mailchimp MCP Server
What This Does
Connects any MCP client (Claude Desktop, Claude Code, Cursor, Windsurf, etc.) to your Kit.com email marketing account. Ask questions naturally:
"How many subscribers do I have and how's my list growing?"
"Show me my broadcast stats from last week"
"Find my most engaged subscribers from the past 6 months"
"Tag everyone who signed up through my landing page"
"Create a draft broadcast for my newsletter"
"Which links got the most clicks in my last broadcast?"
No coding required — just set it up and start talking.
Prerequisites
Node.js 22+ — Download from nodejs.org. Check with
node --version.A Kit.com account — Free or paid, any plan.
Your Kit API key — kit.com → Account Settings → Developer. Starts with
kit_.
Setup: Claude Desktop App (Recommended)
Step 1: Find your config file
Mac:
open ~/Library/Application\ Support/Claude/Open claude_desktop_config.json in any text editor.
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonStep 2: Add the Kit MCP server
If the file is empty or doesn't exist, paste this (replace your-kit-api-key with your actual key):
{
"mcpServers": {
"kit": {
"command": "npx",
"args": ["-y", "@dancumberland/kit-mcp@latest"],
"env": {
"KIT_API_KEY": "your-kit-api-key"
}
}
}
}If you already have other MCP servers, add "kit" inside the existing "mcpServers" block with a comma after the previous entry.
Step 3: Restart Claude Desktop
Fully quit (not just close the window) and reopen.
Step 4: Verify it works
Test my Kit connection
Claude should respond with your account name, auth method, and rate limit.
Setup: Claude Desktop with Cowork
Cowork is Claude Desktop's background agent. After completing the setup above, Cowork automatically has access to your Kit tools.
Example tasks:
"Every morning at 8am, summarize my subscriber growth and email performance from the last 24 hours."
"Every Monday at 9am, compare my broadcast stats from the past week — open rates, click rates, and unsubscribes."
"Every Friday, list all tags with fewer than 10 subscribers (candidates for cleanup)."
Setup: Claude Code (CLI)
Add to .claude/settings.local.json or ~/.claude/settings.json:
{
"mcpServers": {
"kit": {
"command": "npx",
"args": ["-y", "@dancumberland/kit-mcp@latest"],
"env": {
"KIT_API_KEY": "your-kit-api-key"
}
}
}
}Setup: Cursor
Open Settings (Cmd+,)
Search for "MCP"
Click "Add MCP Server"
Add:
{
"kit": {
"command": "npx",
"args": ["-y", "@dancumberland/kit-mcp@latest"],
"env": {
"KIT_API_KEY": "your-kit-api-key"
}
}
}Tools
Tool | Actions | What You Can Do |
| 10 | Find, list, create, update, unsubscribe, view stats, compare engagement across up to 100 subscribers, find top engaged subscribers in one call, filter by status/tags, filter by engagement metrics |
| 6 | List, create, update, tag/untag subscribers, list tagged |
| 8 | List, get, create drafts, update, delete, view stats, compare stats across broadcasts, analyze per-link click data |
| 3 | List forms, list subscribers, add subscriber |
| 3 | List sequences, add subscriber, list subscribers |
| 4 | List, create, update, delete |
| 3 | List, get, create (OAuth required) |
| 1 | List segments |
| 3 | List, create, delete |
| 1 | List templates |
| — | Full account overview with email and growth stats |
| — | Verify your API key works |
| 7 | Batch subscriber/tag/form/field operations (OAuth required) |
Things You Can Ask
What You Say | What Happens |
"How's my email list doing?" | Account stats, subscriber count, growth trends |
"Find dan@example.com" | Subscriber profile with tags, custom fields, engagement stats |
"Who are my most engaged subscribers?" | Engagement-filtered list ranked by open/click rates |
"Show me my recent broadcasts" | Broadcasts with status (draft/scheduled/sent) |
"How did my last broadcast perform?" | Open rate, click rate, unsubscribes, per-link click data |
"Which links got the most clicks?" | Per-link click analytics for any broadcast |
"Compare my broadcast performance" | Side-by-side stats across all broadcasts |
"Create a tag called vip-customers" | Creates the tag in Kit |
"Tag dan@example.com with vip-customers" | Applies the tag |
"Draft a broadcast with subject 'Big News'" | Creates a draft (doesn't send) |
Authentication
API Key (covers most features): Get at kit.com → Developer. Set as KIT_API_KEY.
OAuth Token (optional, for purchases and bulk operations): Set KIT_OAUTH_TOKEN alongside your API key.
{
"env": {
"KIT_API_KEY": "your-api-key",
"KIT_OAUTH_TOKEN": "your-oauth-token"
}
}Rate limits enforced automatically: 120 req/min (API key) or 600 req/min (OAuth), with retry + backoff on 429s.
Architecture: Why 13 Tools Instead of 29+
Most MCP servers create one tool per API endpoint. For Kit's API, that means 29+ tools — which causes real problems:
Context bloat — 8,000+ tokens just for tool definitions, leaving less room for your actual conversation
Poor accuracy — AI tool selection degrades measurably beyond 20 tools (research)
Compatibility — Cursor has a hard limit of 40 tools across all servers; 29 tools from one server leaves almost no room for others
This server uses 13 composite tools with a discriminated action parameter. Same API coverage, 60% fewer tokens, better accuracy. Each tool groups related operations (e.g., all subscriber actions under manage_subscribers) so the AI picks the right tool on the first try.
Error Handling
Errors include recovery hints that Claude can act on:
Error 401: Invalid API key
Recovery: Check your KIT_API_KEY. Find your key at kit.com → Account Settings → Developer.429 (rate limit): Automatic retry with exponential backoff, up to 3 attempts
5xx (server error): Automatic retry once
422 (validation): No retry — returns the error immediately with a fix suggestion
Troubleshooting
Problem | Solution |
"Cannot find module" or npx errors | Make sure Node.js 22+ is installed: |
"Invalid API key" | Double-check your key at kit.com → Developer |
Tools don't appear in Claude | Fully quit and restart Claude Desktop (not just close the window) |
"requires OAuth authentication" |
|
Rate limit errors | Automatic — the server retries with backoff. If persistent, wait 60 seconds |
Development
npm install
npm run dev # Watch mode
npm run build # Production build
npm test # Unit tests (179 tests)
npm run test:int # Integration tests (requires KIT_API_KEY)
npm run lint # Biome check
npm run typecheck # TypeScript checkLicense
MIT
Available Tools
13 toolsbulk_operationsA
Batch operations for large-scale subscriber management. Requires OAuth authentication. Actions: create_subscribers, create_tags, tag_subscribers, untag_subscribers, add_to_forms, create_custom_fields, update_custom_fields
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds value by stating 'Requires OAuth authentication' (a key behavioral trait) and listing specific actions (create_subscribers, etc.), which hints at mutation capabilities. However, it doesn't describe rate limits, error handling, or what 'large-scale' entails operationally, leaving gaps in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose ('Batch operations for large-scale subscriber management') followed by authentication requirement and action list. Each sentence adds value, though the action list could be more structured (e.g., grouped or explained). There's minimal waste, making it efficient but not perfectly optimized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, 0 parameters, and no output schema, the description is moderately complete. It covers purpose, authentication, and actions, but lacks details on return values, error cases, or how to invoke the listed actions (e.g., parameter formats). For a tool with 'bulk' in the name and multiple implied operations, more context on usage patterns would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so the description doesn't need to compensate for missing param info. The description lists actions like 'create_subscribers' and 'tag_subscribers', which implicitly suggest possible parameters or operations, adding semantic context beyond the empty schema. This justifies a score above the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Batch operations for large-scale subscriber management' with a specific verb ('operations') and resource ('subscriber management'). It distinguishes from siblings like 'manage_subscribers' by emphasizing batch/large-scale capabilities, though it doesn't explicitly contrast them. The listed actions (create_subscribers, create_tags, etc.) further clarify scope but don't fully differentiate from all sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through 'large-scale subscriber management' and 'Requires OAuth authentication', suggesting it's for bulk operations needing authentication. However, it lacks explicit guidance on when to use this versus alternatives like 'manage_subscribers' or other sibling tools, and provides no exclusions or prerequisites beyond authentication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accountB
Get a comprehensive overview of your Kit account including creator profile, email stats, and subscriber growth.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves data ('Get'), implying a read-only operation, but doesn't specify aspects like authentication requirements, rate limits, or data freshness. It adds some context about the data scope but lacks details on behavioral traits beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the tool's purpose and data scope without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (simple read operation with 0 parameters) and lack of annotations or output schema, the description is adequate but has gaps. It explains what data is retrieved but doesn't cover behavioral aspects like permissions or response format, which could be important for a read tool in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't mention parameters, which is appropriate given the schema. Baseline is 4 for 0 parameters, as it doesn't need to compensate for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('comprehensive overview of your Kit account'), and it details the included data types (creator profile, email stats, subscriber growth). It doesn't explicitly differentiate from sibling tools, but the specificity of the data scope makes it distinct from management-oriented siblings like 'manage_subscribers' or 'manage_tags'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving account-level summary data, but it doesn't provide explicit guidance on when to use this tool versus alternatives (e.g., vs. more granular sibling tools). The context is clear for general account overview, but no exclusions or specific scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_broadcastsC
Manage Kit email broadcasts — list with status filter, get details, create drafts or scheduled sends, update, delete, view performance stats, compare stats across all broadcasts, or analyze per-link click data. Actions: list, get, create, update, delete, stats, list_stats, get_clicks
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions actions like 'create drafts or scheduled sends' and 'delete,' it doesn't clarify permission requirements, whether deletions are reversible, rate limits, or what happens to associated data. For a multi-action tool with zero annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise but could be better structured. It front-loads the purpose but mixes actions with examples (e.g., 'list with status filter' alongside 'list'). The final sentence listing actions feels redundant after the earlier examples. Some trimming could improve flow without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex multi-action tool with no annotations and no output schema, the description is insufficient. It doesn't explain how to invoke different actions (e.g., via parameters or separate endpoints), what outputs to expect for stats or clicks, or error conditions. Given the richness of possible operations, more contextual detail is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the tool's actions and scope. This meets expectations for a parameterless tool, though it doesn't explain how actions are selected without parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages Kit email broadcasts and lists specific actions (list, get, create, update, delete, stats, list_stats, get_clicks), providing a comprehensive overview of its functionality. However, it doesn't explicitly differentiate this broadcast management tool from sibling tools like manage_email_templates or manage_sequences, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists available actions but provides no guidance on when to use this tool versus alternatives like manage_email_templates for template-related tasks or manage_sequences for sequence management. There's no mention of prerequisites, dependencies, or contextual constraints for selecting among these sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_custom_fieldsB
Manage Kit custom subscriber fields — list all fields, create, rename, or delete (destructive). Actions: list, create, update, delete
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral context beyond annotations (which are absent). It explicitly notes that delete is 'destructive', which is useful for safety awareness. However, it lacks details on permissions, rate limits, response formats, or error handling, leaving significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in the first clause. However, the list of actions ('list, create, update, delete') could be integrated more smoothly, and the second sentence is somewhat redundant with the first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (managing fields with destructive operations), no annotations, and no output schema, the description is incomplete. It covers basic actions and a safety warning but lacks details on input/output formats, error cases, or integration with sibling tools, which are needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and 100% schema description coverage, the baseline is high. The description implies that actions are determined internally (e.g., 'list, create, update, delete'), but since there are no parameters, this doesn't add semantic value beyond what the empty schema already indicates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: managing custom subscriber fields with specific actions (list, create, update, delete). It specifies the resource ('Kit custom subscriber fields') and verbs ('manage'), though it doesn't explicitly differentiate from sibling tools like 'manage_subscribers' or 'manage_tags'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. While the description mentions actions like 'list, create, update, delete', it doesn't specify prerequisites, appropriate contexts, or when to choose other tools like 'manage_subscribers' or 'bulk_operations' for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_email_templatesA
List Kit email templates — returns template IDs and names needed for creating broadcasts. Actions: list
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the action ('list') and output details ('template IDs and names'), which helps understand behavior. However, it lacks information on permissions, rate limits, pagination, or error handling. For a read-only list tool with zero annotations, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main purpose ('List Kit email templates'). The additional context about output use is relevant. It could be slightly more structured but avoids redundancy and wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and simple zero-parameter input, the description is moderately complete. It explains what the tool does and the output's utility, but lacks details on return format (e.g., JSON structure), error cases, or operational constraints. For a list tool, this is minimally viable but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, which is fine here. Baseline is 4 for zero parameters, as the schema fully covers the absence of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List Kit email templates' specifies the verb (list) and resource (email templates). It distinguishes from siblings like manage_broadcasts or manage_sequences by focusing on templates, but doesn't explicitly contrast with them. The phrase 'returns template IDs and names needed for creating broadcasts' adds useful context about the output's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through 'needed for creating broadcasts,' suggesting this tool provides data for another operation. However, it doesn't explicitly state when to use this versus alternatives (e.g., if other tools also list templates) or provide clear exclusions. The guidance is present but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_formsB
Manage Kit forms — list all forms, list subscribers who opted in through a form, or add a subscriber to a form (triggers double opt-in if enabled). Actions: list, list_subscribers, add_subscriber
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that adding a subscriber triggers double opt-in if enabled, which is valuable behavioral context. However, it doesn't cover other important aspects like authentication requirements, rate limits, error conditions, or what happens when listing forms with no data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured. It uses a single sentence to explain the tool's purpose and actions, with no wasted words. Every element earns its place, and the information is front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and zero parameters, the description provides adequate but minimal context. It explains what the tool does and mentions the double opt-in behavior, but doesn't cover return formats, error handling, or integration with sibling tools. For a tool with three distinct actions, more detail about outputs would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so there are no parameters to document. The description appropriately doesn't waste space discussing nonexistent parameters. A baseline of 4 is appropriate for zero-parameter tools where the schema already indicates no inputs are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: managing Kit forms with three specific actions (list forms, list subscribers, add subscriber). It uses specific verbs and resources, but doesn't explicitly differentiate from sibling tools like manage_subscribers or manage_segments that might overlap in subscriber management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description lists actions but doesn't explain when to choose list_subscribers here versus manage_subscribers, or when form-based subscriber management is appropriate versus other subscriber management approaches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_purchasesC
Manage Kit purchases — list, get details, or record a new purchase. Requires OAuth authentication. Actions: list, get, create
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions OAuth authentication, which is useful, but lacks details on other traits like rate limits, whether 'create' is destructive or idempotent, or what the response format looks like. The description is minimal and doesn't compensate for the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and actions in a single, efficient sentence, followed by authentication and action details. It avoids unnecessary words, but could be slightly more structured by separating usage instructions from behavioral notes for better clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (managing purchases with multiple actions), no annotations, and no output schema, the description is incomplete. It doesn't explain return values, error handling, or how to specify actions (e.g., via parameters or context), leaving significant gaps for an AI agent to understand full usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description adds value by specifying the actions (list, get, create), which implies how to use the tool despite the empty schema. This exceeds the baseline of 3 for high schema coverage by providing operational context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool manages Kit purchases with three specific actions (list, get details, create), which provides a clear purpose. However, it doesn't distinguish this tool from its sibling tools like 'manage_subscribers' or 'manage_tags' that likely follow similar patterns, and the phrase 'manage' is somewhat broad rather than a specific verb like 'process purchases'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'Requires OAuth authentication,' which provides some context for prerequisites, but it offers no guidance on when to use this tool versus alternatives like 'bulk_operations' or other 'manage_' siblings. There are no explicit when/when-not statements or named alternatives, leaving usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_segmentsA
List Kit subscriber segments (read-only — segments are created in the Kit UI). Actions: list
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well: 'read-only' clearly indicates non-destructive behavior, and 'segments are created in the Kit UI' explains the creation constraint. It doesn't mention rate limits, authentication needs, or response format, but provides essential behavioral context for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise: three short phrases that each add value. 'List Kit subscriber segments' states the core purpose, '(read-only — segments are created in the Kit UI)' provides crucial behavioral context, and 'Actions: list' reinforces the operation. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with no annotations and no output schema, the description is adequate but has gaps. It explains what the tool does and its read-only nature, but doesn't describe what the output looks like (list format, fields returned) or any error conditions. Given the simplicity, it's minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and instead focuses on the tool's purpose and constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List Kit subscriber segments' specifies both the verb (list) and resource (subscriber segments). It distinguishes itself from siblings like 'manage_subscribers' or 'manage_tags' by focusing specifically on segments. However, it doesn't explicitly differentiate from all siblings, just implies scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context: 'segments are created in the Kit UI' implies this tool is for viewing only, not creation. It mentions 'Actions: list' which clarifies the available operation. However, it doesn't explicitly state when to use this versus alternatives like 'manage_subscribers' for subscriber-level operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_sequencesB
Manage Kit email sequences — list all sequences, enroll a subscriber, or list subscribers in a sequence. Actions: list, add_subscriber, list_subscribers
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions actions (list, add_subscriber, list_subscribers) but lacks critical details: it doesn't specify required permissions, rate limits, side effects (e.g., whether add_subscriber sends emails), or response formats. For a tool with multiple actions and no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured in a single sentence, listing actions clearly without unnecessary words. It front-loads the purpose and actions efficiently. However, it could be slightly improved by organizing actions into a bulleted list or separating them more distinctly, but this is minor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (managing sequences with multiple actions), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error conditions, or behavioral nuances like how 'add_subscriber' interacts with sequences. For a multi-action tool without structured support, more detail is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so there are no parameters to document. The description doesn't need to add parameter semantics, and it appropriately avoids discussing nonexistent parameters. A baseline score of 4 is applied since the schema fully handles the parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: managing Kit email sequences with three specific actions (list, add_subscriber, list_subscribers). It specifies the resource (email sequences) and verbs (manage, list, enroll, list subscribers), making the purpose unambiguous. However, it doesn't explicitly differentiate this from sibling tools like manage_broadcasts or manage_subscribers, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lists actions but doesn't indicate scenarios for choosing this over sibling tools like manage_subscribers or manage_broadcasts, nor does it mention prerequisites or exclusions. This leaves the agent without contextual usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_subscribersA
Manage Kit subscribers. To find most engaged subscribers, use 'top_engaged' — returns subscribers ranked by open rate in one call. For individual stats use 'stats'. 'list' and 'filter' return profiles only, NOT engagement data. Actions: find, list, create, update, unsubscribe, stats, compare_stats, top_engaged, filter, engagement_filter
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it lists actions, it doesn't explain what each action does (e.g., what 'create' entails, how 'unsubscribe' works, or what 'compare_stats' compares), nor does it cover permissions, rate limits, or error handling. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat structured with usage guidance upfront and a list of actions, but it's verbose and could be more streamlined. For example, the list of actions is long and repetitive (e.g., 'stats' and 'compare_stats' might overlap), and the sentence about 'list' and 'filter' could be integrated more smoothly. It's not front-loaded optimally, as the key purpose is buried among details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (multiple actions listed) and no annotations or output schema, the description is incomplete. It lists actions but doesn't explain what they return or how they behave, leaving the agent to guess. For a tool with no structured data support, it should provide more behavioral context to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description doesn't mention any parameters, which is appropriate since there are none. It adds value by listing actions, but since there are no parameters to explain, it meets the baseline for this scenario.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages Kit subscribers and lists specific actions (find, list, create, update, unsubscribe, stats, compare_stats, top_engaged, filter, engagement_filter), providing a comprehensive overview of its functionality. However, it doesn't explicitly differentiate this tool from sibling tools like 'manage_segments' or 'manage_tags', which might also involve subscriber management aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use alternatives: it specifies that 'top_engaged' should be used to find most engaged subscribers, 'stats' for individual stats, and clarifies that 'list' and 'filter' return profiles only without engagement data. This clearly delineates usage scenarios and prevents misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_tagsA
Manage Kit tags — list all tags, create, rename, apply/remove tags on subscribers, or list subscribers with a specific tag. Actions: list, create, update, tag_subscriber, untag_subscriber, list_subscribers
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it lists actions, it doesn't describe behavioral traits like required permissions, whether operations are reversible, rate limits, or what happens on errors. For a multi-action tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences: the first states the overall purpose and scope, the second lists specific actions. Every phrase adds value, with no redundant information. It could be slightly more concise by combining the action list into a single sentence, but it's already well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple actions) and lack of annotations or output schema, the description provides a good overview but has gaps. It covers what the tool does but doesn't address behavioral aspects like permissions, side effects, or response formats. For a tool with no structured metadata, this is adequate but incomplete for safe agent operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on actions. This meets the baseline for tools with no parameters, as it doesn't need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs and resources: 'manage Kit tags' followed by detailed actions including 'list all tags, create, rename, apply/remove tags on subscribers, or list subscribers with a specific tag'. It distinguishes from siblings like 'manage_subscribers' or 'manage_segments' by focusing specifically on tag operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool by listing specific actions (list, create, update, tag_subscriber, untag_subscriber, list_subscribers). However, it doesn't explicitly state when NOT to use it or mention alternatives among sibling tools, such as when to use 'manage_subscribers' versus this tool for subscriber-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_webhooksB
Manage Kit webhooks — list registered webhooks, create new webhook subscriptions for Kit events, or delete webhooks. Actions: list, create, delete
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions actions but lacks behavioral details: it doesn't specify permissions needed, rate limits, whether deletions are reversible, or what events trigger webhooks. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in the first phrase. Both sentences earn their place by specifying actions and scope, though it could be slightly more structured (e.g., separating actions into a list).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (managing webhooks with create/delete mutations), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error conditions, or behavioral nuances, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, but that's acceptable here. A baseline of 4 is appropriate since the schema fully handles parameters, and the description doesn't need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: managing Kit webhooks with specific actions (list, create, delete). It uses specific verbs and identifies the resource (webhooks), but doesn't distinguish from sibling tools like manage_broadcasts or manage_sequences, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lists actions but doesn't specify contexts, prerequisites, or exclusions. Without such guidance, the agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_connectionA
Verify your Kit API key is valid and check connection status. Use this as the first tool call to confirm setup.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It effectively communicates that this is a verification/checking operation (non-destructive) and implies it requires a valid API key. However, it doesn't specify response format, error conditions, or rate limits, leaving some behavioral aspects unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with two sentences that each earn their place. The first states the purpose, the second provides usage guidance. No wasted words, and the most important information (what it does) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter verification tool with no annotations or output schema, the description is nearly complete. It explains purpose, usage context, and implicit requirements. The only gap is lack of information about what specific status information or errors might be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and 100% schema description coverage, the baseline would be 4. The description adds value by explaining the implicit context: it verifies 'your Kit API key' and 'connection status', providing semantic meaning beyond the empty parameter schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('verify', 'check') and resources ('Kit API key', 'connection status'). It explicitly distinguishes this from sibling tools by positioning it as a setup verification tool, unlike the management-focused siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Use this as the first tool call to confirm setup.' This clearly indicates when to use this tool (initial setup verification) versus when to use sibling tools (ongoing management operations).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
13 tool updates
v1.4.0- First observed
bulk_operations - First observed
get_account - First observed
manage_broadcasts - First observed
manage_custom_fields - First observed
manage_email_templates - First observed
manage_forms - First observed
manage_purchases - First observed
manage_segments - First observed
manage_sequences - First observed
manage_subscribers - First observed
manage_tags - First observed
manage_webhooks - First observed
test_connection
TDQS
Scored across 13 tools
Every tool has a clearly distinct purpose targeting specific Kit resources like subscribers, broadcasts, tags, or webhooks, with no overlap in functionality. The descriptions explicitly differentiate actions, such as manage_subscribers for profiles vs. bulk_operations for batch tasks, preventing agent misselection.
All tools follow a consistent verb_noun pattern (e.g., manage_subscribers, get_account, test_connection), with no deviations in style or casing. This predictability makes the tool set easy to navigate and understand at a glance.
With 13 tools, the server is well-scoped for comprehensive Kit platform management, covering account info, subscribers, broadcasts, tags, forms, and more. Each tool earns its place by addressing distinct aspects of the domain without being overly broad or sparse.
The tool set provides complete CRUD/lifecycle coverage for Kit's domain, including creation, retrieval, updating, deletion, and analytics across all key resources like subscribers, broadcasts, tags, and webhooks. There are no obvious gaps, ensuring agents can handle end-to-end workflows without dead ends.
Maintenance
Related MCP Connectors
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
LinkedIn outreach MCP server — 19 tools for AI agents to prospect, sequence, and manage contacts.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that interfaces with the Mailchimp Marketing API to manage audiences, email campaigns, and subscribers. It enables users to create and schedule campaigns, handle member lists, and send test or live emails through natural language commands.1316 npmMIT
- AlicenseBqualityCmaintenanceA production-grade MCP server that integrates with the Mailchimp Marketing API to manage campaigns, audiences, members, and reports. It provides 28 specialized tools for automating marketing tasks such as sending emails, managing subscriber tags, and analyzing performance data.711MIT
- AlicenseAqualityDmaintenanceAn MCP server for the PostStack email API that enables AI assistants to send transactional emails, manage contacts, handle inbound email threads, and perform deliverability checks through 84 curated tools.8424 npm1MIT
- AlicenseBqualityFmaintenanceConnects AI assistants to the Kit.com (formerly ConvertKit) email marketing platform, enabling management of subscribers, tags, sequences, broadcasts, and more through natural language.2926 npm4MIT