Video Editor MCP Server
Video Editor MCP Server
A powerful video editing MCP server that leverages FFmpeg to perform video editing operations through natural language commands.
Components
Tools
The server implements one main tool:
execute_ffmpeg
: Executes FFmpeg commands with progress tracking- Takes a command string as input
- Validates and executes FFmpeg operations
- Reports real-time progress during processing
- Handles errors and provides detailed feedback
- Supports all FFmpeg operations including:
- Trimming/cutting
- Merging videos
- Converting formats
- Adjusting speed
- Adding audio tracks
- Extracting audio
- Adding subtitles
- Basic filters (brightness, contrast, etc.)
Configuration
Prerequisites
- FFmpeg must be installed and accessible in your system PATH
- Python 3.9 or higher
- Required Python packages:Copymcp httpx
Installation
- Install FFmpeg if not already installed:Copy# On macOS with Homebrew brew install ffmpeg # On Windows with Chocolatey choco install ffmpeg # On Ubuntu/Debian sudo apt install ffmpeg
- Install the video editor package:Copyuv add video-editor
Claude Desktop Integration
Configure in your Claude Desktop config file:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Development
Building and Publishing
- Sync dependencies:Copyuv sync
- Build package:Copyuv build
- Publish to PyPI:Copyuv publish
Note: Set PyPI credentials via:
- Token:
--token
orUV_PUBLISH_TOKEN
- Or username/password:
--username
/UV_PUBLISH_USERNAME
and--password
/UV_PUBLISH_PASSWORD
Debugging
For the best debugging experience, use the MCP Inspector:
Example Usage
Once connected to Claude Desktop, you can make natural language requests like:
- "Trim video.mp4 from 1:30 to 2:45"
- "Convert input.mp4 to WebM format"
- "Speed up video.mp4 by 2x"
- "Merge video1.mp4 and video2.mp4"
- "Extract audio from video.mp4"
- "Add subtitles.srt to video.mp4"
The server will:
- Parse your request
- Generate the appropriate FFmpeg command
- Execute it with progress tracking
- Provide feedback on completion
Error Handling
The server includes robust error handling for:
- Invalid input files
- Malformed FFmpeg commands
- Runtime execution errors
- Progress tracking issues
All errors are reported back to the client with detailed messages for debugging.
Security Considerations
- Only processes files in explicitly allowed directories
- Validates FFmpeg commands before execution
- Sanitizes all input parameters
- Reports detailed error messages for security-related issues
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create your feature branch
- Make your changes
- Submit a pull request
Enables video editing using natural language commands powered by FFmpeg, supporting operations like trimming, merging, format conversion, and more with real-time progress tracking and error handling.