MCP Media Processing Server
A server for media processing, offering powerful video and image manipulation using FFmpeg and ImageMagick.
MCP 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.
Related Servers
SwitchBot MCP Server
Control SwitchBot devices interactively using the SwitchBot API.
Fibrous MCP Server
A server for Fibrous Finance, a DeFi aggregation platform.
mcp-server-gemini-bridge
Bridge to Google Gemini API. Access Gemini Pro and Flash models through MCP.
MCP Location Services for LLM
Provides geocoding, reverse geocoding, routing, and driving distance calculations for LLMs using pgGeocoder and pgrServer.
EduBase
Interact with EduBase, a comprehensive e-learning platform with advanced quizzing, exam management, and content organization capabilities
ThinkPLC-MCP
Interface with SIEMENS PLC S7-1500/1200 using their JSON-RPC 2.0 API, exposing PLC functionalities as MCP tools for programmatic interaction.
MCP-HA-Connect
A production-ready Model Context Protocol (MCP) server for Home Assistant integration with AI assistants like Claude.
MCP Goodnews
An MCP application that delivers curated positive and uplifting news stories using NewsAPI and Cohere LLM.
İzmir Ulaşım
Access real-time public transportation data for the city of İzmir, allowing AI assistants to query routes and schedules.
TechMCP
Integrates with PSG College of Technology's e-campus portal to provide AI assistants access to student academic data like marks, attendance, and timetables.