ffmpeg-mcp について
ffmpeg-mcpは、AIアシスタントがローカルで音声や動画を処理するためのFFmpegベースのMCPサーバーです。編集・変換ツールを備え、ファイル操作を設定済みワークスペース内に制限します。
主な機能
- 01音声・動画形式の変換
- 02動画セグメントの切り出し
- 03動画の連結
- 04画像から動画への変換
- 05無音の検出と除去
- 06制限付きFFmpegコマンド
活用シーン
- 01MOVをMP4に変換
- 02動画から音声を抽出
- 03指定区間の動画を切り出し
- 04ポッドキャスト録音の無音を除去
MCP 対応
MCPクライアントに、メディア変換、編集、連結、無音除去、制限付きFFmpegコマンドのツールを提供します。ファイル操作は設定されたローカルワークスペース内に限られます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| duration | string | はい | 長さ(例:「00:00:30」または「30」) |
| inputPath | string | はい | 入力動画ファイルのパス |
| startTime | string | はい | 開始時刻(例:「00:01:30」または「90」) |
| outputPath | string | はい | 出力動画ファイルのパス |
詳細
FFmpeg MCP サーバー
FFmpeg を利用した動画・音声編集ツールを提供する Model Context Protocol(MCP)サーバーです。このサーバーを使うと、AI アシスタントは動画のカット、形式の変換、無音部分の除去など、さまざまなメディア操作を実行できます。
機能
- 単体で動作 -
ffmpeg-staticにバンドルされた FFmpeg バイナリが含まれているため、システムへのインストールは不要です - 形式変換 - 音声・動画形式(mp4、mp3、wav、mov など)を相互に変換します
- 動画編集 - セグメントのカット、複数の動画の結合、画像から動画への変換を行います
- 音声処理 - 無音のセグメントを自動的に検出して除去します
- デフォルトでローカル動作 - 入力と出力は、設定されたワークスペース内にとどまります
利用可能なツール
| ツール | 説明 |
|---|---|
cut_video | 開始時刻と長さを指定して、動画からセグメントを抽出します |
image_to_video | 静止画像を指定した長さの動画に変換します |
concat_videos | 複数の動画を1つに結合します |
convert | メディア形式を相互に変換します(ファイル拡張子から自動検出) |
remove_silence | 動画の無音部分を検出して除去します |
ffmpeg_raw | 制限付きのローカル FFmpeg コマンドを実行します |
インストール
npm から(推奨)
npm install -g ffmpeg-mcp-server
ソースから
git clone https://github.com/PedroMarianoAlmeida/ffmpeg-mcp
cd ffmpeg-mcp
npm install
npm run build
設定
ワークスペースと安全性
すべての入力と出力は FFMPEG_MCP_WORKSPACE 内にある必要があります。設定されていない場合は、サーバーの現在の作業ディレクトリが使用されます。サーバーは読み取り前にシンボリックリンクを解決し、URL スキーム、ワークスペース外へのパストラバーサル、シンボリックリンクへの出力を拒否します。ツールを実行する前に、出力ディレクトリを作成してください。
ffmpeg_raw は意図的に制限されています。ローカルの -i 入力、最後に指定するローカル出力パス、および限られたコーデックとタイミングのオプションを受け付けます。これらのオプションを使うと追加ファイルを読み込んだり、ネットワークプロトコルを使用したりできるため、フィルター、形式の強制指定、任意の FFmpeg フラグは受け付けません。
たとえば、MCP 設定で専用のメディアディレクトリを設定します。
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": ["ffmpeg-mcp-server"],
"env": {
"FFMPEG_MCP_WORKSPACE": "/absolute/path/to/media-workspace"
}
}
}
}
Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": ["ffmpeg-mcp-server"]
}
}
}
Claude Code
Claude Code の MCP 設定に追加します。
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": ["ffmpeg-mcp-server"]
}
}
}
使用例
動画の一部をカットする
"Cut the first 30 seconds from video.mp4"
→ Uses cut_video tool
形式を変換する
"Convert video.mov to mp4"
"Extract audio from video.mp4 as mp3"
→ Uses convert tool
無音部分を除去する
"Remove silent parts from my podcast recording"
→ Uses remove_silence tool (detects silence > 2s at -30dB by default)
制限付きの raw 操作
"Convert input.mp4 to output.mp4 using libx264"
→ Uses ffmpeg_raw with local paths and supported codec options
開発
# Install dependencies
npm install
# Build
npm run build
# Project structure
src/
index.ts # MCP server setup and tool registrations
lib.ts # FFmpeg operations
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。