ffmpeg-mcp
A Python package for media processing using FFmpeg and FastMCP.

ffmpeg-mcp 🎬⚡
A Python package for media processing using FFmpeg and FastMCP. It enables building microservices that handle video/audio tasks with clean, reusable interfaces.
📖 Overview
This project provides a framework for handling media processing tasks using:
- FFmpeg — A powerful multimedia framework for processing audio and video files
- FastMCP — A high-performance framework for building microservices
🛠️ Available Tools
1. Metadata & Frames
-
get_video_metadata-
param(s):
input_video_path: str
-
-
extract_frames-
params:
input_video_path: str | Pathnumber_of_frames: intframe_timestamps: int (eg: 5s, 10s, 15s, ...)
-
2. Audio
-
extract_audio-
param(s):
input_video_path: str
-
3. Video Scaling & Resizing
-
scale_video-
params:
input_video_path: strresolution: Optional[str]
-
4. Overlay Operations
-
overlay_image-
params:
input_video_path: stroverlay_image_path: strpositioning: Literal[top_left, bottom_left, top_right, bottom_right, center, top_center, bottom_center] = 'top_right'scale: tuple[int, int] | None = (100, 100)keep_audio: bool = Trueopacity: float | None = None (range 0.0–1.0)start_time: float = 0.0 (in seconds)duration: float | None = None (in seconds; None = until end of video)
-
-
overlays_video-
params:
input_video_path: stroverlay_video_path: strpositioning: Literal[top_left, bottom_left, top_right, bottom_right] = 'top_left'
-
5. Video Editing
-
clip_video-
params:
input_video_path: strstart_timestampduration: int
-
-
crop_video-
params:
input_video_pathsafe_crop: boolheight: intwidth: intx_offset: inty_offset: int
-
-
trim_and_concatenate-
params:
input_video_pathnumber_of_trims: inttrim_timestamp: List[(start, end), (start, end), ...]
-
-
make_gif-
params:
input_video_pathstart_timestampduration
-
6. Concatenation & Transitions
-
concatenate_videos-
param(s):
file_list: list[Path]
-
-
normalize_video_clips-
params:
input_video_clips: List[str]resolution: tuple default(1280, 720)frame_rate: int default30crf: int default23audio_bitrate: str default128kpreset: str defaultfast
-
-
concat_clips_with_transition-
params:
input_video_clips: List[str]transition_types: str defaultfade(e.g., fade, wipeleft, rectcrop, coverup, etc.)transition_duration: float default2
-
🧰 Utilities
The utils folder contains helper functions and decorators to enhance the functionality and robustness of the media processing tools.
a. Decorators
validate_input_video_pathA decorator that checks if the video path exists, is non-empty, and is a valid video file. This ensures that all video processing functions receive a valid input file.
📦 Requirements
- Python 3.12 or higher
- uv (package manager)
- FFmpeg installed on the system
🚀 Usage
The package can be used to build media processing microservices that leverage the power of FFmpeg through a Python interface.
1. Clone this repo
git clone [email protected]:yubraaj11/ffmpeg-mcp.git
2. Sync the project
uv sync --frozen
3. Use via MCP - Cline config
{
"mcpServers": {
"ffmpeg-mcp": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "uv",
"args": [
"--directory",
"/path/to/ffmpeg-mcp/ffmpeg_mcp",
"run",
"main.py"
],
"env": {
"PYTHONPATH": "/path/to/ffmpeg-mcp"
},
"transportType": "stdio"
}
}
}
📚 Dependencies
ffmpeg-python— Python bindings for FFmpegfastmcp— Framework for building microservicescolorlog— Colored logging outputfastapi— Web framework for building APIspydantic— Data validation and settings management
관련 서버
XActions
⚡ The Complete X/Twitter Automation Toolkit — Scrapers, MCP server for AI agents (Claude/GPT), CLI, browser scripts. No API fees. Open source.
Octagon VC Agents
AI-driven venture capitalist agents powered by Octagon Private Markets' real-time intelligence.
Policy Layer
Non-custodial spending controls for AI agent wallets — enforce limits, allowlists, and kill switches before transactions execute.
Scholar Sidekick MCP
Resolve, format, and export academic citations from any AI assistant
Alpaca Trading
Manage stock and crypto portfolios, place trades, and access market data via the Alpaca Trading API.
HireOtto - Google Ads MCP
A remote Google Ads MCP server built by a marketer for marketers
Doppio Coffee MCP
Order coffee from a roastery DOPPIO, directly through MCP
diagrams-mcp-server
MCP server for generating cloud architecture diagrams, flowcharts, sequence diagrams, and more — powered by mingrammer/diagrams, Mermaid, and PlantUML.
LGTM Dog MCP
Generates dog images with an LGTM (Looks Good To Me) overlay using the Dog CEO API.
CryptoScholar
Live crypto technical analysis MCP server — EMA, RSI, MACD, ATR, Bollinger Bands, TSS scoring, and Claude AI bull/bear debate via CoinGecko free API