
Waitlister
@ilpr
About Waitlister
Official MCP server for the Waitlister API — create waitlists, add subscribers, and track signups through AI assistants like Claude, Cursor, and Windsurf
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"waitlister": {
"command": "npx",
"args": [
"-y",
"@waitlister/mcp"
],
"env": {
"WAITLISTER_ACCOUNT_KEY": "wl_acct_your-key"
}
}
}
}Tools
15Create a new waitlist on your Waitlister account (requires an account key, works on every plan within its waitlist cap). Returns the waitlist key and a form_action_url that collects signups immediately. Pass landing_page to also provision the hosted landing page (as a draft — go live with publish_landing_page) in the same call. Note: waitlist names and URL slugs are unique across all of Waitlister — a taken name/slug is rejected with guidance to pick another.
Check the configured API key and what this account may do — the cheapest first call, and the one to make when anything looks misconfigured. Returns the account, the plan name, whether the general API is available, how many waitlists the account has against its cap, whether creating another would succeed right now (can_create — a true dry run, so check it before create_waitlist rather than discovering the cap from an error), remaining AI credits, and the key's name/created/last-used. An invalid or revoked key fails here cleanly, which distinguishes a dead key from a malformed request. Requires an account key (wl_acct_…) and works on every plan. Never returns the key itself.
List every waitlist your account owns, with subscriber and view counts (requires an account key).
Get a waitlist's subscriber and view counters — cheap social proof, works on every plan. Counters update asynchronously (within seconds of a signup or delete).
Add a new subscriber to a waitlist. Returns their position, referral code, and sign-up token. Idempotent per email: an existing email returns is_new_sign_up: false with their current position, not an error. Works on every plan.
Retrieve a paginated list of a waitlist's subscribers, sortable by position, points, date, referral_count, or email. Requires the Growth plan or higher.
Retrieve detailed information about a specific subscriber by their ID or email address — position, points, referral info, metadata, location, and more. Requires the Growth plan or higher.
Update an existing subscriber's name, phone, points, and/or custom metadata. Only include fields you want to change; updating points triggers a queue position recalculation. Requires the Growth plan or higher.
Permanently delete a subscriber (and their email history) from a waitlist by ID or email address. This cannot be undone. Counters and queue positions update asynchronously within a few seconds. Requires the Growth plan or higher.
Record a view of a waitlist page — useful for tracking engagement and conversion rates when you host your own landing page.
Get the structured view of a waitlist's hosted landing page: status (draft/published/unpublished), page_type (standard or ai), copy fields, theme, SEO, the live URL (null until published), and view/signup analytics. AI-built pages also return remaining AI credits. Works on every plan. 404 if the waitlist has no page yet — create one with create_landing_page.
Create the waitlist's hosted landing page from structured fields, as a draft (nothing goes live until publish_landing_page). One page per waitlist — returns a 409 error if one already exists (use update_landing_page then). headline is required. Works on every plan. Tip: when creating a new waitlist AND its page, use create_waitlist's landing_page parameter instead — one call.
Update any subset of the landing page's structured fields. On a published page the change goes live immediately. IMPORTANT: on an AI-built page (page_type "ai"), the copy/structure fields (headline, description, button_text, collect_name, collect_phone, background) return a 409 error — edit those with generate_landing_page and is_edit: true; theme and seo still work here on both page types. Works on every plan.
Publish the landing page to its live URL (https://waitlister.me/p/{slug}, or the waitlist's custom domain) — or take it offline with unpublish: true. Publishing validates the page has an email field, a submit button, and a headline of at least 3 characters. API publishes skip the custom social-share (OG) image; publishing once from the dashboard generates it. Works on every plan.
Generate a complete custom landing page from a natural-language prompt with Waitlister's AI builder (same engine as the dashboard), or edit the existing AI page with is_edit: true. COSTS 1 AI CREDIT per call (shared with the dashboard AI builder; errors with the balance when out of credits) — don't call repeatedly for small tweaks a human should review. Synchronous, typically 20-50 seconds. The result is saved as a draft: review in the dashboard or go live with publish_landing_page. The AI conversation is saved, so the dashboard's AI chat continues where this left off. After generating, the page is an AI page — see update_landing_page for what that changes.
Overview
What is Waitlister?
Waitlister is an MCP server that integrates the Waitlister waitlist management platform with AI assistants. It allows users to manage subscribers and analytics directly through an AI interface. The server is intended for Waitlister customers on the Growth or Business plan.
How to use Waitlister?
Once connected, you can ask your AI assistant things like:
- "Create a waitlist for my new product and give me the signup form URL"
- "Launch my waitlist with a landing page — dark theme — and publish it"
- "Change the page headline to 'Join 500+ others'"
- "Generate a landing page: bold, dev-tool aesthetic" (AI builder, 1 credit)
- "Add [email protected] to my waitlist"
- "How many subscribers do I have?"
- "Look up the subscriber [email protected]"
- "Update John's points to 500"
- "Show me the top 10 subscribers by referral count"
Tools
| Tool | Description | Plan |
|---|---|---|
create_waitlist | Create a new waitlist; returns its key + a form URL that collects signups immediately. Optionally provisions its landing page (draft) in the same call | Every plan (account key) |
list_waitlists | List every waitlist you own, with subscriber/view counts | Every plan (account key) |
get_stats | Subscriber + view counters for a waitlist (cheap social proof) | Every plan |
add_subscriber | Add a new subscriber to a waitlist | Every plan |
list_subscribers | List subscribers with pagination and sorting | Growth+ |
get_subscriber | Get details for a specific subscriber by ID or email | Growth+ |
update_subscriber | Update a subscriber's name, phone, points, or metadata | Growth+ |
delete_subscriber | Permanently delete a subscriber (irreversible) | Growth+ |
log_view | Record a waitlist page view for analytics | Every plan |
get_landing_page | Structured view of the hosted landing page: status, copy, theme, SEO, live URL, analytics | Every plan |
create_landing_page | Create the page from structured fields (draft; one page per waitlist) | Every plan |
update_landing_page | Update copy/theme/background/SEO; live pages update immediately | Every plan |
publish_landing_page | Go live at waitlister.me/p/{slug} (or unpublish) | Every plan |
generate_landing_page | AI-generate or AI-edit the whole page from a prompt (1 AI credit per call, ~20–50s) | Every plan |
AI pages vs standard pages: after generate_landing_page, the page's copy lives inside the generated page — update_landing_page rejects copy/structure fields with guidance to use generate_landing_page + is_edit instead (theme and seo still update normally). Generated pages are saved as drafts, and the AI conversation carries over to the dashboard's AI chat.
Prerequisites
- Node.js 18+
- A Waitlister account — the free plan works
- An account API key (recommended), or a per-waitlist API key (Growth plan+)
Getting Your Key
Account key (recommended — works on every plan, covers every waitlist you own):
- Log in to Waitlister
- Go to Settings → API keys → create a key (
wl_acct_…)
Per-waitlist key (legacy, Growth plan+): waitlist → Integrations → API access. You'll also need the waitlist key from the waitlist's settings.
Installation
Using npx (recommended)
No installation needed — just configure your MCP client:
{
"mcpServers": {
"waitlister": {
"command": "npx",
"args": ["-y", "@waitlister/mcp"],
"env": {
"WAITLISTER_ACCOUNT_KEY": "wl_acct_your-key"
}
}
}
}
With an account key you can optionally add "WAITLISTER_WAITLIST_KEY": "your-waitlist-key" to set a default waitlist — otherwise each tool call can target any waitlist you own via its waitlist_key parameter (ask the assistant to run list_waitlists first).
Legacy per-waitlist configuration (still supported)
{
"mcpServers": {
"waitlister": {
"command": "npx",
"args": ["-y", "@waitlister/mcp"],
"env": {
"WAITLISTER_API_KEY": "your-api-key",
"WAITLISTER_WAITLIST_KEY": "your-waitlist-key"
}
}
}
}
Global install
npm install -g @waitlister/mcp
Then configure with "command": "waitlister-mcp" and the same env.
Setup by Client
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) with the JSON above.
Cursor
Go to Settings → MCP → Add new MCP server and use the same configuration.
Claude Code
claude mcp add waitlister --env WAITLISTER_ACCOUNT_KEY=wl_acct_your-key -- npx -y @waitlister/mcp
Environment Variables
| Variable | Required | Description |
|---|---|---|
WAITLISTER_ACCOUNT_KEY | One of the two keys | Account API key (wl_acct_…, Settings → API keys). Every plan; every waitlist you own; unlocks create_waitlist/list_waitlists. |
WAITLISTER_API_KEY | One of the two keys | Per-waitlist API key (Growth+). Requires WAITLISTER_WAITLIST_KEY. |
WAITLISTER_WAITLIST_KEY | With WAITLISTER_API_KEY; optional otherwise | Default waitlist for the waitlist-scoped tools. |
Notes
- Uniqueness: waitlist names and URL slugs are unique across all of Waitlister.
create_waitlistrejects a taken name/slug with a message telling you what to change. - Async counters: signups and deletions update
get_statscounters and queue positions within a few seconds, not instantly. - Plan gating: creating waitlists, adding subscribers, and stats work on every plan (lower rate limits on free plans). Reading/updating/deleting subscriber data requires Growth or higher — see rate limits.
- Built on the official
waitlisterSDK (typed errors, automatic retries with backoff).
Development
git clone https://github.com/ilpr/waitlister-mcp.git
cd waitlister-mcp
npm install
npm run build
Test with the MCP Inspector:
WAITLISTER_ACCOUNT_KEY=wl_acct_your-key npm run inspect
Links
- Waitlister — create waitlists for your product launches
- API Documentation
Basic information
More Productivity MCP servers

YouTube Transcript AI
youtube-transcript.aiFetch the full transcript of any YouTube video as clean text — no API key, no signup, no quota wall. Pass a YouTube URL (watch, youtu.be, shorts, embed) or a bare video ID and get the transcript back with title and metad

One
OneConnect your agent to the apps your team already uses: Gmail, Slack, Stripe, Shopify, HubSpot, Notion, Linear, Salesforce, QuickBooks and more. One hosted MCP server with OAuth sign-in, nothing to install and no API keys
JobYap
JobYapJobYap aggregates job postings directly from tech companies' official careers sites and gives every posting a public discussion thread, with salaries, locations and full descriptions.

Time
modelcontextprotocolModel Context Protocol Servers

crosscode-cli
amsultan2010Multiplayer coding in the agentic era through an MCP server for real-time codebase sync between your agents.
Comments