Almost every problem with a wrapper like this is FFmpeg not being where the process can find it, and having that as its own tool turns a cryptic conversion error into a one-line answer. The conversion tool itself covers audio and images too, so it is more of a general media converter than the name suggests.
A Python server that wraps FFmpeg. It checks that FFmpeg is installed and reachable, tells you which formats are available, and converts files between them — so "turn this webm into an mp4 at high quality" becomes a request rather than a command you have to remember the flags for.
- `check_ffmpeg_installed` verifies FFmpeg is present and reachable on the system PATH
- `get_supported_formats` lists what you can convert to
- `convert_video` takes `input_file_path`, `output_format` and `quality`, and handles video, audio and image files alike
- Video: MP4, WebM, MOV, AVI, MKV, FLV, GIF. Audio: MP3, WAV, OGG, AAC, M4A. Image: WebP, JPG, PNG, BMP, TIFF
Python 3.10+ and FFmpeg installed and on your system PATH — the server shells out to it and will not work without it. Clone the repository, create a virtual environment, then `pip install -e .` and `pip install fastmcp`; run it as `python -m mcp_video_converter.server`. A Dockerfile and a Smithery config are included, with `FFMPEG_PATH` and `DEFAULT_QUALITY` available as container environment variables. Quality accepts low, medium or high, defaulting to medium.
