CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Kit.com MCP Server

dancumberland/kit-mcp
229 toolsSTDIOregistry active
Summary

Connects Claude to Kit.com's V4 API with 13 composite tools that cover subscriber management, broadcast analytics, tagging, forms, sequences, and custom fields. The design choice here matters: instead of wrapping each endpoint as a separate tool (which bloats context and confuses LLMs), it bundles related operations into agent-friendly commands with formatted responses. You get engagement analytics per subscriber, batch operations for up to 10k records, per-link click tracking on broadcasts, and automatic rate limit handling with exponential backoff. Requires a Kit API key for most features, OAuth token for purchases and bulk ops. Useful if you're running email campaigns through Kit and want Claude to pull stats, compare engagement, draft broadcasts, or manage your list without switching to the web UI.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

29 tools
KIT_ADD_SUBSCRIBER_TO_FORMTool to add a subscriber to a specific form by ID. Use after confirming form and subscriber IDs.3 params

Tool to add a subscriber to a specific form by ID. Use after confirming form and subscriber IDs.

Parameters* required
idinteger
The ID of the subscriber to add to the form.
form_idinteger
The ID of the form to which the subscriber will be added.
referrerstring
The URL from which the subscriber was referred.
KIT_CREATE_CUSTOM_FIELDTool to create a new custom field for subscriber data. Use when you need to store extra attributes for subscribers.1 params

Tool to create a new custom field for subscriber data. Use when you need to store extra attributes for subscribers.

Parameters* required
labelstring
The display label for the custom field (e.g., 'Favorite Color').
KIT_CREATE_TAGTool to create a new tag in the account. Use when you need a custom label to segment subscribers. Use after confirming tag uniqueness to avoid duplicates. Example: "Create a tag called 'VIP' for premium customers."1 params

Tool to create a new tag in the account. Use when you need a custom label to segment subscribers. Use after confirming tag uniqueness to avoid duplicates. Example: "Create a tag called 'VIP' for premium customers."

Parameters* required
namestring
Name of the tag to be created.
KIT_CREATE_WEBHOOKTool to create a new webhook subscription. Use when you need subscriber or purchase event notifications.2 params

Tool to create a new webhook subscription. Use when you need subscriber or purchase event notifications.

Parameters* required
eventobject
Webhook event configuration.
target_urlstring
URL to receive webhook POST notifications.
KIT_DELETE_BROADCASTTool to delete a specific broadcast. Use when you need to permanently remove a broadcast by ID (after confirming the ID). Example prompt: "Delete broadcast with ID 123"1 params

Tool to delete a specific broadcast. Use when you need to permanently remove a broadcast by ID (after confirming the ID). Example prompt: "Delete broadcast with ID 123"

Parameters* required
idinteger
Unique identifier of the broadcast to delete
KIT_DELETE_CUSTOM_FIELDTool to delete a specific custom field. Use after confirming the custom field ID is correct. Deletes the field permanently.1 params

Tool to delete a specific custom field. Use after confirming the custom field ID is correct. Deletes the field permanently.

Parameters* required
idinteger
Unique identifier of the custom field to delete
KIT_DELETE_SUBSCRIBERTool to delete (unsubscribe) a subscriber by ID. Use when you need to remove a subscriber from all sequences and forms after confirming the subscriber exists.1 params

Tool to delete (unsubscribe) a subscriber by ID. Use when you need to remove a subscriber from all sequences and forms after confirming the subscriber exists.

Parameters* required
idinteger
Unique identifier of the subscriber to delete
KIT_DELETE_TAGTool to delete a tag by ID. Use when you need to remove obsolete or incorrect tags after confirming the tag exists.1 params

Tool to delete a tag by ID. Use when you need to remove obsolete or incorrect tags after confirming the tag exists.

Parameters* required
idinteger
Unique identifier of the tag to delete
KIT_DELETE_WEBHOOKTool to delete a webhook by ID. Use when you want to permanently remove a webhook after confirming its ID.1 params

Tool to delete a webhook by ID. Use when you want to permanently remove a webhook after confirming its ID.

Parameters* required
idinteger
Unique identifier of the webhook to delete
KIT_GET_ACCOUNTTool to retrieve current account information. Use after validating API key to fetch account ID, plan type, primary email, and timezone details.

Tool to retrieve current account information. Use after validating API key to fetch account ID, plan type, primary email, and timezone details.

No parameter schema in public metadata yet.

