The 28 WebMCP Tools by Domain:
- Asset Metadata & Semantic Notes (3 tools):
get_asset_metadata,set_asset_notes,search_assets— Attach and search semantic descriptions, mood tags, BPM tempos, spoken transcripts, and visual descriptions so the agent understands raw media files (e.g., matching"whoosh transition"tosfx_0294.mp3). - File System Operations (4 tools):
list_project_files,read_project_file,write_project_file,delete_project_file— Direct read/write access to project directory files and scripts. - Script & Tab Lifecycle (8 tools):
get_active_script,get_video_script,set_active_script_code,update_video_script,create_script,list_open_scripts,switch_active_script,save_active_script— Read, generate, and hot-reload DSL scripts with real-time agent reasoning banners. - Engine & Playback Telemetry (3 tools):
validate_script,get_scene_settings,control_playback— Perform dry-run syntax checks, inspect canvas dimensions/FPS, and drive timeline playback. - Hardware Video Export (1 tool):
export_video— Trigger client-side GPU video encoding with configurable codecs (H.264/AVC, AV1, VP9) and automatically save outputs to the project's export folder. - Documentation & Knowledge Base (3 tools):
search_vide_docs,search_vide_documentation,get_dsl_reference— Embedded vector-scored knowledge base for the agent to look up DSL syntax, math rendering, and composition rules on the fly. - Multimodal Visual Inspection & QA (3 tools):
capture_frame_screenshot,analyze_timeline,inspect_layers_at_time— Render in-memory frame buffers to base64 PNGs for multimodal vision models to visually verify text alignment, contrast, and layout, correcting bugs autonomously. - Timeline Cues & Scene Navigation (3 tools):
list_timeline_cues,seek_to_cue,add_timeline_cue— Manage timeline markers, gutter breakpoints, and playhead anchors across scenes.
How We Built It
Having no formal background in compiler design, AST manipulation, or custom DSLs prior to this project, I paired with ChatGPT and Gemini as collaborative engineering partners throughout development.
We established that compiling a deterministic subset of JavaScript using Acorn was the ideal architecture—giving users familiar syntax with mathematical operators, while completely eliminating non-deterministic loops and security risks in the evaluation sandbox.
Technical Stack:
- Framework & Routing: Full-stack local-first application built with TanStack Start, React 19, and Tailwind CSS v4.
- Agent Protocol: WebMCP Bridge exposing 28 structured tools over
window.modelContextand message channels. - Language Runtime: Acorn for AST parsing, evaluated in a deterministic sandbox with Valibot schema validation at every trust boundary.
- Code Editor: Monaco Editor with custom Monarch tokenizers, syntax highlighters, and DSL snippet completions.
- Engine & Export: Custom HTML5 Canvas 2D engine paired with Mediabunny for WebCodecs MP4/WebM hardware encoding and Web Audio API mixing.
- Storage & Hosting: IndexedDB with the File System Access API; deployed serverlessly on Cloudflare Workers.
Challenges We Ran Into
- Deterministic Timeline Architecture: Translating declarative composition (
parallel,sequence,at,after,gap,offset) into an immutable, time-addressable AST graph while preventing timeline keyframe collisions. - Synchronizing Video, Audio, and Canvas Lifecycles: Ensuring Mediabunny's frame-exact video reader and the Web Audio context stayed strictly aligned during interactive timeline scrubbing and offline hardware encoding.
- Cross-Platform WebCodecs Audio Encoding: Overcoming platform-specific audio encoder limitations (such as Linux Chromium lacking AAC encoders) by implementing dynamic
AudioEncoder.isConfigSupportedfallback routing between AAC and Opus inside MP4 containers. - Designing a Clean 28-Tool WebMCP Surface: Structuring a comprehensive tool suite that allows deep multimodal inspection without overwhelming the agent's context window.
Accomplishments That We're Proud Of
- Zero-Server Video Encoding: Rendering 60 FPS 1080p MP4 videos with custom fonts and LaTeX math entirely within the client browser using WebCodecs and Mediabunny.
- Complete 28-Tool WebMCP Suite: Enabling multimodal AI models to discover assets, author scripts, visually inspect rendered frames, and export motion graphics autonomously.
- True Dogfooding: The entire demonstration and challenge submission video was 100% scripted, animated, composed, and rendered inside Vide itself.
- Local-First Privacy: Full file editing, local asset references, and MP4 generation without a single byte of user media ever leaving their machine.
What We Learned
- How to design a clean Domain-Specific Language (DSL) and evaluate AST nodes deterministically.
- How to leverage the WebCodecs API and Mediabunny for client-side, hardware-accelerated video export pipelines.
- The transformative power of the WebMCP standard in replacing brittle visual UI scraping with structured, bidirectional tool interfaces between web applications and AI agents.
What's Next for Vide
- Orama In-Browser Vector Database: Integrating Orama to provide client-side vector search and semantic similarity matching across asset transcriptions, visual descriptions, and DSL documentation with sub-millisecond local latency.
- Web Worker OffscreenCanvas Rendering: Offloading the entire frame rendering and WebCodecs encoding pipeline into background Web Workers for faster export throughput.
- Procedural Data Visualization Nodes: Built-in animated bar charts, line plots, and telemetry counter primitives.
- Smart Audio Ducking: Automatic volume ducking on music tracks when voiceover layers are active.
- Direct Canvas Transform Gizmos: Interactive handles to manipulate shapes on screen while two-way syncing coordinates directly back into the DSL code.
Built With
- acorn
- canvas-api
- cloudflare-workers
- file-system-access-api
- katex
- latex
- local-first
- mediabunny
- monaco-editor
- react
- tailwindcss
- tanstack-start
- typescript
- valibot
- vite
- web-audio-api
- webcodecs
- webmcp
- zustand
Log in or sign up for Devpost to join the conversation.