Each tool returns a clip ID you pass to the next, which is what makes a multi-step edit possible in a conversation instead of one operation per file write; list_clips and delete_clip keep memory from filling. The custom effects — chroma key, vertical auto-framing, kaleidoscope — are the ones you would otherwise hand-write on top of MoviePy.
An MCP wrapper around MoviePy. Clips are held in the server's memory and handed back as IDs, so one edit chains into the next without re-reading the file.
- Media loaded from disk — video, audio, stills, image sequences (video_file_clip, audio_file_clip, image_clip, image_sequence_clip)
- Clips generated from nothing: text, solid colour, credit rolls, subtitles and gradients (text_clip, color_clip, credits_clip, subtitles_clip, tools_drawing_color_gradient)
- Composition and joining, as a layered overlay or a grid (composite_video_clips, concatenate_video_clips, tools_clips_array)
- Time effects — freeze, speed change, reverse, loop, accelerate and decelerate (vfx_freeze, vfx_multiply_speed, vfx_time_mirror, vfx_loop, vfx_accel_decel)
- Colour and geometry — black and white, invert, fades, gamma, mirroring, margins, scrolling (vfx_black_white, vfx_fade_in, vfx_gamma_correction, vfx_mirror_x, vfx_margin, vfx_scroll)
- Effects you would otherwise write yourself: green-screen removal, chromatic-aberration glitch, kaleidoscope, digital rain, a rotating cube map, and subject-tracking reframing for vertical video (vfx_chroma_key, vfx_rgb_sync, vfx_kaleidoscope, vfx_matrix, vfx_rotating_cube, vfx_auto_framing)
- Audio work — volume, stereo balance, fades, delay, loop, normalise (afx_multiply_volume, afx_audio_fade_in, afx_audio_delay, afx_audio_normalize)
- Analysis passes: scene-cut detection, repetition period in video or audio, subtitle files parsed (tools_detect_scenes, tools_find_video_period, tools_find_audio_period, tools_file_to_subtitles)
- Lossless trimming that skips re-encoding (tools_ffmpeg_extract_subclip), and export to video, audio or GIF (write_videofile, write_audiofile, write_gif)
- Clips in memory listed and dropped when you are done with them (list_clips, delete_clip)
- Prompt templates for whole workflows — a slideshow, a title card, a glitch preset, a vertical reframe
Python with uv, plus FFmpeg for processing and ImageMagick for the text and credit clips. The container image bundles all of that and mounts a media directory you drop source files into; output written there appears on your machine.
Build from source — clone the repository and build it, then point your client at the binary
