FFmpeg-MCP

by video-creator

137 stars
361 downloads
Not rated
GitHub

About

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,clip, overlay, concat and other functions

Details

Author
video-creator
GitHub stars
137
Downloads
361
Categories
Other

- Find video files in a directory recursively.
- Get video metadata (duration, fps, codec, dimensions).
- Trim video by start/end time or duration.
- Concatenate multiple videos with automatic smart mode.
- Play video or audio with ffplay.
- Overlay one video onto another at a specified position.
- Scale video dimensions while preserving aspect ratio.
- Extract frames from a video at a given rate (PNG, JPG, or WEBP).

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name FFmpeg-MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, run uv sync in the project directory, then configure your MCP client with the stdio transport. The client command is uv --directory /path/to/ffmpeg-mcp run ffmpeg-mcp. Tools are invoked automatically by the AI assistant when it processes natural language requests.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "ffmpeg-mcp": {
            "ffmpeg-mcp": {
                "autoApprove": [],
                "disabled": false,
                "timeout": 60,
                "command": "uv",
                "args": [
                    "--directory",
                    "/Users/xxx/Downloads/ffmpeg-mcp",
                    "run",
                    "ffmpeg-mcp"
                ],
                "transportType": "stdio"
            }
        }
    }
}

McpServers

{
    "ffmpeg-mcp": {
        "autoApprove": [],
        "disabled": false,
        "timeout": 60,
        "command": "uv",
        "args": [
            "--directory",
            "/Users/xxx/Downloads/ffmpeg-mcp",
            "run",
            "ffmpeg-mcp"
        ],
        "transportType": "stdio"
    }
}

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

<a href="https://glama.ai/mcp/servers/@video-creator/ffmpeg-mcp">
FFmpeg-Server MCP server
</a>

Support Tools

The server implements the following tools: <br/> - 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. <br/> background_video: backgroud video path <br/> overlay_video: front video path <br/> output_path: output video path<br/> position: relative location<br/> dx: x offset<br/> dy: y offset<br/> - scale_video Video scale. <br/> video_path: in video path <br/> width: out video width, -2 keep aspect <br/> height: out video height, -2 keep aspect <br/> output_path: output video path <br/> - extract_frames_from_video Extract images from a video.<br/> Parameters: <br/> video_path (str): The path to the video.<br/> 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.<br/> output_folder (str): The directory where the images will be saved.<br/> format (int): The format of the extracted images; 0: PNG, 1: JPG, 2: WEBP.<br/> total_frames (int): The maximum number of frames to extract. If set to 0, there is no limit<br/> <br/> More features are coming

Installation procedure

1. Download project
git clone  https://github.com/video-creator/ffmpeg-mcp.git
cd ffmpeg-mcp
uv sync

2. 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
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.