WaitKitWaitKit

MCP Server

Manage WaitKit from your AI coding agent. The waitkit-mcp server gives Claude Code, Cursor, Windsurf, VS Code, Zed, Codex, and other MCP clients safe, programmatic access to your projects, subscribers, analytics, and campaigns.

waitkit-mcp is a Model Context Protocol server that grants AI coding agents safe, programmatic access to your WaitKit waitlist infrastructure. Instead of switching to the dashboard, your agent can create projects, manage API keys, inspect subscribers, and run email campaigns directly from your terminal.

It works with any client that supports MCP over stdio. Pick yours below in Installation.

What you can do

The server exposes tools for managing your waitlist infrastructure end to end:

  • Projects — create, list, inspect, and update waitlist projects.
  • API keys & local scaffolding — generate, list, rotate, and delete project API keys; write a key into a local .env without exposing it in the chat.
  • Subscribers & analytics — list, inspect, update, and remove signups; fetch signup analytics; export subscribers as JSON or CSV.
  • Email & campaigns — read and update the welcome email, browse email send logs, and create, schedule, send, and monitor broadcast campaigns.

Your agent discovers the full list of tools at runtime — just ask it what it can do.

Deleting a project is intentionally not available via MCP — it removes the entire waitlist and is manual-only in the dashboard.

Authentication

The server authenticates with a User Secret Key (wk_sec_...), scoped to your whole account rather than a single project API key.

  1. Open your WaitKit dashboard and click your avatar in the top-right.
  2. Open Developer → Secret Keys.
  3. Click Create Secret Key and copy the generated key (wk_sec_...).
  4. Set it as WAITKIT_SECRET_KEY in your MCP client configuration.

Installation

The server runs via npx, so no local install is required. Select your agent below — the server name and config format follow each client's convention.

Register the server from your terminal:

claude mcp add --scope user waitkit --env WAITKIT_SECRET_KEY=wk_sec_YOUR_SECRET_KEY -- npx -y waitkit-mcp

Verify it is connected with claude mcp list.

Add to .cursor/mcp.json in your project (or use Settings → Tools & MCP → Add MCP Server):

{
  "mcpServers": {
    "waitkit": {
      "command": "npx",
      "args": ["-y", "waitkit-mcp"],
      "env": {
        "WAITKIT_SECRET_KEY": "wk_sec_YOUR_SECRET_KEY"
      }
    }
  }
}

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "waitkit": {
      "command": "npx",
      "args": ["-y", "waitkit-mcp"],
      "env": {
        "WAITKIT_SECRET_KEY": "wk_sec_YOUR_SECRET_KEY"
      }
    }
  }
}

Add to .vscode/mcp.json in your project. VS Code uses the servers key (not mcpServers):

{
  "servers": {
    "waitkit": {
      "command": "npx",
      "args": ["-y", "waitkit-mcp"],
      "env": {
        "WAITKIT_SECRET_KEY": "wk_sec_YOUR_SECRET_KEY"
      }
    }
  }
}

Then run Developer: Reload Window. GitHub Copilot picks the server up automatically.

Open Cline → MCP Servers in the VS Code extension and add a server with the config below:

{
  "mcpServers": {
    "waitkit": {
      "command": "npx",
      "args": ["-y", "waitkit-mcp"],
      "env": {
        "WAITKIT_SECRET_KEY": "wk_sec_YOUR_SECRET_KEY"
      }
    }
  }
}

Open Roo Code → MCP in the VS Code extension and add a server with the config below:

{
  "mcpServers": {
    "waitkit": {
      "command": "npx",
      "args": ["-y", "waitkit-mcp"],
      "env": {
        "WAITKIT_SECRET_KEY": "wk_sec_YOUR_SECRET_KEY"
      }
    }
  }
}

Add to your Zed settings (~/.config/zed/settings.json on Linux and macOS):

{
  "mcp": {
    "waitkit": {
      "command": "npx",
      "args": ["-y", "waitkit-mcp"],
      "env": {
        "WAITKIT_SECRET_KEY": "wk_sec_YOUR_SECRET_KEY"
      }
    }
  }
}

Add to ~/.codex/config.toml:

[mcp_servers.waitkit]
command = "npx"
args = ["-y", "waitkit-mcp"]
env = { "WAITKIT_SECRET_KEY" = "wk_sec_YOUR_SECRET_KEY" }

Then restart Codex or run codex mcp reload.

Add the server from your terminal:

agy mcp add waitkit --command "npx" --args "-y,waitkit-mcp" --env WAITKIT_SECRET_KEY=wk_sec_YOUR_SECRET_KEY

Add to opencode.json in your project:

{
  "mcp": {
    "waitkit": {
      "type": "local",
      "command": ["npx", "-y", "waitkit-mcp"],
      "enabled": true,
      "environment": {
        "WAITKIT_SECRET_KEY": "wk_sec_YOUR_SECRET_KEY"
      }
    }
  }
}

Programmatic

The package also exports createWaitKitMcpServer() and WaitKitApiClient for embedding in your own tools:

import { createWaitKitMcpServer } from "waitkit-mcp";

Security notes

  • Tools are annotated with MCP tool annotations: reads are marked readOnlyHint, and deletes or sending campaigns are marked destructiveHint so clients prompt for confirmation.
  • All dashboard API resources are addressed by UUID, not slug.
  • Pro-gated actions return an error with code PLAN_REQUIRED (or LIMIT_EXCEEDED) and the upgrade link to the checkout page.
  • waitkit_write_env_key only writes to .env/.env.local files inside your working directory and never prints the raw key into the conversation.

Troubleshooting

SymptomFix
npx: command not foundInstall Node.js 18+ and confirm npx is on your PATH
WAITKIT_SECRET_KEY not setAdd the env var to your MCP client config and restart the session
401 UnauthorizedGenerate a fresh secret key in the dashboard
PLAN_REQUIRED errorUpgrade your plan, or use the free-tier tools listed above

On this page