mcp-video
A cinema-grade video production MCP server that enables automated website recording, editing, and AI-powered narration using ffmpeg and Playwright. It provides tools for color grading, captioning, and converting videos into social media formats through natural language commands.
README
mcp-video
Cinema-grade video production MCP server. 8 tools for recording, editing, effects, captions, TTS, and smart screenshots.
Built on ffmpeg and Playwright. Works with any MCP client (Claude Code, Claude Desktop, custom agents).
Features
| Tool | Operations | Description |
|---|---|---|
video_record |
cinema, scroll, multi-device | Record websites at 60fps with frame-by-frame capture |
video_edit |
speed, crop, reverse, keyframe, pip | Edit clips with zoom/pan, PiP, slow-mo |
video_color |
grade, effect, lut, chroma | Color grading, 22 LUT presets, green screen |
video_audio |
extract, music, ducking, mix, voice | Audio extraction, mixing, 9 voice effects |
video_text |
subtitles, caption, overlay, animate | Burn SRT, Whisper auto-caption, 15 text animations |
video_compose |
concat, intro, social, beat-sync, templates | Join clips, social format conversion, beat sync |
video_speech |
generate, voices, narrated | ElevenLabs/OpenAI TTS, full narrated videos |
video_screenshot |
capture, detect | Element-aware screenshots, page feature detection |
Highlights
- 60fps frame-by-frame capture — Playwright screenshots every frame, ffmpeg encodes. Zero frame drops.
- Cinema easing curves — 16 easing options including
cinematicandshowcasefor buttery smooth scrolling. - Smart screenshots — Auto-detects 15+ UI elements (chat widgets, pricing sections, booking forms, etc.).
- Narrated videos — Provide a URL + script, get a professional video with synchronized AI voiceover.
- 22 LUT presets — Film-grade color grading (teal-orange, noir, vintage, cyberpunk, etc.).
- Social format export — One-click conversion to Instagram Reel, TikTok, YouTube Short, LinkedIn.
- Dual transport — Stdio (default) or HTTP mode for persistent microservice deployment.
Prerequisites
- Node.js >= 18
- ffmpeg and ffprobe (validated on startup)
- Playwright browsers (
npx playwright install chromium) - Optional:
ELEVENLABS_API_KEYfor ElevenLabs TTS - Optional:
OPENAI_API_KEYfor Whisper captions and OpenAI TTS
Quick Start
With Claude Code (stdio)
{
"mcpServers": {
"video": {
"command": "npx",
"args": ["-y", "mcp-video"]
}
}
}
With npx
npx mcp-video
From source
git clone https://github.com/studiomeyer-io/mcp-video.git
cd mcp-video
npm install
npx playwright install chromium
npm run build
npm start
HTTP mode
# Start as HTTP microservice
npx mcp-video --http --port=9847
# Or via environment variables
MCP_HTTP=1 MCP_PORT=9847 npx mcp-video
Configuration
| Environment Variable | Default | Description |
|---|---|---|
VIDEO_OUTPUT_DIR |
./output |
Directory for generated files |
ELEVENLABS_API_KEY |
— | ElevenLabs TTS API key |
OPENAI_API_KEY |
— | OpenAI API key (Whisper + TTS) |
MCP_HTTP |
false |
Enable HTTP transport |
MCP_PORT |
9847 |
HTTP port |
MCP_HOST |
127.0.0.1 |
HTTP bind address |
MCP_VIDEO_DEBUG |
false |
Enable debug logging |
Usage Examples
Record a website
Use video_record with type "cinema" to record https://example.com
with a smooth scroll and hover over the navbar.
Create a narrated explainer video
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-caption a video
Use video_text with type "caption" to add auto-generated captions
to /path/to/video.mp4
Export for social media
Use video_compose with type "social-all" to convert
/path/to/video.mp4 to all social media formats.
Smart screenshot
Use video_screenshot with type "capture" to screenshot the chat widget
and pricing section on https://example.com
Architecture
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
Development
npm run dev # Start with tsx (hot reload)
npm run typecheck # Type check
npm test # Run tests
npm run check # Verify ffmpeg/ffprobe installed
License
MIT
Credits
Built by StudioMeyer. Part of our open-source toolkit for AI-powered content creation.
- ai-shield — LLM security middleware for TypeScript
- agent-fleet — Multi-agent orchestration for Claude Code
- darwin-agents — Self-evolving agent framework
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。