autodemo
MCP server that turns any running web app into demo videos, interactive walkthroughs, and marketing captures via one command. Enables AI agents to show their work with regenerated demos on every PR.
README
<div align="center">
AutoDemo
Demos as code. Turn any running web app into demo videos, interactive walkthroughs, and marketing captures — in one command. Regenerated by CI, so they can never go stale.
Product page · Quick start · GitHub Action · For AI agents · Recipes · Contributing
</div>
autodemo demo "Sign up and open the dashboard" --url http://localhost:3000
That single command drives a real browser through your real app and produces:
| Artifact | What it's for |
|---|---|
video.mp4 |
launch posts, landing pages, PR descriptions — cursor, click rings, human-paced typing |
index.html |
static, embeddable interactive walkthrough (step screenshots + notes, keyboard navigable) |
assets/*.png |
named marketing captures of real UI regions, for homepages and decks |
run.json |
reproducible metadata — timings, steps, artifact contract for tooling |
The teaser below was generated by AutoDemo, about its own product page, in CI:
Why
Demos and screenshots rot the moment the UI changes. Re-recording them is manual, slow, and always last on the list. Interactive-demo SaaS tools fix freshness with $300–500/month plans, per-seat pricing, and a browser extension that captures snapshots into their cloud.
AutoDemo treats demos like the rest of your software:
- Versioned — scenarios are YAML in your repo, reviewed like code
- Reproducible — deterministic Playwright steps, or AI steps when you want speed
- Continuous — a 5-line GitHub Action regenerates everything on merge; a failing demo is a failing user flow
- Yours — runs on your machine and your CI; no cloud, no telemetry, MIT licensed
Quick start
One-line install (macOS / Linux / WSL — installs Bun, the CLI, and a browser):
curl -fsSL https://raw.githubusercontent.com/praveen-palanisamy/autodemo/main/install.sh | bash
Or zero-install / per-project:
bunx @praveen-palanisamy/autodemo --help # Bun
npm add -D @praveen-palanisamy/autodemo # or as a dev dependency
bunx playwright install chromium
1. The magic moment (AI-authored)
With any LLM key in your env (ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, GROQ_API_KEY — or a local OLLAMA_HOST, auto-detected):
autodemo demo "Sign up, create a project, open the dashboard" --url http://localhost:3000
Watch the browser do it, then open the printed video.mp4 and walkthrough. Add --save to keep the scenario for replay.
2. Deterministic demos (no LLM needed)
autodemo init # writes a commented .autodemo.yml
scenarios:
signup:
description: "Signup with readable typing and click highlights"
steps:
- type: goto
url: /signup
- type: fill
selector: "[data-testid=email]"
value: "maya@example.com"
typing: true
- type: click
selector: "[data-testid=submit]"
- type: waitFor
text: "Dashboard"
- type: screenshot
name: dashboard-hero
selector: "[data-testid=dashboard]"
autodemo run signup --url http://localhost:3000 # one scenario
autodemo run --all --url http://localhost:3000 --headless # all of them (CI)
3. Keep them fresh forever (CI)
- uses: praveen-palanisamy/autodemo@v0
with:
url: http://localhost:3000
Full inputs and recipes: docs/GITHUB_ACTION.md.
For AI agents
AutoDemo is agent-native: coding agents use it to show their work — a demo video on every PR.
bunx @praveen-palanisamy/autodemo mcp --no-tui # MCP server over stdio
One-line registration for Cursor / Claude Code / Codex, JSON CLI contracts, and a drop-in rules snippet: docs/AGENTS.md.
Features
- Any LLM, or none — OpenAI, Anthropic, Google, Groq, Ollama/local, any OpenAI-compatible endpoint; deterministic scenarios need zero keys
- Authenticated flows — reusable browser storage state; login once, demo logged-in forever
- Marketing-grade output — dev overlays hidden, loading noise trimmed (
videoStartStep), named region captures, custom cursor & click highlights - Story tools — on-screen
narratebeats, per-step notes in walkthroughs - Interactive TUI — wizards for recording and running (
autodemo record --interactive) - CI-grade —
--jsonoutput, stable exit codes,trace.zipon failure, artifacts contract inrun.json
How it compares
| AutoDemo | Demo SaaS (Supademo, Arcade, Storylane…) | Screen recorders | |
|---|---|---|---|
| Price | Free, OSS | $300–500/mo for HTML capture, per-seat | $10–30/mo |
| Freshness | Regenerated in CI | Manual re-capture | Manual re-record |
| Output | Video + walkthrough + stills, one run | Usually one format | Video only |
| In git / code review | ✅ | ❌ | ❌ |
| Agent-operable (MCP) | ✅ | ❌ | ❌ |
The SaaS tools are great for no-code editing, analytics, and hosted demo hubs. AutoDemo is for teams who want demos to be build artifacts.
Docs
| CLI reference | commands, flags, exit codes |
| Configuration | .autodemo.yml, step types, LLM providers, auth state |
| GitHub Action | demos in CI |
| AI agents | MCP setup, JSON CLI, rules snippet |
| Recipes | copy-paste scenarios |
| Architecture | engines, runner, artifact pipeline |
| Testing · Local CI | development workflows |
Requirements
- Bun ≥ 1.3 (the installer sets it up)
- Playwright Chromium (one-time
bunx playwright install chromium) ffmpegfor MP4 export (optional — everything else works without it)
Contributing
The 15-minute setup, project tour, and good first issue list live in CONTRIBUTING.md. The lowest-friction contribution is a scenario recipe.
bun install && bun run playwright:install
bun test && bun run lint && bun run typecheck
License
MIT © Praveen Palanisamy and AutoDemo contributors.
<div align="center"> <sub>This README's teaser, the <a href="https://praveen-palanisamy.github.io/autodemo/">product page</a>, and its demo videos are all generated by AutoDemo itself — on every deploy.</sub> </div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
