Labsco
Kush36Agrawal logo

Video Editor MCP Server

โ˜… 49

from Kush36Agrawal

Perform video editing operations using natural language commands via FFmpeg.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredNeeds API keys

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.)

Development

Building and Publishing

  1. Sync dependencies:

    uv sync
  2. Build package:

    uv build
  3. Publish to PyPI:

    uv publish

Note: Set PyPI credentials via:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

For the best debugging experience, use the MCP Inspector:

npx @modelcontextprotocol/inspector uv --directory /path/to/video_editor run video-editor

Example Usage

Once connected to Claude Desktop, you can make natural language requests like:

  1. "Trim video.mp4 from 1:30 to 2:45"
  2. "Convert input.mp4 to WebM format"
  3. "Speed up video.mp4 by 2x"
  4. "Merge video1.mp4 and video2.mp4"
  5. "Extract audio from video.mp4"
  6. "Add subtitles.srt to video.mp4"

The server will:

  1. Parse your request
  2. Generate the appropriate FFmpeg command
  3. Execute it with progress tracking
  4. 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