Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)★ 18
Write a review

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.

Book a call

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.

We use your email only for this newsletter. Privacy

About

Narrated, captioned product-demo MP4 from a storyboard.json; re-renders itself in CI at ~$0.

Use cases: audio-video, testing

No 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.

  • doctor
  • embed
  • get_authoring_guide
  • get_storyboard_schema
  • gif
  • inspect
  • job_list
  • job_status
  • lint_storyboard
  • stills
  • validate_storyboard

Write 7 · Create, change, send or run things.

  • compose
  • import_trace
  • init_demo
  • job_cancel
  • probe
  • qa
  • record

Not yet classified 6 · We could not tell from the name and description.

  • captions
  • feedback
  • frames
  • render
  • voice
  • walkthrough

Network hosts it talks to 11

  • 1.1.1.1 · found in code
  • aidemo.top · found in code
  • api.elevenlabs.io · found in code
  • api.openai.com · found in code
  • chatgpt.com · found in code
  • github.com · found in code
  • glama.ai · found in code
  • ntfy.sh · found in code
  • raw.githubusercontent.com · found in code
  • search.google.com · found in code
  • turg.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+…].

  • captions

    Transcribe narration.mp3 to captions with word timing. Returns a jobId immediately — poll job_status. Rejects if another job is running.

  • compose

    Trim, sync, mux and caption into output/final-demo.mp4. Returns a jobId immediately — poll job_status. Rejects if another job is running.

  • doctorEnvironment preflightread-only

    Check prereqs: node, ffmpeg, Chrome, TTS/STT endpoint (flags LLM-only servers like Ollama), API key, playwright, installed skill.

  • embedAlways-fresh embed snippetsread-only

    Ready-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 feedback

    File 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…

  • frames

    Dump 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-only

    Description is built at runtime.

  • get_storyboard_schemaGet the storyboard JSON Schemaread-only

    JSON Schema for storyboard.json, generated from the engine's own zod schema — the exact contract the engine validates against.

  • gif

    Convert 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 test

    Turn 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 demo

    Create 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.

  • inspect

    Open 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 job

    Best-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-only

    All jobs this server session, newest last.

  • job_statusPoll a jobread-only

    Status, 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-only

    Browser-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.

  • probe

    Record-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.

  • qa

    Post-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.

  • record

    Drive the storyboard in Chrome and record raw video + timeline.json. Returns a jobId immediately — poll job_status. Rejects if another job is running.

  • render

    Full pipeline: voice → record → captions → compose (the CLI `render`). Returns a jobId immediately — poll job_status. Rejects if another job is running.

  • stills

    Extract 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-only

    Validate 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).

  • voice

    Generate per-scene TTS narration (skips unchanged scenes). Returns a jobId immediately — poll job_status. Rejects if another job is running.

  • walkthrough

    Export 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
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.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Aidemo?

CallGet help
Cite this page

Aidemo MCP server. Agent Mart. https://agentmart.dev/connectors/tandryukha-aidemo (last updated 2026-10-24)