KIT_GET_ACCOUNT_COLORSTool to retrieve list of colors associated with the account. Use after confirming authentication to fetch account-specific color palette.

Tool to retrieve list of colors associated with the account. Use after confirming authentication to fetch account-specific color palette.

No parameter schema in public metadata yet.

KIT_GET_BROADCASTTool to retrieve details of a specific broadcast by ID. Use when you have a valid broadcast ID and need its metadata.1 params

Tool to retrieve details of a specific broadcast by ID. Use when you have a valid broadcast ID and need its metadata.

Parameters* required
idinteger
Unique identifier of the broadcast to retrieve
KIT_GET_BROADCAST_STATSTool to retrieve statistics for a specific broadcast by ID. Use after a broadcast has been sent to monitor performance.1 params

Tool to retrieve statistics for a specific broadcast by ID. Use after a broadcast has been sent to monitor performance.

Parameters* required
idinteger
Unique identifier of the broadcast to fetch statistics for
KIT_GET_CREATOR_PROFILETool to retrieve the creator profile information for the account. Use when you need creator metadata (bio, avatar, social links) before publishing or customizing content.

Tool to retrieve the creator profile information for the account. Use when you need creator metadata (bio, avatar, social links) before publishing or customizing content.

No parameter schema in public metadata yet.

KIT_GET_EMAIL_STATSTool to retrieve email statistics for the account. Use after confirming authentication to fetch metrics on emails (sent, opened, clicked) over the last 90 days.

Tool to retrieve email statistics for the account. Use after confirming authentication to fetch metrics on emails (sent, opened, clicked) over the last 90 days.

No parameter schema in public metadata yet.

KIT_LIST_BROADCASTSTool to retrieve a paginated list of all broadcasts. Use when you need to enumerate or review broadcast summaries with cursor-based pagination.4 params

Tool to retrieve a paginated list of all broadcasts. Use when you need to enumerate or review broadcast summaries with cursor-based pagination.

Parameters* required
afterstring
Cursor for pagination; returns results after the specified cursor.
beforestring
Cursor for pagination; returns results before the specified cursor.
per_pageinteger
Number of results per page; must be between 1 and 500.
include_total_countstring
If set to 'true', includes the total count of records in the response.
KIT_LIST_CUSTOM_FIELDSTool to retrieve a paginated list of custom fields. Use after confirming you need to enumerate or inspect all custom fields with cursor-based pagination.4 params

Tool to retrieve a paginated list of custom fields. Use after confirming you need to enumerate or inspect all custom fields with cursor-based pagination.

Parameters* required
afterstring
Cursor for pagination; returns results after the specified cursor.
beforestring
Cursor for pagination; returns results before the specified cursor.
per_pageinteger
Number of results per page; defaults to 500 if not specified.
include_total_countstring
If set to 'true', includes the total count of records in the response.
KIT_LIST_FORMSTool to list all forms. Use when you need to fetch forms with optional filters and pagination.6 params

Tool to list all forms. Use when you need to fetch forms with optional filters and pagination.

Parameters* required
typestring
Filter forms by type.one of embed · hosted
afterstring
Cursor for pagination; returns results after the specified cursor.
beforestring
Cursor for pagination; returns results before the specified cursor.
statusstring
Filter forms by status (e.g., 'active', 'archived').
per_pageinteger
Number of forms to return per page.
include_total_countstring
If set to 'true', includes the total count of forms in the response.one of true · false
KIT_LIST_SEGMENTSTool to retrieve a paginated list of segments. Use when you need to enumerate segments with cursor-based pagination for further processing or display.4 params

Tool to retrieve a paginated list of segments. Use when you need to enumerate segments with cursor-based pagination for further processing or display.

Parameters* required
afterstring
Cursor for pagination; returns results after this cursor.
beforestring
Cursor for pagination; returns results before this cursor.
per_pageinteger
Number of segments to return per page (min 1).
include_total_countstring
If set to 'true', includes the total count of segments in the response.one of true · false
KIT_LIST_SEQUENCESTool to retrieve a paginated list of all sequences. Use when you need to enumerate sequences with pagination for further processing or display.4 params

Tool to retrieve a paginated list of all sequences. Use when you need to enumerate sequences with pagination for further processing or display.

