StudioMeyer MCP-Video

Servidor MCP de produção de vídeo em nível cinematográfico — 8 ferramentas para gravação, edição, efeitos, legendas, TTS e capturas de tela inteligentes. Construído sobre ffmpeg + Playwright.

Documentação

Parte do StudioMeyer MCP Stack — Feito em Mallorca 🌴 · ⭐ se você usar

mcp-video

npm version npm downloads License Last commit GitHub stars

**Produção de vídeo com qualidade de cinema para agentes de IA.**

CI License: MIT TypeScript Version npm version Node

8 ferramentas MCP para gravação, edição, efeitos, legendas, TTS e capturas de tela inteligentes.
Construído com ffmpeg e Playwright. Funciona com qualquer cliente MCP.

Recursos · Início Rápido · Exemplos · Arquitetura

Uma nota nossa

Temos construído ferramentas e sistemas para nós mesmos nos últimos dois anos. O fato de este repositório ser pequeno e ter poucas estrelas não é porque é novo. É porque só agora decidimos compartilhar o que construímos. Não é um experimento recente, é uma longa história com um commit recente.

Amamos construir coisas e compartilhá-las. Não amamos táticas de redes sociais, truques de crescimento ou perseguir estrelas e seguidores. Então este repositório é pequeno. O código é real, é usado, e as issues são respondidas. Julgue por si mesmo.

Se isso ajudar você, compartilhar, testar e dar feedback nos ajuda. Se puder ser melhor, uma issue é mais útil. Se você construir algo com isso, conte-nos em hello@studiomeyer.io. Isso genuinamente faz o nosso dia.

De um pequeno estúdio em Palma de Mallorca.

Recursos

FerramentaOperaçõesDescrição
video_recordcinema, scroll, multi-dispositivoGrave sites a 60fps com captura quadro a quadro
video_editvelocidade, corte, reverso, keyframe, pipEdite clipes com zoom/pan, PiP, câmera lenta
video_colorgrade, efeito, lut, chromaCorreção de cor, 22 presets LUT, tela verde
video_audioextrair, música, ducking, mix, vozExtração de áudio, mixagem, 9 efeitos de voz
video_textlegendas, caption, overlay, animarGrave SRT, auto-legenda Whisper, 15 animações de texto
video_composeconcat, intro, social, beat-sync, templatesJunte clipes, conversão de formato social, sincronização de batida
video_speechgerar, vozes, narradoElevenLabs/OpenAI TTS, vídeos narrados completos
video_screenshotcapturar, detectarCapturas de tela conscientes de elementos, detecção de recursos de página

Destaques

  • Captura quadro a quadro a 60fps — Playwright captura cada quadro, ffmpeg codifica. Zero quadros perdidos.
  • Curvas de easing cinematográficas — 16 opções de easing incluindo cinematic e showcase para rolagem suave como manteiga.
  • Capturas de tela inteligentes — Detecta automaticamente mais de 15 elementos de UI (widgets de chat, seções de preços, formulários de reserva, etc.).
  • Vídeos narrados — Forneça uma URL + roteiro, obtenha um vídeo profissional com narração de IA sincronizada.
  • 22 presets LUT — Correção de cor de nível cinematográfico (teal-orange, noir, vintage, cyberpunk, etc.).
  • Exportação de formato social — Conversão com um clique para Instagram Reel, TikTok, YouTube Short, LinkedIn.
  • Transporte duplo — Modo Stdio (padrão) ou HTTP para implantação de microsserviço persistente.

Pré-requisitos

  • Node.js >= 18
  • ffmpeg e ffprobe (validados na inicialização, multiplataforma)
  • Navegadores Playwright (npx playwright install chromium)
  • Opcional: ELEVENLABS_API_KEY para ElevenLabs TTS
  • Opcional: OPENAI_API_KEY para legendas Whisper e OpenAI TTS

Se o ffmpeg estiver fora de PATH, defina FFMPEG_PATH e FFPROBE_PATH para os caminhos absolutos dos binários. Ambas as variáveis de ambiente são respeitadas na inicialização E em cada ponto de execução em tempo de execução.

Início Rápido

Com Claude Code (stdio)

{
  "mcpServers": {
    "video": {
      "command": "npx",
      "args": ["-y", "mcp-video"]
    }
  }
}

Com npx

npx mcp-video

A partir do código-fonte

git clone https://github.com/studiomeyer-io/mcp-video.git
cd mcp-video
npm install
npx playwright install chromium
npm run build
npm start

