- Home
- MCP servers
- FFmpeg
FFmpeg
- python
10
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"kevinwatt-ffmpeg-mcp-lite": {
"command": "uvx",
"args": [
"ffmpeg-mcp-lite"
]
}
}
}You can interact with FFmpeg through an MCP server to perform a wide range of media tasks using natural language or structured prompts. This server exposes FFmpeg-powered tools for information, conversion, compression, trimming, audio extraction, frame capture, subtitle handling, and more, all accessible from MCP clients like Claude, Dive, and others.
How to use
You connect your MCP client to the FFmpeg MCP server, then issue requests that map to FFmpeg operations—such as getting media information, converting formats, compressing videos, trimming clips, extracting audio, and merging videos. Each tool is named with the ffmpeg_ prefix to avoid conflicts and provides parameters you specify (for example, file paths, formats, codecs, or durations). Use natural language prompts or the provided tool names and parameters to perform the tasks you need.
Typical usage patterns include requesting metadata about a file, converting a video to a different format, compressing a clip to reduce size, trimming a segment, or extracting an audio track. You can also merge multiple videos or burn subtitles into a video. If you are working with Whisper MCP or subtitle formats, you can leverage burn-in subtitle capabilities as part of your workflow.
How to install
Prerequisites you need before starting: Python and a runtime that can install Python packages, plus a MCP client to connect to the server.
Step 1: Install the Python package for the MCP server.
pip install ffmpeg-mcp-lite
Step 2: Run the MCP server using the runtime command shown for you in your MCP setup. You will typically run it through the standard runtime command provided for your environment.
Step 3: Add the MCP server configuration to your client to connect to the server. Use the following configuration snippet as the starting point for your client.
{
"mcpServers": {
"ffmpeg": {
"command": "uvx",
"args": ["ffmpeg-mcp-lite"]
}
}
}
Configuration
The server exposes a single MCP endpoint named ffmpeg. The MCP client connects by invoking the stdio runtime with the package name as an argument. You can also customize where outputs are written by adjusting environment variables or the client’s path mappings.
Environment variables you may configure include paths for FFmpeg output. If you need explicit control, you can set an output directory through an environment variable such as FFMPEG_OUTPUT_DIR when launching the server.
{
"mcpServers": {
"ffmpeg": {
"command": "uvx",
"args": ["ffmpeg-mcp-lite"],
"env": {
"FFMPEG_OUTPUT_DIR": "/path/to/output"
}
}
}
}
Tools and endpoints
The server provides a suite of ffmpeg_ tools for common media tasks. Each tool is designed to be invoked by your MCP client with clear parameters.
Troubleshooting
If your client cannot connect, verify that the FFmpeg MCP server is running and that the client configuration matches the command and arguments used to start the server. Ensure that the required runtime (uvx) is installed and available in your system PATH.
Notes
All tools use a consistent naming scheme with the ffmpeg_ prefix to avoid conflicts. This server is designed for cross-platform use and supports async processing to keep media workflows responsive.
Available tools
ffmpeg_get_info
Get comprehensive video/audio metadata including duration, resolution, codecs, bitrate, and streams in JSON format.
ffmpeg_convert
Convert media to different formats with options for scale, video_codec, and audio_codec. Supports formats like mp4, mkv, webm, mov, mp3, wav, etc.
ffmpeg_compress
Compress video to reduce file size using quality presets (low, medium, high) and a chosen encoding preset from ultrafast to veryslow.
ffmpeg_trim
Trim a video to a specified start and end time or duration, supporting time formats like 00:01:30 or seconds.
ffmpeg_merge
Concatenate multiple videos into a single output, preserving compatible codecs.
ffmpeg_extract_audio
Extract the audio track from a video in formats such as mp3, aac, wav, flac, ogg, and opus with controllable bitrate.
ffmpeg_extract_frames
Extract frames as images at a specified interval or count, in formats like jpg, png, or bmp.
ffmpeg_add_subtitles
Burn subtitles into video (hardcode) from formats like SRT, ASS, or VTT with styling options.