Parameters* required
afterstring
Cursor for pagination; returns results after the specified cursor.
beforestring
Cursor for pagination; returns results before the specified cursor.
per_pageinteger
Number of results per page (max 500).
include_total_countstring
If set to 'true', includes the total count in the pagination.one of true · false
KIT_LIST_SUBSCRIBERSTool to retrieve a list of subscribers. Use when you need to fetch subscriber records with optional filtering, sorting, and pagination.12 params

Tool to retrieve a list of subscribers. Use when you need to fetch subscriber records with optional filtering, sorting, and pagination.

Parameters* required
afterstring
Cursor for pagination; returns subscribers after this cursor.
beforestring
Cursor for pagination; returns subscribers before this cursor.
statusstring
Filter by subscriber status (e.g., 'active' or 'inactive').
per_pageinteger
Number of subscribers to return per page (min 1).
sort_fieldstring
Field by which to sort the subscribers.
sort_orderstring
Order in which to sort the results.one of asc · desc
created_afterstring
Filter to subscribers created after this date (YYYY-MM-DD).
email_addressstring
Exact email address to filter by.
updated_afterstring
Filter to subscribers updated after this date (YYYY-MM-DD).
created_beforestring
Filter to subscribers created before this date (YYYY-MM-DD).
updated_beforestring
Filter to subscribers updated before this date (YYYY-MM-DD).
include_total_countstring
If set to 'true', includes the total count of subscribers in the response.one of true · false
KIT_LIST_SUBSCRIBERS_FOR_FORMTool to retrieve subscribers for a specific form by ID. Use when you need to page or filter subscribers of a form.10 params

Tool to retrieve subscribers for a specific form by ID. Use when you need to page or filter subscribers of a form.

Parameters* required
afterstring
Cursor for pagination; returns results after this cursor.
beforestring
Cursor for pagination; returns results before this cursor.
statusstring
Filter subscribers by status (e.g., 'active').
form_idinteger
ID of the form whose subscribers you want to retrieve.
per_pageinteger
Number of results to return per page (min 1).
added_afterstring
Return subscribers added to the form after this date/time (ISO 8601).
added_beforestring
Return subscribers added to the form before this date/time (ISO 8601).
created_afterstring
Return subscribers created after this date/time (ISO 8601).
created_beforestring
Return subscribers created before this date/time (ISO 8601).
include_total_countstring
If 'true', includes the total count of subscribers in the response.one of true · false
KIT_LIST_TAGSTool to retrieve a list of all tags. Use when you need a complete inventory of tags for the Kit account.

Tool to retrieve a list of all tags. Use when you need a complete inventory of tags for the Kit account.

No parameter schema in public metadata yet.

KIT_LIST_TAG_SUBSCRIBERSTool to retrieve subscribers for a specific tag. Use after confirming the tag ID when you need to list subscribers associated with a tag.10 params

Tool to retrieve subscribers for a specific tag. Use after confirming the tag ID when you need to list subscribers associated with a tag.

Parameters* required
afterstring
Cursor for pagination; returns subscribers after this cursor.
beforestring
Cursor for pagination; returns subscribers before this cursor.
statusstring
Filter by subscriber status ('active' or 'inactive').
tag_idinteger
Unique identifier of the tag to retrieve subscribers for
per_pageinteger
Number of subscribers to return per page (min 1).
tagged_afterstring
Filter to subscribers tagged after this timestamp (ISO 8601).
created_afterstring
Filter to subscribers created after this timestamp (ISO 8601).
tagged_beforestring
Filter to subscribers tagged before this timestamp (ISO 8601).
created_beforestring
Filter to subscribers created before this timestamp (ISO 8601).
include_total_countstring
If set to 'true', includes total count of subscribers in the response.one of true · false
KIT_TAG_SUBSCRIBERTool to associate a subscriber with a specific tag by ID. Use after confirming tag and subscriber IDs when tagging a subscriber.2 params

Tool to associate a subscriber with a specific tag by ID. Use after confirming tag and subscriber IDs when tagging a subscriber.

Parameters* required
tag_idinteger
ID of the tag to assign
subscriber_idinteger
ID of the subscriber to tag
KIT_TAG_SUBSCRIBER_BY_EMAILTool to associate a subscriber with a tag using an email address. Use when you have a tag ID and subscriber email ready. Use after confirming both resources exist.2 params

Tool to associate a subscriber with a tag using an email address. Use when you have a tag ID and subscriber email ready. Use after confirming both resources exist.

Parameters* required
tag_idinteger
The ID of the tag to assign to the subscriber
email_addressstring
The subscriber's email address
KIT_UPDATE_ACCOUNT_COLORSTool to update the list of colors for the account. Use when customizing your Kit account's color palette for broadcasts and templates.1 params

