{
  "markdown": "# @dancumberland/kit-mcp\n\nThe most complete MCP server for [Kit.com](https://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.\n\n## How This Is Different\n\nOther Kit MCP servers wrap each API endpoint as a separate tool (29+ tools). That approach breaks in practice:\n\n| | **@dancumberland/kit-mcp** | **Other Kit MCPs** |\n|---|---|---|\n| **Tool count** | 13 composite tools (45 actions) | 29+ individual tools |\n| **Engagement analytics** | Per-subscriber open/click rates, batch comparison across 100 subscribers, engagement-based filtering | None |\n| **Broadcast analytics** | Per-broadcast stats, cross-broadcast comparison, per-link click tracking | Basic list/get only |\n| **Bulk operations** | Batch create subscribers, tags, form subscriptions (up to 10k per call) | None |\n| **Response format** | Formatted text summaries (agent-friendly) | Raw JSON (agent must parse) |\n| **Rate limiting** | Sliding window with automatic retry + exponential backoff | None |\n| **Error recovery** | Typed errors with actionable recovery hints | Generic errors |\n| **Cursor compatible** | 13 tools (well under 40-tool limit) | 29+ tools (risks hitting limit) |\n| **Token overhead** | ~3,200 tokens for all tool definitions | ~8,000+ tokens |\n\n### Engagement Analytics (Exclusive)\n\nThis is the only Kit MCP that can answer \"who are my most engaged subscribers?\":\n\n```\n> Find my most engaged 100 subscribers who've been on my list over 6 months\n\nSubscriber Comparison (100 of 100 loaded, sorted by open rate):\n\n  1. Alice <alice@example.com> — Open: 82.3% | Click: 24.1% | Sent: 95 | Last open: 2026-03-15 (ID: 456)\n  2. Bob <bob@example.com> — Open: 71.0% | Click: 18.5% | Sent: 102 | Last open: 2026-03-14 (ID: 789)\n  ...\n```\n\nOther Kit MCPs can list subscribers and get basic profiles, but can't fetch engagement stats, compare across subscribers, or filter by engagement metrics.\n\n## What This Does\n\nConnects any MCP client (Claude Desktop, Claude Code, Cursor, Windsurf, etc.) to your Kit.com email marketing account. Ask questions naturally:\n\n- \"How many subscribers do I have and how's my list growing?\"\n- \"Show me my broadcast stats from last week\"\n- \"Find my most engaged subscribers from the past 6 months\"\n- \"Tag everyone who signed up through my landing page\"\n- \"Create a draft broadcast for my newsletter\"\n- \"Which links got the most clicks in my last broadcast?\"\n\nNo coding required — just set it up and start talking.\n\n## Prerequisites\n\n1. **Node.js 22+** — Download from [nodejs.org](https://nodejs.org). Check with `node --version`.\n2. **A Kit.com account** — Free or paid, any plan.\n3. **Your Kit API key** — [kit.com → Account Settings → Developer](https://app.kit.com/account/developer). Starts with `kit_`.\n\n## Setup: Claude Desktop App (Recommended)\n\n### Step 1: Find your config file\n\n**Mac:**\n```bash\nopen ~/Library/Application\\ Support/Claude/\n```\nOpen `claude_desktop_config.json` in any text editor.\n\n**Windows:**\n```\n%APPDATA%\\Claude\\claude_desktop_config.json\n```\n\n### Step 2: Add the Kit MCP server\n\nIf the file is empty or doesn't exist, paste this (replace `your-kit-api-key` with your actual key):\n\n```json\n{\n  \"mcpServers\": {\n    \"kit\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dancumberland/kit-mcp@latest\"],\n      \"env\": {\n        \"KIT_API_KEY\": \"your-kit-api-key\"\n      }\n    }\n  }\n}\n```\n\nIf you already have other MCP servers, add `\"kit\"` inside the existing `\"mcpServers\"` block with a comma after the previous entry.\n\n### Step 3: Restart Claude Desktop\n\nFully quit (not just close the window) and reopen.\n\n### Step 4: Verify it works\n\n> Test my Kit connection\n\nClaude should respond with your account name, auth method, and rate limit.\n\n## Setup: Claude Desktop with Cowork\n\n[Cowork](https://www.anthropic.com/research/cowork) is Claude Desktop's background agent. After completing the setup above, Cowork automatically has access to your Kit tools.\n\n**Example tasks:**\n\n- \"Every morning at 8am, summarize my subscriber growth and email performance from the last 24 hours.\"\n- \"Every Monday at 9am, compare my broadcast stats from the past week — open rates, click rates, and unsubscribes.\"\n- \"Every Friday, list all tags with fewer than 10 subscribers (candidates for cleanup).\"\n\n## Setup: Claude Code (CLI)\n\nAdd to `.claude/settings.local.json` or `~/.claude/settings.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"kit\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dancumberland/kit-mcp@latest\"],\n      \"env\": {\n        \"KIT_API_KEY\": \"your-kit-api-key\"\n      }\n    }\n  }\n}\n```\n\n## Setup: Cursor\n\n1. Open Settings (Cmd+,)\n2. Search for \"MCP\"\n3. Click \"Add MCP Server\"\n4. Add:\n\n```json\n{\n  \"kit\": {\n    \"command\": \"npx\",\n    \"args\": [\"-y\", \"@dancumberland/kit-mcp@latest\"],\n    \"env\": {\n      \"KIT_API_KEY\": \"your-kit-api-key\"\n    }\n  }\n}\n```\n\n## Tools\n\n| Tool | Actions | What You Can Do |\n|------|---------|-----------------|\n| `manage_subscribers` | 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 |\n| `manage_tags` | 6 | List, create, update, tag/untag subscribers, list tagged |\n| `manage_broadcasts` | 8 | List, get, create drafts, update, delete, view stats, compare stats across broadcasts, analyze per-link click data |\n| `manage_forms` | 3 | List forms, list subscribers, add subscriber |\n| `manage_sequences` | 3 | List sequences, add subscriber, list subscribers |\n| `manage_custom_fields` | 4 | List, create, update, delete |\n| `manage_purchases` | 3 | List, get, create (OAuth required) |\n| `manage_segments` | 1 | List segments |\n| `manage_webhooks` | 3 | List, create, delete |\n| `manage_email_templates` | 1 | List templates |\n| `get_account` | — | Full account overview with email and growth stats |\n| `test_connection` | — | Verify your API key works |\n| `bulk_operations` | 7 | Batch subscriber/tag/form/field operations (OAuth required) |\n\n## Things You Can Ask\n\n| What You Say | What Happens |\n|-------------|--------------|\n| \"How's my email list doing?\" | Account stats, subscriber count, growth trends |\n| \"Find dan@example.com\" | Subscriber profile with tags, custom fields, engagement stats |\n| \"Who are my most engaged subscribers?\" | Engagement-filtered list ranked by open/click rates |\n| \"Show me my recent broadcasts\" | Broadcasts with status (draft/scheduled/sent) |\n| \"How did my last broadcast perform?\" | Open rate, click rate, unsubscribes, per-link click data |\n| \"Which links got the most clicks?\" | Per-link click analytics for any broadcast |\n| \"Compare my broadcast performance\" | Side-by-side stats across all broadcasts |\n| \"Create a tag called vip-customers\" | Creates the tag in Kit |\n| \"Tag dan@example.com with vip-customers\" | Applies the tag |\n| \"Draft a broadcast with subject 'Big News'\" | Creates a draft (doesn't send) |\n\n## Authentication\n\n**API Key** (covers most features): Get at [kit.com → Developer](https://app.kit.com/account/developer). Set as `KIT_API_KEY`.\n\n**OAuth Token** (optional, for purchases and bulk operations): Set `KIT_OAUTH_TOKEN` alongside your API key.\n\n```json\n{\n  \"env\": {\n    \"KIT_API_KEY\": \"your-api-key\",\n    \"KIT_OAUTH_TOKEN\": \"your-oauth-token\"\n  }\n}\n```\n\nRate limits enforced automatically: 120 req/min (API key) or 600 req/min (OAuth), with retry + backoff on 429s.\n\n## Architecture: Why 13 Tools Instead of 29+\n\nMost MCP servers create one tool per API endpoint. For Kit's API, that means 29+ tools — which causes real problems:\n\n- **Context bloat** — 8,000+ tokens just for tool definitions, leaving less room for your actual conversation\n- **Poor accuracy** — AI tool selection degrades measurably beyond 20 tools ([research](https://arxiv.org/abs/2305.15334))\n- **Compatibility** — Cursor has a hard limit of 40 tools across all servers; 29 tools from one server leaves almost no room for others\n\nThis 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.\n\n## Error Handling\n\nErrors include recovery hints that Claude can act on:\n\n```\nError 401: Invalid API key\nRecovery: Check your KIT_API_KEY. Find your key at kit.com → Account Settings → Developer.\n```\n\n- **429 (rate limit)**: Automatic retry with exponential backoff, up to 3 attempts\n- **5xx (server error)**: Automatic retry once\n- **422 (validation)**: No retry — returns the error immediately with a fix suggestion\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| \"Cannot find module\" or npx errors | Make sure Node.js 22+ is installed: `node --version` |\n| \"Invalid API key\" | Double-check your key at [kit.com → Developer](https://app.kit.com/account/developer) |\n| Tools don't appear in Claude | Fully quit and restart Claude Desktop (not just close the window) |\n| \"requires OAuth authentication\" | `manage_purchases` and `bulk_operations` need `KIT_OAUTH_TOKEN` |\n| Rate limit errors | Automatic — the server retries with backoff. If persistent, wait 60 seconds |\n\n## Development\n\n```bash\nnpm install\nnpm run dev          # Watch mode\nnpm run build        # Production build\nnpm test             # Unit tests (179 tests)\nnpm run test:int     # Integration tests (requires KIT_API_KEY)\nnpm run lint         # Biome check\nnpm run typecheck    # TypeScript check\n```\n\n## License\n\nMIT\n",
  "bytes": 9609,
  "sha": "f0469294f65c5bce8b88299e2ce4702e801e98faab2d226c670ba3c4aa30471f",
  "repo_slug": "dancumberland/kit-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_dancumberland_kit_mcp_e1e7c3b6/readme"
}