get_video_metadataLABSCO SUMMARY
The edit you can describe but not spell in flags.
FFmpeg's power was never the problem; remembering its syntax is. Breaking it into named steps lets the assistant chain trim, scale, overlay and export without you touching a command line.
What it is
An MCP server that puts FFmpeg behind a set of small, single-purpose tools. Each one is a validated Python function, so the model composes an edit out of steps rather than assembling one long command line.
What you get
- A file probed for streams, codecs and duration
- Sub-clips cut by start time and duration
- Crops to a region, and scaling to the usual HD, 2k and 4k targets with aspect preserved
- Frames saved as images, evenly, by interval or one per second
- Audio pulled out to a .wav file
- An image overlaid on video, clips concatenated with or without a transition, and a segment turned into an optimised GIF
Requirements
Python 3.12 or newer, and FFmpeg available on the machine since every tool is a wrapper around it. Paths are checked for existence, emptiness and validity before FFmpeg runs.
Setup effort
Build from source — git clone https://github.com/yubraaj11/ffmpeg-mcp.git
USE CASES
Turning a screen recording into a shareable GIF
Cut the segment, scale it, and export the GIF as one chain.
Putting a logo on a finished video
Overlay the image at the corner you name.
Getting a transcript-ready audio track
Pull the audio out to a .wav file.
Stitching several takes into one cut
Concatenate the clips, adding a transition between them if you want one.
Checking what you were actually handed
Probe the file for streams, codecs and duration before planning the edit.
Pulling stills for a thumbnail
Save frames evenly, at an interval, or one per second.
12 tools
Listed in project docs. Your client may show a different list.
extract_framesextract_audioscale_videocrop_videoclip_videomake_gifoverlay_imageoverlays_videotrim_and_concat_operationget_normalized_clipsconcat_clips_with_transitionBEFORE YOU INSTALL
What to know first
Tools you get
12 tools named in the project's documentation.
Requires
Python 3.12+
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
Requirements: Python 3.12+, FFmpeg installed and on your PATH (provides ffmpeg + ffprobe), uv package manager. Verify FFmpeg is available: ffmpeg -version
git clone https://github.com/yubraaj11/ffmpeg-mcp.git
cd ffmpeg-mcp
uv sync --frozenConnect it to your MCP client: add the config block below to claude_desktop_config.json or .cursor/mcp.json; its paths start with your absolute clone path.
Restart your client and start editing.
MCP Clients
Any MCP client
{
"mcpServers": {
"ffmpeg-mcp": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_FFMPEG_MCP>/ffmpeg_mcp",
"run",
"main.py"
],
"env": {
"PYTHONPATH": "<YOUR_PATH_TO_FFMPEG_MCP>"
}
}
}
}