FFmpeg

Provides FFmpeg-based media processing through MCP clients, enabling metadata, conversion, compression, trimming, audio extraction, and subtitles.
  • 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational