ffmpeg-mcp

ffmpeg-mcp

33

FFmpeg-MCP is designed to use FFmpeg through command line as an MCP server for convenient local video manipulation functions like search, edit, and playback. It supports various tools for efficient handling of video files and operates primarily on macOS.

FFmpeg-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

FFmpeg-Server MCP server

Support Tools

The server implements the following tools:

  • find_video_path The parameters are directory and file name, file name can be complete, or is not suffixed, recursive search in the directory, return the full path
  • get_video_info The parameters are video path, return the video info, linkes duration/fps/codec/width/height.
  • clip_video The parameter is the file path, start time, end time or duration, and returns the trimmed file path
  • concat_videos The 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 used
  • play_video Play video/audio with ffplay, support many format, like mov/mp4/avi/mkv/3gp, video_path: video path speed: play rate loop: play count
  • overlay_video Two 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 offset
  • scale_video Video scale.
    video_path: in video path
    width: out video width, -2 keep aspect
    height: out video height, -2 keep aspect
    output_path: output video path
  • extract_frames_from_video Extract 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

  1. Download project
git clone  https://github.com/video-creator/ffmpeg-mcp.git
cd ffmpeg-mcp
uv sync
  1. 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