vidmagik-mcp

Um servidor mcp não oficial do moviepy que dá aos seus Agentes a capacidade de editar, masterizar e remasterizar Vídeos, Apresentações de Slides e GIFs.

Documentação

vidMagik-mcp

MCP Python MoviePy

Um servidor Model Context Protocol (MCP) que fornece uma interface abrangente para o MoviePy para edição de vídeo. Usa transporte stdio por padrão para integração perfeita com clientes MCP.

Expõe mais de 70 ferramentas para edição de vídeo de nível profissional, composição, efeitos e processamento de áudio.

Recursos

IO e Criação

  • Carregar: video_file_clip, audio_file_clip, image_clip, image_sequence_clip
  • Gerar: text_clip, color_clip, credits_clip, subtitles_clip, tools_drawing_color_gradient, tools_drawing_color_split
  • Exportar: write_videofile, write_audiofile, write_gif
  • Ferramentas rápidas: tools_ffmpeg_extract_subclip (corte sem perda de qualidade)

Composição e Transformação

  • Combinar: composite_video_clips, concatenate_video_clips, tools_clips_array, composite_audio_clips, concatenate_audio_clips
  • Refinar: subclip, vfx_resize, vfx_crop, vfx_rotate
  • Configurar: set_position, set_audio, set_mask, set_start, set_end, set_duration

Efeitos de Vídeo (vfx)

  • Tempo: vfx_freeze, vfx_freeze_region, vfx_multiply_speed, vfx_time_mirror, vfx_time_symmetrize, vfx_loop, vfx_make_loopable, vfx_accel_decel
  • Cor: 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
  • Geometria: vfx_mirror_x, vfx_mirror_y, vfx_even_size, vfx_margin, vfx_scroll, vfx_supersample
  • Movimento: vfx_slide_in, vfx_slide_out, vfx_head_blur
  • Máscaras: vfx_mask_color, vfx_masks_and, vfx_masks_or

Efeitos Avançados Personalizados

  • vfx_matrix — Sobreposição clássica de "Matrix" com chuva digital
  • vfx_kaleidoscope — Simetria radial com fatias personalizadas
  • vfx_rgb_sync — Aberração cromática / glitch com deslocamentos temporais
  • vfx_chroma_key — Remoção de fundo verde (chroma key) com limiar e suavidade
  • vfx_auto_framing — Rastreamento de rosto/sujeito e corte para vídeo vertical
  • vfx_clone_grid — Layout de grade multi-clone (2x2, 4x4, etc.)
  • vfx_rotating_cube — Mapeamento de cubo 3D com perspectiva
  • vfx_quad_mirror — Simetria de espelho quádruplo
  • vfx_kaleidoscope_cube — Simetria radial combinada com rotação 3D

Efeitos de Áudio (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

Análise e Utilitários

  • tools_detect_scenes — Detecção automática de cortes de cena
  • tools_find_video_period — Análise de frequência para movimento repetitivo
  • tools_find_audio_period — Detecção de tempo/período para áudio
  • tools_file_to_subtitles — Analisar arquivos de legenda
  • tools_check_installation — Verificar MoviePy e dependências

Pré-requisitos

  • Python 3.12+
  • FFmpeg — Necessário para o MoviePy processar vídeos
  • ImageMagick — Necessário para text_clip e credits_clip
  • uv — Gerenciador de pacotes Python

Instalação

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

Executando o Servidor

O servidor usa transporte stdio por padrão:

uv run main.py

Para usar transporte HTTP ou SSE:

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

Configuração do Cliente MCP

Adicione isto à configuração do seu cliente MCP (ex.: Claude Desktop, Cursor, etc.):

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

Docker

Docker é a abordagem recomendada — ele agrupa FFmpeg, ImageMagick e todas as dependências do sistema automaticamente.

Início Rápido

docker compose up --build

Isso cria a imagem e inicia o servidor com transporte stdio.

Diretório de Mídia

O diretório ./media no seu host é montado em /app/media dentro do contêiner. Use-o como espaço de trabalho para todos os arquivos de entrada e saída:

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

Ao usar ferramentas MCP, referencie arquivos como media/filename.mp4. Arquivos de saída gravados em media/ aparecerão no seu host.

Configuração do Cliente MCP com Docker

Para usar o contêiner Docker como servidor MCP:

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

Build e Execução Manual com Docker

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

Gerenciamento de Estado

O servidor mantém clipes na memória:

  1. IDs de Clipe — Ferramentas que criam ou modificam clipes retornam um clip_id (string UUID)
  2. Encadeamento — Passe clip_id para ferramentas subsequentes para operações adicionais
  3. Gerenciamento — Use list_clips para visualizar clipes ativos e delete_clip para liberar memória
  4. Limites — Limpeza automática de memória com limites de contagem de arquivos e tamanho total para evitar falta de memória (OOM)

Modelos de Prompt

Prompts integrados guiam o LLM por fluxos de trabalho complexos:

  • slideshow_wizard — Slideshow profissional a partir de imagens com transições
  • title_card_generator — Cartões de título com texto em fundos sólidos
  • glitch_effect_preset — Estética glitch de alta energia com divisão RGB
  • auto_framing_for_tiktok — Converter vídeo horizontal para vertical 9:16
  • matrix_intro_preset — Sobreposição clássica de chuva de código
  • rotating_cube_transition — Efeito de cubo 3D giratório
  • demonstrate_kaleidoscope — Animação hipnotizante de simetria radial
  • demonstrate_kaleidoscope_cube — Caleidoscópio híbrido + cubo 3D

Desenvolvimento

Execute os testes:

uv run pytest tests/test_e2e.py

Licença

MIT