MCP FFmpeg Video Processor
# MCP FFmpeg Video Processor
[](https://smithery.ai/server/@bitscorp-mcp/mcp-ffmpeg)
A Node.js server that uses FFmpeg to manipulate video files. This server provides APIs to:
- Resize videos to different resolutions (360p, 480p, 720p, 1080p)
- Extract audio from videos in various formats (MP3, AAC, WAV, OGG)
## Prerequisites
Before running this application, you need to have the following installed:
1. **Node.js** (v14 or higher)
2. **FFmpeg** - This is required for video processing
### Installing FFmpeg
#### On macOS:
```bash
brew install ffmpeg
```
#### On Ubuntu/Debian:
```bash
sudo apt update
sudo apt install ffmpeg
```
#### On Windows:
1. Download FFmpeg from the [official website](https://ffmpeg.org/download.html)
2. Extract the files to a folder (e.g., `C:\ffmpeg`)
3. Add the `bin` folder to your PATH environment variable
## Installation
1. Clone this repository:
```bash
git clone https://github.com/bitscorp-mcp/mcp-ffmpeg.git
cd mcp-ffmpeg
```
2. Install dependencies:
```bash
npm install
```
### Installing via Smithery
To install mcp-ffmpeg for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@bitscorp-mcp/mcp-ffmpeg):
```bash
npx -y @smithery/cli install @bitscorp-mcp/mcp-ffmpeg --client claude
```
## Running the Server
Start the server with:
```bash
npm start
```
For development with auto-restart on file changes:
```bash
npm run dev
```
### Installing via Smithery
To install mcp-ffmpeg for Claude Desktop automatically via [Smithery](https://smithery.ai/server/bitscorp-mcp/mcp-ffmpeg):
```bash
npx -y @smithery/cli install @bitscorp-mcp/mcp-ffmpeg --client claude
```
To install mcp-ffmpeg for Cursor, go to Settings -> Cursor Settings -> Features -> MCP Servers -> + Add
Select Type: command and paste the below, using your API key from Adjust
```
npx -y @smithery/cli@latest run @bitscorp/mcp-ffmpeg
```
## Using with Claude Desktop
This MCP FFmpeg server can be integrated with Claude Desktop to process videos through natural language requests.
### Running with npx
You can run the server directly with npx:
```bash
npx /path/to/mcp-ffmpeg
```
Or if you've published the package to npm:
```bash
npx mcp-ffmpeg
```
### Configuring Claude Desktop
To add this server to Claude Desktop, update your Claude Desktop configuration file:
1. Locate your Claude Desktop config file:
- macOS: `~/.config/claude-desktop/config.json` or `~/Library/Application Support/Claude Desktop/config.json`
- Windows: `%APPDATA%\Claude Desktop\config.json`
- Linux: `~/.config/claude-desktop/config.json`
2. Add the FFmpeg MCP server to the `mcpServers` section:
```json
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": [
"--yes",
"/absolute/path/to/mcp-ffmpeg"
]
}
}
}
```
If you've published the package to npm:
```json
{
"mcpServers": {
"ffmpeg": {
"command": "npx",
"args": [
"--yes",
"mcp-ffmpeg"
]
}
}
}
```
3. Restart Claude Desktop for the changes to take effect.
### Example Prompts for Claude
Once configured, you can use prompts like:
```
Using the ffmpeg MCP server, please resize the video at /path/to/video.mp4 to 720p resolution.
```
## Notes
- Uploaded videos are stored temporarily in the `uploads` directory
- Processed videos and audio files are stored in the `output` directory
- The server has a file size limit of 500MB for uploads
## License
MIT
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: extract-audio handles audio extraction, get-ffmpeg-version checks system version, get-video-info provides metadata, and resize-video adjusts video dimensions. There is no overlap in functionality, making tool selection unambiguous.
The tools follow a consistent verb-noun pattern with hyphens (e.g., extract-audio, resize-video), except for get-ffmpeg-version which includes an extra noun. This minor deviation does not significantly impact readability or predictability.
With only 4 tools, the set feels thin for a video processing domain. While the tools cover basic operations, there are likely gaps for common tasks like format conversion, trimming, or adding effects, which might limit agent effectiveness.
The tool set is severely incomplete for video processing. It lacks essential operations such as format conversion, trimming/cutting, merging videos, adding subtitles, or applying filters. This will cause frequent agent failures when handling typical video editing workflows.