Labsco
vizionik25 logo

moviepy-mcp

โ˜… 1

from vizionik25

a moviepy mcp server currently with over 20 video and audio editing tools.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

VideoEditor-MCP

A powerful video generation and editing service powered by FastAPI, MoviePy, and FastMCP.

๐ŸŽฌ Description

VideoEditor-MCP provides a comprehensive service for programmatically creating and manipulating video and audio content. It exposes a rich set of tools through both a RESTful API (using FastAPI) and a Model-Context-Protocol (MCP) server, making it easy to integrate video editing capabilities into any application or AI agent-based workflow.

Whether you need to generate simple clips, perform complex edits, or composite multiple videos, this service offers a robust and easy-to-use solution.

โœจ Key Features

  • Dual-Interface: Interact via a standard REST API or a flexible MCP server for AI agents.
  • Rich Editing Suite: A wide range of tools for video, audio, and compositing tasks.
  • Extensible: Built with a modular router-based architecture, making it easy to add new features.
  • Containerized: Comes with Docker support for easy deployment and scaling.
  • Modern Tooling: Uses uv for fast dependency management and pytest for robust testing.

๐Ÿ“ธ Screenshots

Main Interface
The main chat interface for interacting with the video editing agent.

Expanded Settings
Expanded settings panel for configuring the LLM provider and model.
Collapsed Settings
Collapsed settings panel.

๐Ÿ“– Table of Contents

๐Ÿ› ๏ธ API Documentation

The following is a summary of the available API endpoints. For detailed request/response models, please refer to the auto-generated docs at http://localhost:8000/docs.

Video Generation

  • POST /video/generate: Creates a simple video with text on a background.

Video Editing

  • POST /video-edits/cut: Trims a video.
  • POST /video-edits/concatenate: Joins multiple videos.
  • POST /video-edits/resize: Resizes a video.
  • POST /video-edits/speed: Changes the playback speed.
  • POST /video-edits/color-effect: Applies a color filter.
  • POST /video-edits/mirror: Mirrors the video horizontally or vertically.
  • POST /video-edits/rotate: Rotates the video.
  • POST /video-edits/crop: Crops the video.
  • POST /video-edits/margin: Adds a margin around the video.
  • POST /video-edits/fade: Applies fade-in or fade-out.
  • POST /video-edits/loop: Loops the video content.
  • POST /video-edits/time-effect: Applies time-based effects like reverse or freeze.

Audio Processing

  • POST /audio/volume: Adjusts the volume of a video's audio.
  • POST /audio/extract: Extracts the audio track from a video.
  • POST /audio/fade: Fades the audio in or out.
  • POST /audio/loop: Loops the audio track.

Compositing

  • POST /compositing/composite: Stacks or grids multiple videos together.
  • POST /compositing/text-overlay: Adds a text overlay to a video.
  • POST /compositing/image-overlay: Adds an image overlay to a video.

๐Ÿค– MCP Tools

The MCP server exposes a wide range of tools for agentic workflows. Each tool corresponds to one of the API functionalities.

Example MCP Tools:

  • create_video(text: str, duration: float)
  • cut_video(video_path: str, start_time: float, end_time: float)
  • concatenate_videos(video_paths: List[str])
  • resize_video(video_path: str, scale: float)
  • text_overlay(video_path: str, text: str)
  • adjust_volume(video_path: str, factor: float)
  • ...and many more!

Refer to src/videoEditor_mcp/mcp_server.py for a complete list of available tools and their signatures.

๐Ÿงช Development & Testing

Setup

Follow the Installation steps to set up the development environment. The dev dependency group in pyproject.toml includes pytest and httpx for testing.

Running Tests

To run the full test suite:

uv run pytest

To run tests with code coverage analysis:

uv run pytest --cov=src

๐Ÿ“œ License

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