demo-vid-mcp
demo-vid-mcp
Demo video pipeline for fleet repos. Records narrated walkthroughs of any webapp by orchestrating Playwright, speech-mcp TTS, and FFmpeg composition.
Quick Install
uvx mcpb install sandraschi/demo-vid-mcpWhat You Can Do
Generate a video:
demo_vid_generate(repo="chitchat")— auto-starts the target webapp, records it, adds voiceover, composes MP4Or drive a native app live:
demo_vid_generate(repo="blender-mcp", script_yaml=<desktop-capture script>)— OBS records a real app window (Blender, Resonite) whilemcp_callsteps actually invoke that app's own MCP server during the recording, not a staged screencast. Seedata/scripts/*.yamlfor working examples and DEMO_VID_MCP_PLAN.md for the architecture.Draft a script:
demo_vid_script_draft(repo="chitchat")— reads the README and generates a narration scriptBrowse the depot: Categorized gallery of produced videos with inline player, subtitle tracks (.vtt), poster previews, rebuild, delete, and insert into repo README
Persistent queue: Background queue manager to schedule and track batch video generation across the fleet
Chat about it: Built-in chat with personalities, example prompts, and local LLM integration (Ollama/LM Studio)
Tools
Tool | Description |
| Full pipeline: voiceover (speech-mcp) → record (Playwright with click ripples) → compose (FFmpeg) → MP4 + WebVTT/SRT subtitles + poster image. Supports landscape ( |
| Generate a narration YAML from the target repo's README and webapp page structure |
| Validate a narration script's structure, timing, aspect ratio, and resolution |
| List produced videos with metadata, poster, and subtitle sidecar paths |
| Automatically parse user feedback and mutate YAML narration timing, voice, and steps |
| List all tools and usage information |
| Gracefully terminate the server and background queue worker |
Webapp
Page | Purpose |
Dashboard | Backend status, KPI cards, dead port detection with one-click reconnect |
Depot | Categorized gallery with HTML5 player, subtitle toggle, poster previews, rebuild, delete |
Queue | Persistent background job queue manager with live polling, status badges, and cancel controls |
Generate | Select target repo by category, pick aspect ratio/resolution, draft YAML, and generate or queue |
Choreography | Visual script builder — 11 step types, global options, YAML preview |
Chat | SOTA chat with personalities, localStorage, example prompts, LLM integration |
Settings | LLM provider probe (Ollama/LM Studio), model selection, persistence |
Logs | Ring-buffer log viewer with level filter and search |
Help | 6-tab reference: overview, architecture, tools, config, fleet, troubleshooting |
Autostart
demo_vid_generate automatically starts the target repo's backend and Vite frontend before recording. Zombie-kills stale processes first. No manual setup — the pipeline scans for start.ps1 and webapp/ directories.
Themes
Recording is dark-mode by default (fleet identity). Pass theme="light" to record a bright demo — the capture script forces the target webapp's theme class (handles both .dark toggling and persisted localStorage light-mode keys) before navigation, per chat_skills_prefab_standard.md §7.1.
Fleet Services
Required: speech-mcp (voiceover), Playwright (recording), FFmpeg (composition). Optional: blender-mcp (3D titles), stems-mcp (music), vfx-mcp (effects).
Desktop-capture mode (native apps driven live — see DEMO_VID_MCP_PLAN.md): windows-computer-use-mcp (window focus), obs-mcp (recording — window-capture and human-in-video), plus whichever MCP server the demo actually drives (blender-mcp, resonite-mcp, ...).
Ports
Backend: 11134, Frontend: 11135, speech-mcp: 10909. See WEBAPP_PORTS.md.
Documentation
Doc | Contents |
Desktop-capture mode design, the | |
All install methods, prerequisites | |
Env vars, config options | |
All available tools | |
Contributing, local setup | |
Common issues |
Requirements
Python 3.13+ with
uvFFmpeg (for composition)
speech-mcp (for voiceover)
Playwright (for recording, auto-installed)
License
MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sandraschi/demo-vid-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server