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
**Produção de vídeo com qualidade de cinema para agentes de IA.**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.
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
| Ferramenta | Operações | Descrição |
|---|---|---|
video_record | cinema, scroll, multi-dispositivo | Grave sites a 60fps com captura quadro a quadro |
video_edit | velocidade, corte, reverso, keyframe, pip | Edite clipes com zoom/pan, PiP, câmera lenta |
video_color | grade, efeito, lut, chroma | Correção de cor, 22 presets LUT, tela verde |
video_audio | extrair, música, ducking, mix, voz | Extração de áudio, mixagem, 9 efeitos de voz |
video_text | legendas, caption, overlay, animar | Grave SRT, auto-legenda Whisper, 15 animações de texto |
video_compose | concat, intro, social, beat-sync, templates | Junte clipes, conversão de formato social, sincronização de batida |
video_speech | gerar, vozes, narrado | ElevenLabs/OpenAI TTS, vídeos narrados completos |
video_screenshot | capturar, detectar | Capturas 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
cinematiceshowcasepara 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_KEYpara ElevenLabs TTS - Opcional:
OPENAI_API_KEYpara 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 Ambiente | Padrão | Descrição |
|---|---|---|
VIDEO_OUTPUT_DIR | ./output | Diretório para arquivos gerados |
FFMPEG_PATH | — | Caminho absoluto para o binário ffmpeg se não estiver em PATH |
FFPROBE_PATH | — | Caminho absoluto para o binário ffprobe se não estiver em PATH |
ELEVENLABS_API_KEY | — | Chave da API ElevenLabs TTS |
OPENAI_API_KEY | — | Chave da API OpenAI (Whisper + TTS) |
MCP_HTTP | false | Habilitar transporte HTTP |
MCP_PORT | 9847 | Porta HTTP |
MCP_HOST | 127.0.0.1 | Endereço de bind HTTP |
MCP_VIDEO_DEBUG | false | Habilitar logging de depuração |
MCP_VIDEO_ALLOW_INTERNAL | false | Defina 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 Uso | Ferramentas Usadas | Saída |
|---|---|---|
| Vídeo de demonstração de produto | video_record → video_text → video_audio | Gravação de site a 60fps + auto-legendas + música de fundo |
| Clipes para redes sociais | video_record → video_compose | Grave uma vez → exporte para Instagram Reel, TikTok, YouTube Short |
| Explicador narrado | video_speech → video_color | Narração de IA + correção de cor cinematográfica |
| Comparação antes/depois | video_screenshot → video_edit | Capturas de tela inteligentes de elementos + composição PiP |
| QA automatizado | video_record + video_screenshot | Grave 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