Skip to main content

A powerful Model Context Protocol server for video editing operations using MoviePy

Project description

Video Edit MCP Server 🎬

A powerful Model Context Protocol (MCP) server designed for advanced video and audio editing operations. This server enables MCP clients—such as Claude Desktop, Cursor, and others—to perform comprehensive multimedia editing tasks through a standardized and unified interface.

Python MCP License

✨ Key Features

🎥 Video Operations

  • Basic Editing: Trim, merge, resize, crop, rotate videos
  • Effects: Speed control, fade in/out, grayscale, mirror
  • Overlays: Add text, images, or video overlays with transparency
  • Format Conversion: Convert between formats with codec control
  • Frame Operations: Extract frames, create videos from images

🎵 Audio Operations

  • Audio Processing: Extract, trim, loop, concatenate audio
  • Volume Control: Adjust levels, fade in/out effects
  • Audio Mixing: Mix multiple tracks together
  • Integration: Add audio to videos, replace soundtracks

📥 Download & Utilities

  • Video Download: Download from YouTube and other platforms
  • File Management: Directory operations, file listing
  • Path Suggestions: Get recommended download locations

🧹 Memory & Cleanup

  • Smart Memory: Chain operations without saving intermediate files
  • Resource Management: Clear memory, check stored objects
  • Efficient Processing: Keep objects in memory for complex workflows

🔗 Operation Chaining

Seamlessly chain multiple operations together without creating intermediate files. Process your video through multiple steps (trim → add audio → apply effects → add text) while keeping everything in memory for optimal performance.

📋 Requirements

  • Python 3.10 or higher
  • moviepy==1.0.3
  • yt-dlp>=2023.1.6
  • mcp>=1.12.2
  • typing-extensions>=4.0.0

⚙️ Installation & Setup

For Claude Desktop / Cursor MCP Integration

Ensure that uv is installed.
If not, install it using the following PowerShell command:

powershell -ExecutionPolicy Bypass -Command "irm https://astral.sh/uv/install.ps1 | iex"

Add this configuration to your MCP configuration file:

{
  "mcpServers": {
    "video_editing": {
      "command": "uvx",
      "args": [
        "video-edit-mcp"
      ]
    }
  }
}

Configuration file locations:

  • Claude Desktop (Windows): %APPDATA%/Claude/claude_desktop_config.json
  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Cursor: .cursor/mcp.json in your project root

Manual Installation

git clone https://github.com/Aditya2755/video-edit-mcp.git
cd video-edit-mcp
pip install -r requirements.txt
pip install -e .

🏗️ Project Structure

video_edit_mcp/
├── src/
│   └── video_edit_mcp/
│       ├── __init__.py
│       ├── main.py                 # MCP server implementation  
│       ├── video_operations.py     # Video editing tools
│       ├── audio_operations.py     # Audio processing tools
│       ├── download_utils.py       # Download functionality
│       ├── util_tools.py          # Memory & utility tools
│       ├── utils.py               # Utility functions
│     
├── pyproject.toml                 # Project configuration
├── requirements.txt               # Dependencies
├── uv.lock                        # Lock file
├── LICENSE                        # MIT License
├── MANIFEST.in                    # Manifest file
└── README.md

🎯 Example Usage

# Chain operations without intermediate files
video_info = get_video_info("input.mp4")
trimmed = trim_video("input.mp4", 10, 60, return_path=False)  # Keep in memory
with_audio = add_audio(trimmed, "background.mp3", return_path=False)  
final = add_text_overlay(with_audio, "Hello World", x=100, y=50, return_path=True)

🚀 Future Enhancements & Contributions

We welcome contributions in these exciting areas:

🤖 AI-Powered Features

  • Speech-to-Text (STT): Automatic subtitle generation and transcription
  • Text-to-Speech (TTS): AI voice synthesis for narration
  • Audio Enhancement: AI-based noise reduction and audio quality improvement
  • Smart Timestamps: Automatic scene detection and chapter generation
  • Face Tracking: Advanced face detection and tracking for automatic editing
  • Object Recognition: Track and edit based on detected objects
  • Content Analysis: AI-powered content categorization and tagging

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ for the AI and multimedia editing community

⭐ Star this project | 🤝 Contribute | 📖 Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

video_edit_mcp-0.1.1.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

video_edit_mcp-0.1.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file video_edit_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: video_edit_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for video_edit_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d05feec423882cf1f339a79dba578171fe1307af7c65c0b452aa93116b7d4f3f
MD5 f3aca742cfa8f8a3a7e5cef9d0e955f3
BLAKE2b-256 934768e14293a3ecf5c1d96b73b6ed3652aca2cac9eadcb5075d8bb9e490d03b

See more details on using hashes here.

File details

Details for the file video_edit_mcp-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for video_edit_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1c41a44b35443a9f404bf5a6d6504c6a1b7abf3a4ffbe2226956a3a4c1ea073a
MD5 2d2bdc9951d69a3503f8a1fef8504048
BLAKE2b-256 dc29856e4eea8772af1e4ddda8bfc4172a777c3056421aebdf6379840fa0216f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page