io.github.PedroMarianoAlmeida/ffmpeg-mcp

Official registry Media and design

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

What can you do with io.github.PedroMarianoAlmeida/ffmpeg-mcp?

  • 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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package ffmpeg-mcp-server
Claude Code
claude mcp add ffmpeg-mcp -- npx -y ffmpeg-mcp-server@1.0.2
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "ffmpeg-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "ffmpeg-mcp-server@1.0.2"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. FFmpeg MCP Server
  2. Features
  3. Available Tools
  4. Installation
  5. Configuration
  6. Usage Examples
  7. Development
  8. License

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

npm install -g ffmpeg-mcp-server
From source
git clone https://github.com/PedroMarianoAlmeida/ffmpeg-mcp
cd ffmpeg-mcp
npm install
npm 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:

{
  "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:

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

Add to your Claude Code MCP settings:

{
  "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

# Install dependencies
npm install

# Build
npm run build

# Project structure
src/
  index.ts    # MCP server setup and tool registrations
  lib.ts      # FFmpeg operations

License

MIT

Frequently asked questions

What is io.github.PedroMarianoAlmeida/ffmpeg-mcp?

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

How do I install io.github.PedroMarianoAlmeida/ffmpeg-mcp?

It runs on your machine. In Claude Code: claude mcp add ffmpeg-mcp -- npx -y ffmpeg-mcp-server@1.0.2. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.PedroMarianoAlmeida/ffmpeg-mcp need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.PedroMarianoAlmeida/ffmpeg-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.PedroMarianoAlmeida/ffmpeg-mcp?

It is published by PedroMarianoAlmeida. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.