vidMagik-mcp

vidMagik-mcp

A comprehensive MCP server providing an interface to MoviePy for professional-grade video editing, compositing, and special effects. It exposes over 70 tools for video transformations, audio processing, and automated scene analysis directly through MCP-compatible clients.

Category
Visit Server

README

vidMagik-mcp

MCP Python MoviePy

A Model Context Protocol (MCP) server that provides a comprehensive interface to MoviePy for video editing. Uses stdio transport by default for seamless integration with MCP clients.

Exposes 70+ tools for professional-grade video editing, compositing, effects, and audio processing.

Features

IO & Creation

  • Load: video_file_clip, audio_file_clip, image_clip, image_sequence_clip
  • Generate: text_clip, color_clip, credits_clip, subtitles_clip, tools_drawing_color_gradient, tools_drawing_color_split
  • Export: write_videofile, write_audiofile, write_gif
  • Fast Tools: tools_ffmpeg_extract_subclip (lossless trimming)

Compositing & Transformation

  • Combine: composite_video_clips, concatenate_video_clips, tools_clips_array, composite_audio_clips, concatenate_audio_clips
  • Refine: subclip, vfx_resize, vfx_crop, vfx_rotate
  • Configure: set_position, set_audio, set_mask, set_start, set_end, set_duration

Video Effects (vfx)

  • Time: vfx_freeze, vfx_freeze_region, vfx_multiply_speed, vfx_time_mirror, vfx_time_symmetrize, vfx_loop, vfx_make_loopable, vfx_accel_decel
  • Color: vfx_black_white, vfx_invert_colors, vfx_fade_in, vfx_fade_out, vfx_gamma_correction, vfx_lum_contrast, vfx_multiply_color, vfx_painting, vfx_blink
  • Geometry: vfx_mirror_x, vfx_mirror_y, vfx_even_size, vfx_margin, vfx_scroll, vfx_supersample
  • Motion: vfx_slide_in, vfx_slide_out, vfx_head_blur
  • Masking: vfx_mask_color, vfx_masks_and, vfx_masks_or

Custom Advanced Effects

  • vfx_matrix — Classic "Matrix" digital rain overlay
  • vfx_kaleidoscope — Radial symmetry with custom slices
  • vfx_rgb_sync — Chromatic aberration / glitch with temporal offsets
  • vfx_chroma_key — Green screen removal with threshold and softness
  • vfx_auto_framing — Face/subject tracking and cropping for vertical video
  • vfx_clone_grid — Multi-clone grid layout (2x2, 4x4, etc.)
  • vfx_rotating_cube — 3D perspective cube mapping
  • vfx_quad_mirror — Four-way mirror symmetry
  • vfx_kaleidoscope_cube — Radial symmetry combined with 3D rotation

Audio Effects (afx)

  • afx_multiply_volume, afx_multiply_stereo_volume, afx_audio_fade_in, afx_audio_fade_out, afx_audio_delay, afx_audio_loop, afx_audio_normalize

Analysis & Utilities

  • tools_detect_scenes — Automatic scene cut detection
  • tools_find_video_period — Frequency analysis for repetitive motion
  • tools_find_audio_period — Tempo/period detection for audio
  • tools_file_to_subtitles — Parse subtitle files
  • tools_check_installation — Verify MoviePy and dependencies

Prerequisites

  • Python 3.12+
  • FFmpeg — Required by MoviePy for video processing
  • ImageMagick — Required for text_clip and credits_clip
  • uv — Python package manager

Installation

git clone https://github.com/vizionik25/vidMagik-mcp.git
cd vidMagik-mcp
uv sync

Running the Server

The server uses stdio transport by default:

uv run main.py

To use HTTP or SSE transport instead:

uv run main.py --transport http --host 0.0.0.0 --port 8080
uv run main.py --transport sse --host 0.0.0.0 --port 8080

MCP Client Configuration

Add this to your MCP client config (e.g. Claude Desktop, Cursor, etc.):

{
  "mcpServers": {
    "vidMagik-mcp": {
      "command": "uv",
      "args": ["run", "main.py"],
      "cwd": "/path/to/vidMagik-mcp"
    }
  }
}

Docker

Docker is the recommended approach — it bundles FFmpeg, ImageMagick, and all system dependencies automatically.

Quick Start

docker compose up --build

This builds the image and starts the server with stdio transport.

Media Directory

The ./media directory on your host is mounted to /app/media inside the container. Use it as the workspace for all input and output files:

mkdir -p media
# Place your source videos, images, and audio in ./media

When using MCP tools, reference files as media/filename.mp4. Output files written to media/ will appear on your host.

Docker MCP Client Configuration

To use the Docker container as an MCP server:

{
  "mcpServers": {
    "moviepy": {
      "command": "docker",
      "args": ["compose", "run", "--rm", "-i", "mcp-moviepy"],
      "cwd": "/path/to/mcp-moviepy"
    }
  }
}

Manual Docker Build & Run

docker build -t mcp-moviepy .
docker run -i -v $(pwd)/media:/app/media mcp-moviepy

State Management

The server maintains clips in memory:

  1. Clip IDs — Tools that create or modify clips return a clip_id (UUID string)
  2. Chaining — Pass clip_id to subsequent tools for further operations
  3. Management — Use list_clips to view active clips and delete_clip to free memory
  4. Limits — Auto memory cleanup with file count and total size limits to prevent OOM

Prompt Templates

Built-in prompts guide the LLM through complex workflows:

  • slideshow_wizard — Professional slideshow from images with transitions
  • title_card_generator — Title cards with text on solid backgrounds
  • glitch_effect_preset — High-energy RGB split glitch aesthetic
  • auto_framing_for_tiktok — Convert horizontal video to 9:16 vertical
  • matrix_intro_preset — Classic code-rain overlay
  • rotating_cube_transition — 3D spinning cube effect
  • demonstrate_kaleidoscope — Mesmerizing radial symmetry animation
  • demonstrate_kaleidoscope_cube — Hybrid kaleidoscope + 3D cube

Development

Run tests:

uv run pytest tests/test_e2e.py

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured