Ffmpeg Mcp

io.github.PedroMarianoAlmeidaPublished by GitHub account PedroMarianoAlmeidav1.0.2Updated Oct 24, 2026

FFmpeg video/audio tools: cut, convert, concat, remove silence, and raw commands.

VerifiedSTDIODesktop onlyFiles & StorageMedia & Design

Overview

AI-generated overview

Local MCP server that gives an assistant FFmpeg tools to cut, convert, concatenate, and de-silence video and audio files inside a workspace.

What you can do
  • Cut a segment from a video or turn a still image into a fixed-length video
  • Join several videos into one file
  • Convert between media formats such as mp4, mp3, wav and mov, including extracting audio
  • Detect and remove silent segments from video or podcast audio
  • Run a restricted FFmpeg command with local inputs, one output path and a small set of codec and timing options
When to use it
Useful when you want an assistant to perform everyday media edits on local files — trimming clips, changing formats, merging videos or cleaning up silence — without installing FFmpeg system-wide, since a bundled binary is included.
Requirements
Runs as a local process, installed from npm (ffmpeg-mcp-server) or built from source with Node.js; a bundled FFmpeg binary is included. Optionally set FFMPEG_MCP_WORKSPACE to the media directory; if unset, the server's current working directory is used. Output directories must exist before running a tool.
Before you install
Tools write files, so point FFMPEG_MCP_WORKSPACE at a dedicated media directory; all inputs and outputs must stay inside it, and URL schemes, traversal outside the workspace and symlink outputs are rejected. The raw command tool is restricted to local inputs, one output and limited codec/timing options, but it still runs FFmpeg on your machine.

Installation

In SourceWeft

  1. Open Ffmpeg Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

FFmpeg MCP Server

A Model Context Protocol (MCP) server that provides video and audio manipulation tools powered by FFmpeg. This server enables AI assistants to perform media operations like cutting videos, converting formats, removing silence, and more.

Features

  • Self-contained - Includes bundled FFmpeg binary via ffmpeg-static, no system installation required
  • Format conversion - Convert between audio/video formats (mp4, mp3, wav, mov, etc.)
  • Video editing - Cut segments, concatenate multiple videos, convert images to video
  • Audio processing - Detect and remove silent segments automatically
  • Local by default - Inputs and outputs stay inside a configured workspace

Available Tools

ToolDescription
cut_videoExtract a segment from a video using start time and duration
image_to_videoConvert a static image to a video with fixed duration
concat_videosJoin multiple videos into one
convertConvert between media formats (auto-detects from file extension)
remove_silenceDetect and remove silent segments from video
ffmpeg_rawRun a restricted local FFmpeg command

Installation

From npm (recommended)

bash
npm install -g ffmpeg-mcp-server

From source

bash
git clone https://github.com/PedroMarianoAlmeida/ffmpeg-mcpcd ffmpeg-mcpnpm installnpm run build

Configuration

Workspace and safety

Every input and output must be inside FFMPEG_MCP_WORKSPACE. If it is unset, the server's current working directory is used. The server resolves symlinks before reading and rejects URL schemes, traversal outside the workspace, and symlink outputs. Create output directories before running a tool.

ffmpeg_raw is deliberately restricted. It accepts local -i inputs, one final local output path, and a small set of codec and timing options. It does not accept filters, forced formats, or arbitrary FFmpeg flags because those options can load extra files or use network protocols.

For example, set a dedicated media directory in your MCP configuration:

json
{  "mcpServers": {    "ffmpeg": {      "command": "npx",      "args": ["ffmpeg-mcp-server"],      "env": {        "FFMPEG_MCP_WORKSPACE": "/absolute/path/to/media-workspace"      }    }  }}

Claude Desktop

Add to your claude_desktop_config.json:

json
{  "mcpServers": {    "ffmpeg": {      "command": "npx",      "args": ["ffmpeg-mcp-server"]    }  }}

Claude Code

Add to your Claude Code MCP settings:

json
{  "mcpServers": {    "ffmpeg": {      "command": "npx",      "args": ["ffmpeg-mcp-server"]    }  }}

Usage Examples

Cut a video segment

"Cut the first 30 seconds from video.mp4"→ Uses cut_video tool

Convert formats

"Convert video.mov to mp4""Extract audio from video.mp4 as mp3"→ Uses convert tool

Remove silence

"Remove silent parts from my podcast recording"→ Uses remove_silence tool (detects silence > 2s at -30dB by default)

Restricted raw operations

"Convert input.mp4 to output.mp4 using libx264"→ Uses ffmpeg_raw with local paths and supported codec options

Development

bash
# Install dependenciesnpm install
# Buildnpm run build
# Project structuresrc/  index.ts    # MCP server setup and tool registrations  lib.ts      # FFmpeg operations

License

MIT

Source: README.md at commit 518b13c

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts