loading…
Search for a command to run...
loading…
A job queue-based FFmpeg wrapper enabling AI assistants to perform video processing tasks such as trimming, format conversion, resolution change, and subtitle c
A job queue-based FFmpeg wrapper enabling AI assistants to perform video processing tasks such as trimming, format conversion, resolution change, and subtitle conversion through natural language.
An MCP (Model Context Protocol) server and CLI for running FFmpeg jobs via a job queue with configurable parallel workers.
force_run is used.FFMPEG_PATH (see Configuration).Choose one of the following:
pip install mcp-ffmpeg
Or with uv:
uv add mcp-ffmpeg
git clone https://github.com/priyanshum143/MCP-FFMPEG.git
cd MCP-FFMPEG
Then install from the project root:
# With uv
uv sync
# Or with pip (editable install)
pip install -e .
FFmpeg path
ffmpeg from system PATH. FFMPEG_PATH to the full path of the FFmpeg executable (e.g. for Claude Desktop).Worker and paths
Edit src/MCP_ffmpeg/utils/variables.py (class CommonVariables):
PARALLEL_EXECUTIONS_ALLOWED — Number of jobs that can run at once (default: 3).WORKER_RE_RUN_TIME — Seconds to wait between queue checks (default: 10).OUTPUT_DIR / LOGS_DIR — Where job outputs and logs are stored (default: outputs/ and logs/ under project root).You get a menu: choose an action, enter the requested parameters. Jobs are enqueued and processed by background workers. Logs show which worker picked which job.
If you installed from PyPI:
mcp-ffmpeg-cli
If you cloned the repo:
# With uv (from project root)
uv run python -m MCP_ffmpeg.main
# Or after pip install -e .
mcp-ffmpeg-cli
Use the mcp-ffmpeg command so the MCP server runs over stdio.
If you installed from PyPI: use mcp-ffmpeg in your MCP config.
If you cloned the repo: after pip install -e ., use mcp-ffmpeg the same way. If you used uv sync, use uv run mcp-ffmpeg in the terminal, or in your MCP config use the path to your venv’s mcp-ffmpeg script so the server runs in that environment.
Add this to your %APPDATA%\Claude\claude_desktop_config.json (Windows) or the equivalent config for your MCP client:
{
"mcpServers": {
"mcp-ffmpeg": {
"command": "mcp-ffmpeg",
"env": {
"FFMPEG_PATH": "C:\\path\\to\\your\\ffmpeg.exe"
}
}
}
}
On macOS/Linux, use your normal config path and set FFMPEG_PATH to the path of your ffmpeg binary if needed.
src/MCP_ffmpeg/
├── main.py # CLI entrypoint
├── mcp_server.py # MCP server entrypoint + tool definitions
├── actions/ # FFmpeg actions (trim, change format)
├── jobs/ # Job queue, manager, worker
└── utils/ # Logging, paths, CLI helpers
job_details.json, output file, and optional ffmpeg_logs.log.No license required, Clone/Fork the repo and enjoy.
Priyanshu CSE 2025 Graduate | Software Engineer at Amagi Media Labs
Feel free to reach out for collaborations or if you encounter any issues!
Run in your terminal:
claude mcp add mcp-ffmpeg -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.