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 issues