MCP server that records narrated, subtitled tutorial videos by driving a browser with Playwright — captions burned into the video + an .srt sidecar.
Three tools with comprehensive input schemas and detailed descriptions. record_tutorial and record_presentation_demo have well-structured nested schemas with good parameter coverage. However, record_android_tutorial has incomplete schema documentation (steps array items lack detailed properties), and all tools lack explicit output schema documentation. Error handling guidance is absent. Tool names are clear action verbs (record_*), but descriptions could be more concise (currently 150-250 chars, baseline 194 avg). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present.
Record a subtitled tutorial of an Android app (incl. Flutter) on a running emulator/device. Captions can't be injected into a native app, so the screen is recorded with `adb screenrecord` and the captions are burned in afterwards with ffmpeg (libass) from the synced .srt.
Render a polished presentation-style product demo from a storyboard. This is for "deck + app tour" videos: slide content on the left, a live-looking action panel on the right, synced captions, optional TTS, zooms and fades.
Record a subtitled tutorial video by driving a browser through a list of steps. Captions are injected as an on-page overlay (burned into the video) and synced to each step; a matching .srt sidecar is also written.
record_android_tutorial steps parameter lacks detailed schema. Items are typed as object but properties are not enumerated, forcing LLMs to infer valid step structure from description alone.
No output schemas documented for any tool. LLMs cannot predict return structure (e.g., does record_tutorial return {path, duration, srtPath} or just a string path?). Breaks downstream tool chaining.
No error handling guidance. Tools are WRITE operations (video recording, file I/O) but lack recovery hints. If recording fails mid-stream, LLM has no guidance on retry strategy or cleanup.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Tool descriptions lack WHEN-to-use context. record_tutorial vs record_android_tutorial vs record_presentation_demo distinctions are clear, but descriptions don't explain when to choose one over another or prerequisites (e.g., 'requires running Android emulator' for record_android_tutorial).
No tool annotations (destructiveHint, idempotentHint). All three tools perform WRITE operations (create video files, modify filesystem) but lack annotations to signal this to agents.