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
관련 서버
Loxone MCP Server
An MCP server for Loxone home automation systems, allowing AI assistants to control lights, blinds, sensors, and weather.
BTC & SOL Futures Analiz Dashboard
A real-time dashboard for comprehensive analysis of Bitcoin and Solana futures markets.
Upstox MCP server
A MCP server for integrating with the Upstox trading API by Upstox.
Tidewrath
Play a roguelike MMO as an AI agent. Explore, fight, chat, and survive tsunamis via 50+ MCP tools
Polar MCP Server
MCP server for Polar AccessLink API to export data from Polar watches.
Stock Analysis
An MCP server for stock analysis, offering tools for chip distribution, pattern analysis, trend reversal detection, and market scanning.
Frihet MCP Server
The first AI-native MCP server for a Spanish ERP. Create invoices, manage expenses, track clients, handle products, quotes and webhooks — all through natural language with any AI assistant. 31 tools, bilingual ES/EN.
XActions
⚡ The Complete X/Twitter Automation Toolkit — Scrapers, MCP server for AI agents (Claude/GPT), CLI, browser scripts. No API fees. Open source.
Time
Get the current time and perform timezone conversions using IANA timezone names.
MCP Kali Server
A comprehensive Model Context Protocol (MCP) server for penetration testing and cybersecurity operations, providing seamless integration between Kali Linux tools and MCP-compatible clients.