← Back to search

io.github.ilpr/waitlister

ilpr Scanned just now

MCP server for the Waitlister API — manage waitlist subscribers through AI assistants.

B
81.5 / 100

Versions

1.0.2latest
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 15

get_account
annotations: verified low

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.

readOnlyHint true openWorldHint false
get_landing_page
annotations: verified low

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.

readOnlyHint true idempotentHint false destructiveHint false
create_landing_page
annotations: verified low

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.

readOnlyHint false idempotentHint false destructiveHint false
update_landing_page
annotations: verified low

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.

readOnlyHint false idempotentHint true destructiveHint false
publish_landing_page
annotations: verified low

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.

readOnlyHint false idempotentHint true destructiveHint false
generate_landing_page
annotations: verified low

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.

readOnlyHint false idempotentHint false destructiveHint false
create_waitlist
annotations: none low

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

name string category string button_text string description string collect_name boolean collect_phone boolean
list_waitlists
annotations: none low

List every waitlist your account owns, with subscriber and view counts (requires an account key).

get_stats
annotations: none low

Get a waitlist

add_subscriber
annotations: none low

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.

name string email string phone string
list_subscribers
annotations: none low

Retrieve a paginated list of a waitlist

get_subscriber
annotations: none low

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.

id_or_email string
update_subscriber
annotations: none low

Update an existing subscriber

name string phone string points number id_or_email string
delete_subscriber
annotations: none low

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.

id_or_email string
log_view
annotations: none low

Record a view of a waitlist page — useful for tracking engagement and conversion rates when you host your own landing page.

Permissions 1

env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 41

info
package.json metadata manifest_parser · 100%
info
Tool 'get_account' annotations are consistent annotation_checker · 80%
info
Tool 'get_landing_page' annotations are consistent annotation_checker · 80%
info
Tool 'create_landing_page' annotations are consistent annotation_checker · 80%
info
Tool 'update_landing_page' annotations are consistent annotation_checker · 80%
info
Tool 'publish_landing_page' annotations are consistent annotation_checker · 80%
info
Tool 'generate_landing_page' annotations are consistent annotation_checker · 80%
low
Tool 'create_waitlist' has no annotations annotation_checker · 100%
low
Tool 'list_waitlists' has no annotations annotation_checker · 100%
low
Tool 'get_stats' has no annotations annotation_checker · 100%
low
Tool 'add_subscriber' has no annotations annotation_checker · 100%
low
Tool 'list_subscribers' has no annotations annotation_checker · 100%
low
Tool 'get_subscriber' has no annotations annotation_checker · 100%
low
Tool 'update_subscriber' has no annotations annotation_checker · 100%
low
Tool 'delete_subscriber' has no annotations annotation_checker · 100%
low
Tool 'log_view' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.1 (GHSA-345p-7cg4-v4c7) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.1 (GHSA-8r9q-7v3j-jr4g) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.12.1 (GHSA-w48q-cv73-mx4w) dependency_analyzer · 95%
info
Tool: get_account manifest_parser · 85%
info
Tool: get_landing_page manifest_parser · 85%
info
Tool: create_landing_page manifest_parser · 85%
info
Tool: update_landing_page manifest_parser · 85%
info
Tool: publish_landing_page manifest_parser · 85%
info
Tool: generate_landing_page manifest_parser · 85%
info
Tool: create_waitlist manifest_parser · 70%
info
Tool: list_waitlists manifest_parser · 70%
info
Tool: get_stats manifest_parser · 70%
info
Tool: add_subscriber manifest_parser · 70%
info
Tool: list_subscribers manifest_parser · 70%
info
Tool: get_subscriber manifest_parser · 70%
info
Tool: update_subscriber manifest_parser · 70%
info
Tool: delete_subscriber manifest_parser · 70%
info
Tool: log_view manifest_parser · 70%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (3) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 95 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%