npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dancumberland/kit-mcp

v1.4.0

Published

Agent-optimized MCP server for Kit.com email marketing. 13 composite tools covering 100% of the Kit V4 API.

Downloads

600

Readme

@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 <[email protected]> — Open: 82.3% | Click: 24.1% | Sent: 95 | Last open: 2026-03-15 (ID: 456)
  2. Bob <[email protected]> — 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.

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

  1. Node.js 22+ — Download from nodejs.org. Check with node --version.
  2. A Kit.com account — Free or paid, any plan.
  3. Your Kit API keykit.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.json

Step 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

  1. Open Settings (Cmd+,)
  2. Search for "MCP"
  3. Click "Add MCP Server"
  4. 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 | |------|---------|-----------------| | 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 | | manage_tags | 6 | List, create, update, tag/untag subscribers, list tagged | | manage_broadcasts | 8 | List, get, create drafts, update, delete, view stats, compare stats across broadcasts, analyze per-link click data | | manage_forms | 3 | List forms, list subscribers, add subscriber | | manage_sequences | 3 | List sequences, add subscriber, list subscribers | | manage_custom_fields | 4 | List, create, update, delete | | manage_purchases | 3 | List, get, create (OAuth required) | | manage_segments | 1 | List segments | | manage_webhooks | 3 | List, create, delete | | manage_email_templates | 1 | List templates | | get_account | — | Full account overview with email and growth stats | | test_connection | — | Verify your API key works | | bulk_operations | 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 [email protected]" | 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 [email protected] 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: node --version | | "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" | manage_purchases and bulk_operations need KIT_OAUTH_TOKEN | | 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 check

License

MIT