`ffmpeg-mcp` is a [Model Context Protocol](https://modelcontextprotocol.io) server that puts the full power of **FFmpeg** behind a clean set of tools
Ffmpeg MCP MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. ffmpeg-mcp is a Model Context Protocol server that puts the full power of FFmpeg behind a clean set of tools your LLM can call — clip, crop, scale, overlay, concatenate with transitions, extract.
Once Ffmpeg MCP is connected, these are the calls the assistant has available:
get_video_metadata — Probe a file for streams, codecs, duration, etcextract_frames — Save frames as images (evenly, by interval, or 1/sec)extract_audio — Pull audio out to a .wav filescale_video — Upscale to 1080p / 2k / 4k, aspect-preservingcrop_video — Crop to a regionclip_video — Cut a sub-clip by start + durationmake_gif — Turn a segment into an optimized GIFoverlay_image — Composite an image (logo/watermark) with timing & opacityoverlays_video — Overlay a (looping) video onto anothertrim_and_concat_operation — Trim multiple clips and stitch them togetherget_normalized_clips — Normalize clips to a common res/fps/codec (in parallel)concat_clips_with_transition — Concatenate clips with an xfade transitionYou will need one environment variable: PYTHONPATH. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client.
Among the AI and media services options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Ffmpeg MCP's toolset — get_video_metadata, extract_frames, extract_audio and 9 more — is a fair guide to whether it matches your workflow. It is maintained by yubraaj11; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| get_video_metadata | Probe a file for streams, codecs, duration, etc. |
| extract_frames | Save frames as images (evenly, by interval, or 1/sec) |
| extract_audio | Pull audio out to a .wav file |
| scale_video | Upscale to 1080p / 2k / 4k, aspect-preserving |
| crop_video | Crop to a region |
| clip_video | Cut a sub-clip by start + duration |
| make_gif | Turn a segment into an optimized GIF |
| overlay_image | Composite an image (logo/watermark) with timing & opacity |
| overlays_video | Overlay a (looping) video onto another |
| trim_and_concat_operation | Trim multiple clips and stitch them together |
| get_normalized_clips | Normalize clips to a common res/fps/codec (in parallel) |
| concat_clips_with_transition | Concatenate clips with an xfade transition |
| Variable | Description | Required |
|---|---|---|
| PYTHONPATH | Filesystem location the server is allowed to use. | Optional |
Build a programmable telecommunications stack for connecting telephony services with the Internet via a cloud-based utility.
Search built for AI, not humans — semantic web search that returns model-ready content, plus code context.
Answers, not links — delegate questions to Perplexity's search-grounded models and get cited responses back.
Give your assistant a voice — text-to-speech, voice cloning and audio tools from the ElevenLabs API.
Give your assistant a real code sandbox — isolated cloud VMs for actually running the code it writes.
The ML hub in your context window — search models, datasets, papers and run Spaces from the official server.