video_file_clipLABSCO SUMMARY
MoviePy's whole surface, with clip IDs so edits chain.
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.
What it is
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.
What you get
- 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
Requirements
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.
Setup effort
Build from source — clone the repository, then follow the project's own run instructions
USE CASES
Cutting a long recording down
Trim the section you want without re-encoding, then write it out.
Reformatting a landscape video for a vertical feed
Track the subject, crop to a vertical frame, and export.
Building a slideshow from stills
Load the images as a sequence, add a title card and fades, and concatenate the whole thing.
Removing a green screen
Key the background out with a threshold and softness you control, then composite the subject over a new background.
Finding the cuts in footage you did not shoot
Run scene detection and work from the boundaries it reports.
Keeping the session from filling memory
List the clips still held and drop the ones you have finished with.
81 tools
Listed in project docs. Your client may show a different list.
audio_file_clipimage_clipimage_sequence_cliptext_clipcolor_clipcredits_clipsubtitles_cliptools_drawing_color_gradienttools_drawing_color_splitwrite_videofilewrite_audiofilewrite_giftools_ffmpeg_extract_subclipcomposite_video_clipsconcatenate_video_clipstools_clips_arraycomposite_audio_clipsconcatenate_audio_clipssubclipvfx_resizevfx_cropvfx_rotateset_positionset_audioset_maskset_startset_endset_durationvfx_freezevfx_freeze_regionvfx_multiply_speedvfx_time_mirrorvfx_time_symmetrizevfx_loopvfx_make_loopablevfx_accel_decelvfx_black_whitevfx_invert_colorsvfx_fade_invfx_fade_outvfx_gamma_correctionvfx_lum_contrastvfx_multiply_colorvfx_paintingvfx_blinkvfx_mirror_xvfx_mirror_yvfx_even_sizevfx_marginvfx_scrollvfx_supersamplevfx_slide_invfx_slide_outvfx_head_blurvfx_mask_colorvfx_masks_andvfx_masks_orvfx_matrixvfx_kaleidoscopevfx_rgb_syncvfx_chroma_keyvfx_auto_framingvfx_clone_gridvfx_rotating_cubevfx_quad_mirrorvfx_kaleidoscope_cubeafx_multiply_volumeafx_multiply_stereo_volumeafx_audio_fade_inafx_audio_fade_outafx_audio_delayafx_audio_loopafx_audio_normalizetools_detect_scenestools_find_video_periodtools_find_audio_periodtools_file_to_subtitlestools_check_installationlist_clipsdelete_clipBEFORE YOU INSTALL
What to know first
Tools you get
81 tools named in the project's documentation.
Requires
- uv on PATH
- Python 3.12+
Where it runs
All 4 documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
uv run main.pyMCP Clients
Claude Desktop — uv, Cursor — uv
{
"mcpServers": {
"vidMagik-mcp": {
"command": "uv",
"args": [
"run",
"main.py"
],
"cwd": "<YOUR_PATH_TO_VID_MAGIK_MCP>"
}
}
}Claude Desktop — Docker, Cursor — Docker
{
"mcpServers": {
"moviepy": {
"command": "docker",
"args": [
"compose",
"run",
"--rm",
"-i",
"mcp-moviepy"
],
"cwd": "<YOUR_PATH_TO_MCP_MOVIEPY>"
}
}
}