Appearance
evo.videostroll
Alpha, and in development. The repository is private, so the commands here describe how the tool is driven rather than something you can clone today.
An MCP server and a Claude Code skill that let an AI agent record a narrated walkthrough video of a website. The agent drives a real browser, a visible cursor follows what it is talking about, its narration is spoken aloud, and captions come out timed to the words.
The agent decides what to show and what to say. The tool makes it a video.

Guides
| Guide | What it covers |
|---|---|
| Recording a walkthrough | Installing it, the method the skill follows, storyboards, batch rendering, and sites behind a login |
| Voices | The three providers, the picker, and using more than one voice in a walkthrough |
What comes out
One walkthrough produces four files in a single output folder:
| File | What it is |
|---|---|
walkthrough.mp4 | H.264 video with AAC narration, the cursor visible, captions optionally burned in |
walkthrough.srt / walkthrough.vtt | Captions with timestamps, one cue per narrated sentence |
walkthrough.json | The manifest: every step with its start and end time, narration, action, URL and a thumbnail — the timestamps as data, for any other app to use |
walkthrough.storyboard.json | The exact storyboard that was rendered, so the run reproduces |
The video is the deliverable. The other three are what make it maintainable: when the site changes, edit the steps that changed and render the storyboard again rather than recording the whole thing by hand.
Two halves, one product
- The MCP server is the engine — browser, cursor, recording, speech, captions, assembly. Any MCP client can call it.
- The skill is the method: how to make a walkthrough worth watching. Reconnoitre the page, storyboard it, narrate in short presenter sentences, then read the manifest back and check the words match what was on screen.
The server without the skill is a capable but undirected recorder. The skill without the server has nothing to record with. They ship together.
Four decisions worth knowing
Each of these exists because the obvious alternative produces a video that looks fine and is quietly wrong.
Selectors come from the page, not from pixels. Every tool call returns the page's accessibility snapshot — roles and names — and the agent picks its target from what the page actually said: role=link[name="Projects"]. A coordinate would record a click on whatever happened to move into that spot.
The voice sets the pace. Narration is synthesised before the step is recorded, and the step is held until the speech finishes. Nothing is cut off mid-sentence, and captions are timed from the speech engine's own word boundaries rather than estimated from sentence length.
The cursor is part of the recording. It moves, hovers and clicks where the narration points, so a viewer sees intent rather than a jump cut between two states.
No provider quietly falls back. A silent video where a voice was asked for is a wrong-looking success, so a failed voice fails the step with a message naming the alternatives.
What it will not do
- It does not type a password. Sites behind a sign-in are recorded from a session you established yourself — see Recording a walkthrough.
- It does not narrate secrets. A narration that looks like a credential is rejected at the tool boundary, and the skill's rule is wider than that: no tokens, keys, internal hostnames or personal addresses, and if something is on screen that should not be, pick a different page.
- It records whatever the browser shows. Before pointing it at a site you do not own, read that site's terms, do not record behind a login you were not given for the purpose, and treat anything personal that appears as if you had photographed it — because you have.