Labsco
MCP SERVER

VFX MCP

by conneroisu

Drive FFmpeg from the conversation: trim, join, resize, transcode, restyle and analyse video files on your own disk.

Video Generation & Editing
Summary
FFmpeg's capability without FFmpeg's command line.

The named operations cover what most edits actually need, and `apply_filter` takes a raw filter string for everything they do not — so the ceiling is FFmpeg's, not the tool list's. Files stay on your disk and paths are explicit, which makes it usable on footage you would never upload.

What it is

A video editing MCP server built on FastMCP and ffmpeg-python. It works on files in a local workspace rather than uploads, and the documented tool set spans 35+ operations across basic edits, audio, effects and colour, format conversion, composition and analysis. Long operations report progress back through the MCP context, and the workspace is browsable as resources.

What you get
  • The four everyday edits — segment extraction, resolution change, joining clips, and metadata inspection — `trim_video`, `resize_video`, `concatenate_videos`, `get_video_info`
  • Audio extracted, added or replaced, tracks merged, and a spectrum visualisation rendered — `extract_audio`, `add_audio`, `merge_audio_tracks`, `extract_audio_spectrum`
  • Any FFmpeg filter string applied directly, plus speed changes, colour grading, motion blur and stabilization as named operations — `apply_filter`, `change_speed`, `apply_color_grading`, `apply_motion_blur`, `apply_video_stabilization`
  • Format and codec conversion, and a frame pulled out as a thumbnail — `convert_format`, `generate_thumbnail`
  • Composition: slideshows from images, multi-video mosaics, picture-in-picture, time lapses and transitions between clips — `create_video_slideshow`, `create_video_mosaic`, `create_picture_in_picture`, `create_time_lapse`, `create_video_transitions`
  • Analysis: frames extracted, scene changes detected, technical statistics and dominant colours reported — `extract_frames`, `detect_scene_changes`, `extract_video_statistics`, `extract_dominant_colors`
  • Text and graphics over the picture, and batch processing across several files — `add_text_overlay`, `create_animated_text`, `batch_process_videos`
  • The workspace readable as resources: `videos://list` for what is there and `videos://{filename}/metadata` for one file
Requirements

FFmpeg on the machine — everything here is a wrapper around it — and Python 3.13 or newer. `pip install vfx-mcp` gives a `vfx-mcp` command the client runs over stdio; a Nix flake and a `uv sync` path both exist for running from a clone. No account and no key: tools take input and output paths, and `VFX_WORK_DIR` points the server at the directory holding your footage. Rendering is CPU work on your own machine, so long jobs are long — progress is reported while they run.

Setup effort

One command — pip install vfx-mcp