About FFmpeg-MCP
FFmpeg-MCP is an MCP server built on the ffmpeg command line for local video work through conversation. It covers searching, trimming, concatenating, overlaying, playing and extracting frames from video files. It suits users who want to handle local videos with natural language requests.
Key features
- 01Recursive video search by file name
- 02Video metadata such as duration, fps and codec
- 03Clipping by start and end time or duration
- 04Concatenation with a fast mode for matching videos
- 05Video overlay with position and offset settings
- 06Frame extraction by interval and image format
Use cases
- 01Finding a local video and cutting out a clip
- 02Joining several video files into one
- 03Extracting image frames from a video in batch
MCP support
This project is an MCP server that exposes tools for searching, clipping, concatenating, scaling, overlaying and extracting frames from videos to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEFFmpeg-MCP
Using ffmpeg command line to achieve an mcp server, can be very convenient, through the dialogue to achieve the local video search, tailoring, stitching, playback and other functions
Support Tools
The server implements the following tools:
find_video_pathThe parameters are directory and file name, file name can be complete, or is not suffixed, recursive search in the directory, return the full pathget_video_infoThe parameters are video path, return the video info, linkes duration/fps/codec/width/height.clip_videoThe parameter is the file path, start time, end time or duration, and returns the trimmed file pathconcat_videosThe parameters are the list of files, the output path, and if the video elements in the list of files, such as width, height, frame rate, etc., are consistent, quick mode synthesis is automatically usedplay_videoPlay video/audio with ffplay, support many format, like mov/mp4/avi/mkv/3gp, video_path: video path speed: play rate loop: play countoverlay_videoTwo video overlay.
background_video: backgroud video path
overlay_video: front video path
output_path: output video path
position: relative location
dx: x offset
dy: y offsetscale_videoVideo scale.
video_path: in video path
width: out video width, -2 keep aspect
height: out video height, -2 keep aspect
output_path: output video pathextract_frames_from_videoExtract images from a video.
Parameters:
video_path (str): The path to the video.
fps (int): Extract one frame every specified number of seconds. If set to 0, extract all frames; if set to 1, extract one frame per second.
output_folder (str): The directory where the images will be saved.
format (int): The format of the extracted images; 0: PNG, 1: JPG, 2: WEBP.
total_frames (int): The maximum number of frames to extract. If set to 0, there is no limit
More features are coming
Installation procedure
- Download project
git clone https://github.com/video-creator/ffmpeg-mcp.git
cd ffmpeg-mcp
uv sync
- Configuration in Cline
{
"mcpServers": {
"ffmpeg-mcp": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "uv",
"args": [
"--directory",
"/Users/xxx/Downloads/ffmpeg-mcp",
"run",
"ffmpeg-mcp"
],
"transportType": "stdio"
}
}
}
Note: the value:/Users/XXX/Downloads/ffmpeg in args need to replace the actual download ffmpeg-mcp directory
Supported platforms
Currently, only macos platforms are supported, including ARM64 or x86_64
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.