mcp-ffmpeg
by pauloFroes
README.md
# mcp-ffmpeg
MCP server wrapping [FFmpeg](https://ffmpeg.org/) and FFprobe for local media processing.
Works with Claude Code, Codex, Claude Desktop, Cursor, VS Code, Windsurf, and any MCP-compatible client.
## Prerequisites
- **Node.js** 18+
- **FFmpeg** and **FFprobe** installed and in PATH
Install FFmpeg:
```bash
brew install ffmpeg
```
## Installation
### Claude Code
```bash
claude mcp add ffmpeg -- npx -y github:pauloFroes/mcp-ffmpeg
```
### Codex
Add to your `codex.toml`:
```toml
[mcp.ffmpeg]
command = "npx"
args = ["-y", "github:pauloFroes/mcp-ffmpeg"]
```
### Claude Desktop
Add to `claude_desktop_config.json`:
```json
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": ["-y", "github:pauloFroes/mcp-ffmpeg"]
}
}
}
```
### Cursor
Add to `.cursor/mcp.json`:
```json
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": ["-y", "github:pauloFroes/mcp-ffmpeg"]
}
}
}
```
### VS Code
Add to `.vscode/mcp.json`:
```json
{
"servers": {
"ffmpeg": {
"command": "npx",
"args": ["-y", "github:pauloFroes/mcp-ffmpeg"]
}
}
}
```
### Windsurf
Add to `~/.windsurf/mcp.json`:
```json
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": ["-y", "github:pauloFroes/mcp-ffmpeg"]
}
}
}
```
## Available Tools
| Tool | Description |
|------|-------------|
| `check_dependencies` | Check if ffmpeg and ffprobe are installed and available |
| `get_media_info` | Get media file metadata (duration, resolution, codecs, format) |
| `extract_frames` | Extract frames from video at regular intervals (returns base64 images) |
| `extract_audio` | Extract/convert audio from video to MP3 |
| `split_audio` | Split audio file into chunks of N minutes |
## License
MIT
TDQS
A4.2/5.0
Scored across 5 tools
Disambiguation5/5
Each tool has a distinct purpose: checking dependencies, extracting audio, extracting frames, getting media info, and splitting audio. There is no overlap or ambiguity in their functionalities.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern in snake_case, such as 'check_dependencies' and 'extract_audio', making them predictable and easy to understand.
Tool Count5/5
With 5 tools, the server is well-scoped for common ffmpeg operations like extraction and metadata retrieval. It is neither too sparse nor too heavy.
Completeness4/5
The tool set covers essential audio/video extraction and info tasks, but lacks some common ffmpeg features like video conversion or merging. Minor gaps exist but do not severely hinder basic workflows.
Maintenance
ActivityInactive
ResponsivenessNo recent community issues