About MCP Media Processing Server
MCP Media Processing Server is a Node.js MCP server for video and image manipulation, covering conversion, compression, trimming, resizing and effects. It requires FFmpeg and ImageMagick to be installed on the host system.
Key features
- 01Arbitrary FFmpeg commands with custom options
- 02Video format conversion and compression
- 03Video trimming by start time and duration
- 04Image format conversion, resizing and rotation
- 05Image watermarking and visual effects
Use cases
- 01Having an AI assistant convert videos to a target format
- 02Compressing videos or PNG images to reduce file size
- 03Adding watermarks or applying filters to images
MCP support
This is an MCP server that exposes media tools such as execute-ffmpeg, convert-video, compress-image and resize-image to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
10Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| inputPath | string | Yes | Absolute path to input video file |
| outputPath | string | No | Optional absolute path for output file. If not provided, file will be saved in Downloads folder |
| outputFilename | string | No | Output filename (only used if outputPath is not provided) |
| options | array | Yes | Array of FFmpeg command options (e.g. ['-c:v', 'libx264', '-crf', '23']) |
Details
From the project READMEMCP Media Processing Server
A Node.js server implementing Model Context Protocol (MCP) for media processing operations, providing powerful video and image manipulation capabilities.
Features
- Video processing and conversion
- Image processing and manipulation
- Media compression
- Video trimming and editing
- Image effects and watermarking
Prerequisites
Before using this server, make sure you have the following dependencies installed on your system:
-
FFmpeg: Required for video processing operations
- macOS:
brew install ffmpeg - Ubuntu/Debian:
sudo apt-get install ffmpeg - Windows: Download from FFmpeg official website
- macOS:
-
ImageMagick: Required for image processing operations
- macOS:
brew install imagemagick - Ubuntu/Debian:
sudo apt-get install imagemagick - Windows: Download from ImageMagick official website
- macOS:
How to use
Add this to your claude_desktop_config.json:
NPX
{
"mcpServers": {
"mediaProcessor": {
"command": "npx",
"args": [
"-y",
"mcp-media-processor@latest"
]
}
}
}
API
Tools
Video Operations
-
execute-ffmpeg
- Execute any FFmpeg command with custom options
- Inputs:
inputPath(string): Absolute path to input video fileoptions(string[]): Array of FFmpeg command optionsoutputPath(string, optional): Absolute path for output fileoutputFilename(string, optional): Output filename
-
convert-video
- Convert video to different format
- Inputs:
inputPath(string): Absolute path to input video fileoutputFormat(string): Desired output format (e.g., mp4, mkv, avi)outputPath(string, optional): Custom output pathoutputFilename(string, optional): Custom output filename
-
compress-video
- Compress video file
- Inputs:
inputPath(string): Absolute path to input video filequality(number, optional): Compression quality (1-51, lower is better quality)outputPath(string, optional): Custom output pathoutputFilename(string, optional): Custom output filename
-
trim-video
- Trim video to specified duration
- Inputs:
inputPath(string): Absolute path to input video filestartTime(string): Start time in format HH:MM:SSduration(string): Duration in format HH:MM:SSoutputPath(string, optional): Custom output pathoutputFilename(string, optional): Custom output filename
Image Operations
-
compress-image
- Compress PNG image using ImageMagick
- Inputs:
inputPath(string): Absolute path to input PNG imagequality(number, optional): Compression quality (1-100)outputPath(string, optional): Custom output pathoutputFilename(string, optional): Custom output filename
-
convert-image
- Convert image to different format
- Inputs:
inputPath(string): Absolute path to input image fileoutputFormat(string): Desired output format (e.g., jpg, png, webp, gif)outputPath(string, optional): Custom output pathoutputFilename(string, optional): Custom output filename
-
resize-image
- Resize image to specified dimensions
- Inputs:
inputPath(string): Absolute path to input image filewidth(number, optional): Target width in pixelsheight(number, optional): Target height in pixelsmaintainAspectRatio(boolean, optional): Whether to maintain aspect ratiooutputPath(string, optional): Custom output pathoutputFilename(string, optional): Custom output filename
-
rotate-image
- Rotate image by specified degrees
- Inputs:
inputPath(string): Absolute path to input image filedegrees(number): Rotation angle in degreesoutputPath(string, optional): Custom output pathoutputFilename(string, optional): Custom output filename
-
add-watermark
- Add watermark to image
- Inputs:
inputPath(string): Absolute path to input image filewatermarkPath(string): Absolute path to watermark image fileposition(string, optional): Position of watermark (default: "southeast")opacity(number, optional): Watermark opacity (0-100)outputPath(string, optional): Custom output pathoutputFilename(string, optional): Custom output filename
-
apply-effect
- Apply visual effect to image
- Inputs:
inputPath(string): Absolute path to input image fileeffect(string): Effect to apply (blur, sharpen, edge, emboss, grayscale, sepia, negate)intensity(number, optional): Effect intensity (0-100)outputPath(string, optional): Custom output pathoutputFilename(string, optional): Custom output filename
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.