Home / MCP / FFmpeg MCP Server
Provides an MCP server that orchestrates FFmpeg-based video processing tasks like search, cut, stitch, and playback.
Configuration
View docs{
"mcpServers": {
"ffmpeg_mcp": {
"command": "uv",
"args": [
"--directory",
"/Users/xxx/Downloads/ffmpeg-mcp",
"run",
"ffmpeg-mcp"
]
}
}
}You can run an MCP server that uses FFmpeg tooling to perform local video search, tailoring, stitching, and playback tasks through a unified MCP interface. This setup lets you orchestrate FFmpeg-based video processes from a client, enabling automated workflows and on-demand media manipulation.
Use an MCP client to connect to the FFmpeg MCP server you run locally. You can trigger a sequence of video operations such as locating videos, extracting metadata, trimming clips, concatenating segments, and playing or exporting results. The server exposes a set of tools that perform these actions and respond with results or paths to generated media.
Prerequisites you need before starting are installed on your system: a supported runtime for running MCP servers and the capability to run commands from the command line.
1) Clone the project and install dependencies.
2) Start the MCP server as shown in the configuration snippet below.
{
"mcpServers": {
"ffmpeg_mcp": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "uv",
"args": [
"--directory",
"/Users/xxx/Downloads/ffmpeg-mcp",
"run",
"ffmpeg-mcp"
],
"transportType": "stdio"
}
}
}Supported platforms are macOS. The MCP server can run on ARM64 or x86_64 builds.
Searches for a video file within a directory by name, supporting exact or partial names, recursively returning the full path.
Retrieves video metadata such as duration, fps, codec, width, and height from a video path.
Trims a video file based on a start and end time or a duration, returning the path to the trimmed output.
Concatenates a list of video files into a single output. If properties like width, height, and frame rate are consistent across inputs, a quick mode synthesis is used.
Plays video or audio using ffplay with support for common formats and options like speed and loop count.
Overlays one video on top of another with controllable position and offsets to produce a composite output.
Scales a video to a specified width and height while maintaining aspect when -2 is used.
Extracts frames from a video to an image sequence with configurable fps, format, and total frame limit.