BlogInsightsPricingLog in

Docs

Audit and generate launch videos from your editor

ShipTeaser ships an MCP server. Free and without an account, it audits any landing page for a launch video. With a key, your coding agent sends what you just built and gets a rendered teaser back, without opening a browser.

Try it in ten seconds, no account

claude mcp add shipteaser -- npx -y shipteaser-mcp

Then ask: “Audit https://yourproduct.com for a launch video.” You get the five launch angles the page can carry in its own words, the lines that carry them, and what is missing. No key, no sign-up.

What it does

The Model Context Protocol (MCP) lets tools like Claude Code, Cursor, Windsurf or Claude Desktop call outside services. With the ShipTeaser server installed, you can say “make a ShipTeaser video for the feature I just merged”. The agent gathers the context from your repo (a summary of the diff, the changelog entry, the real UI strings, measured numbers), sends it in one call, and gets a link to the video in your library.

ShipTeaser still crawls your product page for visuals and copy. The context you push enriches that extraction; it never replaces it. The copy of the video comes from your product, not from a model’s imagination.

Install with a key

To generate videos you need an API key. Create one in Settings (paid plans: the server renders real videos from your monthly quota). The key is shown once; copy it into your client config.

Claude Code

claude mcp add shipteaser -e SHIPTEASER_API_KEY=st_live_... -- npx -y shipteaser-mcp

Cursor, Windsurf, Claude Desktop, any JSON config

Add this to your client’s MCP config (.cursor/mcp.json, claude_desktop_config.json, or the equivalent):

{
  "mcpServers": {
    "shipteaser": {
      "command": "npx",
      "args": ["-y", "shipteaser-mcp"],
      "env": { "SHIPTEASER_API_KEY": "st_live_..." }
    }
  }
}

Remote, no install

Clients that speak Streamable HTTP can connect directly:

URL:    https://shipteaser.com/api/mcp
Header: Authorization: Bearer st_live_...

Tools

ToolKeyWhat it does
audit_launch_pagenoSend one public URL. Returns which of the five launch angles the page can carry (the named pain, the outcome, the number, time saved, the gesture), the exact lines that carry each, what is missing (h1, meta description, call to action, og:image, a real metric) and a link to generate the video. A few calls per hour per IP.
generate_teaseryesSend the product URL, the feature name and description, and whatever context you have: a prose summary of the diff, the changelog, component copy, docs excerpts, real metrics, screenshots. Returns the video link, a job id, an ETA and notes on what was missing from the context.
get_render_statusyesPoll a job by id: queued, running, done (with the link) or error. Rendering takes a few minutes.

Example: the free audit

audit_launch_page({ url: "https://yourproduct.com" })

// returns
{
  "summary": "This page can carry 3 of 5 launch angles as-is: The named pain, The number, The gesture. ...",
  "angles": [
    { "id": "proof", "name": "The number", "ready": true, "evidence": ["Exports run in under 4 seconds on a 50,000-row report."] },
    { "id": "speed", "name": "Time saved", "ready": false, "advice": "Nothing on the page speaks of speed or delay. ..." }
  ],
  "missing": ["No og:image: the shared link of your launch will show no preview."],
  "next_step": "Generate the video from this page at https://shipteaser.com/?url=..."
}

The audit reads the page like the engine does: verbatim copy only, nothing invented. An angle is “ready” when the page already says it; the advice under a missing angle is one sentence about what to write, never the sentence itself.

Example: generating the video

generate_teaser({
  product_url: "https://yourproduct.com",
  feature: {
    name: "Scheduled exports",
    description: "Send a CSV of any report to your inbox every Monday. For ops teams who rebuild the same spreadsheet each week."
  },
  sources: {
    changelog: "Added scheduled exports: pick a report, a day and a recipient.",
    component_copy: ["Send this report every week", "Choose who receives it"],
    metrics: ["Exports run in under 4 seconds on a 50k-row report"]
  }
})

Only the product URL and the feature are required. Everything else is optional and nothing is ever blocking: the engine renders with what it has, then tells you what would have made the video better.

Rules the tools enforce

  • Never send secrets, environment variables or raw source code. Prose summaries only. Every field is capped; the whole bundle is capped at 64 KB.
  • Never invent a metric. Only numbers you actually measured. A made-up figure is the fastest way to a video you cannot ship.
  • One render at a time per account. A retry while one is running costs a credit for nothing. Poll get_render_status instead.
  • Your brand kit applies. On Growth and Studio plans the video carries the brand you saved in the dashboard, exactly as it would from the web app.

Configuration

VariableRequiredDefault
SHIPTEASER_API_KEYno (free mode without it: audit only)none
SHIPTEASER_MCP_URLnohttps://shipteaser.com/api/mcp

Keys, quota and revocation

A key belongs to your account and inherits its plan. Each key has its own monthly render quota, reset on the 1st. Revoking a key in Settings takes effect immediately; keys are never deleted, so the history of what they rendered stays with your account. If your plan lapses, the key stops working and starts again when you renew, unchanged.

Source

The package is open source: shipteaser-mcp on npm, source on GitHub. It is a thin stdio proxy in front of the remote server: no tool logic lives in the package, so it never goes out of date.

© 2026 ShipTeaser · shipteaser.com

Privacy·Terms·MCP