Modo HTTP

# Start as HTTP microservice
npx mcp-video --http --port=9847

# Or via environment variables
MCP_HTTP=1 MCP_PORT=9847 npx mcp-video

Configuração

Variável de AmbientePadrãoDescrição
VIDEO_OUTPUT_DIR./outputDiretório para arquivos gerados
FFMPEG_PATHCaminho absoluto para o binário ffmpeg se não estiver em PATH
FFPROBE_PATHCaminho absoluto para o binário ffprobe se não estiver em PATH
ELEVENLABS_API_KEYChave da API ElevenLabs TTS
OPENAI_API_KEYChave da API OpenAI (Whisper + TTS)
MCP_HTTPfalseHabilitar transporte HTTP
MCP_PORT9847Porta HTTP
MCP_HOST127.0.0.1Endereço de bind HTTP
MCP_VIDEO_DEBUGfalseHabilitar logging de depuração
MCP_VIDEO_ALLOW_INTERNALfalseDefina como 1 para permitir URLs que resolvem para IPs localhost / privados / metadata. Somente desenvolvimento local — deixe não definido em produção (proteção SSRF).

O Que Você Pode Construir

Caso de UsoFerramentas UsadasSaída
Vídeo de demonstração de produtovideo_recordvideo_textvideo_audioGravação de site a 60fps + auto-legendas + música de fundo
Clipes para redes sociaisvideo_recordvideo_composeGrave uma vez → exporte para Instagram Reel, TikTok, YouTube Short
Explicador narradovideo_speechvideo_colorNarração de IA + correção de cor cinematográfica
Comparação antes/depoisvideo_screenshotvideo_editCapturas de tela inteligentes de elementos + composição PiP
QA automatizadovideo_record + video_screenshotGrave fluxos de usuário + capture elementos específicos

Exemplos de Uso

Gravar um site

Use video_record with type "cinema" to record https://example.com
with a smooth scroll and hover over the navbar.

Criar um vídeo explicador narrado

Use video_speech with type "narrated" to create a narrated video of
https://example.com with these segments:
1. "Welcome to our homepage" — pause on hero section
2. "Check out our features" — scroll to features
3. "Get started today" — hover over CTA button

Auto-legendar um vídeo

Use video_text with type "caption" to add auto-generated captions
to /path/to/video.mp4

Exportar para redes sociais

Use video_compose with type "social-all" to convert
/path/to/video.mp4 to all social media formats.

Captura de tela inteligente

Use video_screenshot with type "capture" to screenshot the chat widget
and pricing section on https://example.com

Arquitetura

src/
  server.ts            Entry point, 8 consolidated MCP tools
  lib/                 Logger, types, dual transport
  handlers/            Tool handlers (video, editing, post-production, tts, screenshots)
  schemas/             JSON Schema definitions for legacy tool format
  tools/
    engine/            Core engines
      capture.ts       Frame-by-frame recording (Playwright → PNG → ffmpeg)
      encoder.ts       ffmpeg encoding pipeline
      scenes.ts        Scene execution (scroll, hover, click, type, wait)
      cursor.ts        Visible cursor simulation
      smart-screenshot.ts  Element-aware screenshot engine
      tts.ts           ElevenLabs + OpenAI TTS with fallback
      narrated-video.ts    Full narration pipeline
      social-format.ts     Social media format conversion
      concat.ts        Video concatenation with transitions
      lut-presets.ts   22 cinema LUT presets
      ...and more

Desenvolvimento

npm run dev          # Start with tsx (hot reload)
npm run typecheck    # Type check
npm test             # Run tests
npm run check        # Verify ffmpeg/ffprobe installed

Sobre o StudioMeyer

StudioMeyer é um estúdio de IA e design baseado em Palma de Mallorca, trabalhando com clientes em todo o mundo. Construímos sites personalizados e infraestrutura de IA para pequenas e médias empresas. Stack de produção no Claude Agent SDK, MCP e n8n, com Sentry, Langfuse e LangGraph para observabilidade e uma camada de proteção interna.

Licença

MIT

Créditos

Construído por StudioMeyer. Parte do nosso kit de ferramentas de código aberto para criação de conteúdo com IA.

  • ai-shield — Middleware de segurança LLM para TypeScript
  • agent-fleet — Orquestração multi-agente para Claude Code
  • darwin-agents — Framework de agentes auto-evolutivos