Aidemo
Narrated, captioned product-demo MP4 from a storyboard.json; re-renders itself in CI at ~$0.
Connector by tandryukha · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Aidemo?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/tandryukha-aidemo
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: audio-video, testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 11 read · 7 write · 0 delete · 6 not yet classified
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 24
Read from the source code; the running server may list different tools.
Read 11 · Look things up without changing anything.
doctorembedget_authoring_guideget_storyboard_schemagifinspectjob_listjob_statuslint_storyboardstillsvalidate_storyboard
Write 7 · Create, change, send or run things.
composeimport_traceinit_demojob_cancelprobeqarecord
Not yet classified 6 · We could not tell from the name and description.
captionsfeedbackframesrendervoicewalkthrough
Network hosts it talks to 11
1.1.1.1· found in codeaidemo.top· found in codeapi.elevenlabs.io· found in codeapi.openai.com· found in codechatgpt.com· found in codegithub.com· found in codeglama.ai· found in codentfy.sh· found in coderaw.githubusercontent.com· found in codesearch.google.com· found in codeturg.fitness.ee· found in code
Files it touches
/tmp/aidemo-indexing-progress.json/tmp/aidemo-indexing-report.json/tmp/form.png/Users/tandryukha/dropshipping-irondust/scripts/admin/notify-lib.sh- Your home directory (~)
- Any path the agent passes to its tools
Tools (24)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
captionsTranscribe narration.mp3 to captions with word timing. Returns a jobId immediately — poll job_status. Rejects if another job is running.
composeTrim, sync, mux and caption into output/final-demo.mp4. Returns a jobId immediately — poll job_status. Rejects if another job is running.
doctorEnvironment preflightread-onlyCheck prereqs: node, ffmpeg, Chrome, TTS/STT endpoint (flags LLM-only servers like Ollama), API key, playwright, installed skill.
embedAlways-fresh embed snippetsread-onlyReady-to-paste embed snippets (markdown GIF, markdown still, HTML <video>) for a demo, using stable raw.githubusercontent URLs on the 'demo-media' branch. Pure string generation — no network, no render. Owner/repo come from the repo's origin remote; the demo name from the directory basename. Pair with the demo-publish workflow so CI keeps the URLs fresh. See docs/EMBEDS.md.
feedbackFile engine feedbackFile a bug, surprise, or workaround you hit this session as a GitHub issue on the aidemo engine repo (github.com/tandryukha/aidemo) — the in-band equivalent of `aidemo feedback` on the CLI. Environment (engine version, OS, node, ffmpeg) and a recent-log tail from `dir` are auto-attached, same as the CLI. Uses `gh issue create` when available; falls back to a local docs/feedback-*.md plus a prefilled github.com New Issue URL when gh is missing or offline — no other network call. Call this whenever something felt broken, surprising, or needed a workaround; skip it if the session was clean. Set d…
framesDump evenly spaced PNG frames from the final video (or the raw take) into output/frames/ for review — look at them instead of hand-running `ffmpeg -ss`. Needs only the video (no key). Returns a jobId immediately — poll job_status. Rejects if another job is running.
get_authoring_guideGet the aidemo authoring guideread-onlyDescription is built at runtime.
get_storyboard_schemaGet the storyboard JSON Schemaread-onlyJSON Schema for storyboard.json, generated from the engine's own zod schema — the exact contract the engine validates against.
gifConvert output/final-demo.mp4 to a README-ready GIF. Returns a jobId immediately — poll job_status. Rejects if another job is running.
import_traceDraft a storyboard from a Playwright trace or testTurn a Playwright trace.zip (context.tracing / `--trace on`) or a *.spec.ts test file into demos/<name>/ with a draft storyboard: the run's own actions and selectors become scenes (cut at navigations and async payoffs), narration is left as placeholders, and `_notes` lists what was approximated. No LLM, no browser. Then write the narration and probe.
init_demoScaffold a new demoCreate demos/<name>/ with a starter brief + storyboard. dir is the repo to scaffold into (absolute path recommended; default: server cwd). With fromUrl the page is inspected first (no LLM): its headings become scenes and its unique selectors become the beats + a `_candidates` list — you then write the narration and turn the candidate hover into the real click.
inspectOpen a URL in the recording profile (logged-in state included) and list every visible interactive element with UNIQUE selectors ranked data-testid → id → aria-label → role/text → name/placeholder → class → path, plus headings and iframes. Use it BEFORE writing targets — no selector guessing, no wasted probe. Writes logs/inspect-<n>.json and a screenshot in the demo dir. Returns a jobId immediately — poll job_status. Rejects if another job is running.
job_cancelCancel a jobBest-effort cancel (checked between actions/scenes/stages). A mid-record cancel salvages the partial timeline + footage. The job settles asynchronously — poll job_status for the final state.
job_listList jobsread-onlyAll jobs this server session, newest last.
job_statusPoll a jobread-onlyStatus, stage, per-scene progress (scenesTotal/scenesDone/currentScene — populated for probe/record/render/voice/captions/compose), log tail, and final result or error (with failure-artifact paths and, on a genuine failure, a feedbackHint pointing at the feedback tool) of a pipeline job.
Show 9 more tools
lint_storyboardLint a storyboard (preflight, no browser)read-onlyBrowser-free preflight over a storyboard: a per-scene pacing forecast (which scenes compose will mostly freeze-hold or cut because the narration and the recorded action don't match), selector/wait pitfalls (type+Enter with no wait, :text-is on nested labels, focus without a zoom block, anchored waitForChange regexes), and no-op keys. Run it after every storyboard edit, before probe/render. Pass exactly one of dir / path / json. lang lints a narrations[lang] translation at that language's speaking rate.
probeRecord-only dry run to verify selectors/timing (narration optional). With updateGolden, writes golden/probe.json (the regression baseline); with golden, deep-compares against it and returns match + field-level diffs. Returns a jobId immediately — poll job_status. Rejects if another job is running.
qaPost-render checks on the FINISHED MP4 — blank opening, blank poster, master loudness, music-bed level, per-scene hold shares + compose warnings, caption readability, frame/chapter hygiene. Run it after compose/render: it sees what a viewer sees, which neither lint (pre-take) nor report.json (structural) can. Returns a jobId immediately — poll job_status. Rejects if another job is running.
recordDrive the storyboard in Chrome and record raw video + timeline.json. Returns a jobId immediately — poll job_status. Rejects if another job is running.
renderFull pipeline: voice → record → captions → compose (the CLI `render`). Returns a jobId immediately — poll job_status. Rejects if another job is running.
stillsExtract named stills (screenshot mode) from the recorded take into output/stills/ — one PNG per `still` marker, pulled from the CLEAN take (no captions/zoom). Needs only a recorded timeline (no key). Returns a jobId immediately — poll job_status. Rejects if another job is running.
validate_storyboardValidate a storyboardread-onlyValidate a storyboard against the engine schema without running anything. Pass exactly one of: dir (uses generated/storyboard.json), path (a storyboard file), or json (storyboard JSON as a string). relaxed makes narration optional (probe semantics).
voiceGenerate per-scene TTS narration (skips unchanged scenes). Returns a jobId immediately — poll job_status. Rejects if another job is running.
walkthroughExport output/walkthrough/ from the final video: index.html (one card per scene — payoff frame, title, narration, jump-to-time; ← → keyboard nav), guide.md (README/SOP-ready), per-scene PNGs, SRT/VTT and a JSON manifest. Needs only the rendered video + report.json (no key, no browser). Returns a jobId immediately — poll job_status. Rejects if another job is running.
Signals
- Stars
- 18
- Forks
- 2
- Open issues
- 2
- Last commit
- Sep 29, 2026 (1 month ago)
- Last release
- Sep 25, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.tandryukha/aidemo- Version
- 0.15.2
- Auth
- No auth
- Packages
- npm @tandryukha/aidemo
- License
- MIT
- Repository
- github.com/tandryukha/aidemo
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Aidemo running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Aidemo MCP server. Agent Mart. https://agentmart.dev/connectors/tandryukha-aidemo (last updated 2026-10-24)