Tool to update the list of colors for the account. Use when customizing your Kit account's color palette for broadcasts and templates.

Parameters* required
colorsarray
List of hex color codes to set for the account (e.g., '#008000', '#FF0000').
KIT_UPDATE_CUSTOM_FIELDTool to update a custom field's label. Use after listing or retrieving custom fields and confirming the field ID to rename.2 params

Tool to update a custom field's label. Use after listing or retrieving custom fields and confirming the field ID to rename.

Parameters* required
idinteger
Unique identifier of the custom field to update
labelstring
New label for the custom field
KIT_UPDATE_TAGTool to update a tag's name by ID. Use after retrieving tag ID and confirming the new name.2 params

Tool to update a tag's name by ID. Use after retrieving tag ID and confirming the new name.

Parameters* required
idinteger
Unique identifier of the tag to update
namestring
New name for the tag

@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-mcpOther Kit MCPs
Tool count13 composite tools (45 actions)29+ individual tools
Engagement analyticsPer-subscriber open/click rates, batch comparison across 100 subscribers, engagement-based filteringNone
Broadcast analyticsPer-broadcast stats, cross-broadcast comparison, per-link click trackingBasic list/get only
Bulk operationsBatch create subscribers, tags, form subscriptions (up to 10k per call)None
Response formatFormatted text summaries (agent-friendly)Raw JSON (agent must parse)
Rate limitingSliding window with automatic retry + exponential backoffNone
Error recoveryTyped errors with actionable recovery hintsGeneric errors
Cursor compatible13 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.

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 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.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

ToolActionsWhat You Can Do
manage_subscribers10Find, 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_tags6List, create, update, tag/untag subscribers, list tagged
manage_broadcasts8List, get, create drafts, update, delete, view stats, compare stats across broadcasts, analyze per-link click data
manage_forms3List forms, list subscribers, add subscriber
manage_sequences3List sequences, add subscriber, list subscribers
manage_custom_fields4List, create, update, delete
manage_purchases3List, get, create (OAuth required)
manage_segments1List segments
manage_webhooks3List, create, delete
manage_email_templates1List templates
get_account—Full account overview with email and growth stats
test_connection—Verify your API key works
bulk_operations7Batch subscriber/tag/form/field operations (OAuth required)

Things You Can Ask

What You SayWhat 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

ProblemSolution
"Cannot find module" or npx errorsMake sure Node.js 22+ is installed: node --version
"Invalid API key"Double-check your key at kit.com → Developer
Tools don't appear in ClaudeFully quit and restart Claude Desktop (not just close the window)
"requires OAuth authentication"manage_purchases and bulk_operations need KIT_OAUTH_TOKEN
Rate limit errorsAutomatic — 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

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

KIT_API_KEY

Your Kit.com API key (find at kit.com → Account Settings → Developer)

KIT_OAUTH_TOKEN

OAuth token for bulk operations and purchases (optional)

Categories
AI & LLM ToolsCommunication & Messaging
Registryactive
Package@dancumberland/kit-mcp
TransportSTDIO
UpdatedMar 16, 2026
View on GitHub

Related AI & LLM Tools MCP Servers

View all →
SkillFM LLM Cost Optimizer

io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage

LLM cost optimizer for OpenAI, Anthropic, token usage, BYOK, and SkillFM Beacon audits.
Llm Orchestration Agent

io.github.mikerawsonnz/llm-orchestration-agent

Run a prompt through a LangChain (system + human) chain over Gemini on Vertex AI; optional LangSmith
Authenticated Llm Agent

io.github.mikerawsonnz/authenticated-llm-agent

JWT-gated LLM gateway: authenticate (bcrypt/JWT), then run a LangChain-on-Vertex Gemini completion.
Copilot Memory MCP

labforgedev/copilot-memory-mcp

Persistent semantic memory for AI agents using local ChromaDB vector search. No cloud required.
1
Agent Prompt Injection Firewall Mcp

csoai-org/agent-prompt-injection-firewall-mcp

The WAF for agents. Pattern-based + heuristic firewall scans prompts, RAG documents, tool argume...
Authenticated Multi Llm Agent

io.github.mikerawsonnz/authenticated-multi-llm-agent

Google-OAuth-gated LLM gateway: verify a Google ID token, then run a Gemini (Vertex AI) completion f