remotion-mcp-server
remotion-mcp-server
An MCP (Model Context Protocol) server that gives Claude the ability to analyze reference videos and generate branded Instagram Reels / YouTube Shorts using Remotion (React-based programmatic video) — entirely from a chat conversation.
Point Claude at a reference reel, and it can:
Download it (
yt-dlp), pull out frames + audio, and get a full transcript (YouTube captions first, faster-whisper fallback for everything else — Instagram, TikTok, local files).Generate a new composition in the same style — dialogue-bubble reels or fact/listicle reels — as real React/TSX code.
Render it to MP4 with Remotion.
Tell you how to open it in Remotion Studio to scrub and review before you call it final.
No CapCut, no manual editing — Claude writes the video.
Tools
Tool | What it does |
| Downloads a reference video from YouTube/Instagram/Facebook/direct URL. Extracts frames at 0.5fps, audio, duration, and a full transcript (captions or Whisper). |
| Generates an animated speaker-bubble dialogue reel (Remotion TSX) and renders it to MP4. |
| Generates a facts/listicle-style reel with animated bullet points and renders it to MP4. |
| Re-renders any existing composition in the project. |
| Lists rendered MP4s in the output folder. |
Both create_* tools return a preview hint telling Claude/you how to open the composition in Remotion Studio (npm run dev → localhost:3000) before treating the render as final.
Setup
1. Clone and install Python deps
git clone https://github.com/<your-username>/remotion-mcp-server.git
cd remotion-mcp-server
pip install -r requirements.txtYou'll also need ffmpeg on your PATH (or install imageio-ffmpeg, which the server falls back to automatically).
2. Set up the Remotion project
This server needs a Remotion project to write generated compositions into and render from. A ready-to-use starter is included:
cd remotion-template
npm install
cd ..Or point REMOTION_MCP_PROJECT at your own existing Remotion project — it just needs the two marker comments from remotion-template/src/Root.tsx present in its Root.tsx.
3. Configure (optional)
Copy .env.example to .env and adjust if you're not using the defaults (custom yt-dlp/ffmpeg paths, a different project folder, a default watermark).
4. Register with Claude
Add to your Claude Desktop / Claude Code MCP config:
{
"mcpServers": {
"remotion-video": {
"command": "python",
"args": ["/absolute/path/to/remotion-mcp-server/server.py"]
}
}
}Restart Claude, and ask it to analyze a reference reel and build you one in the same style.
How it works
analyze_videodownloads withyt-dlp, extracts frames + audio withffmpeg, then transcribes: YouTube captions viayoutube-transcript-apifirst, falling back to localfaster-whispertranscription for everything else.create_dialogue_reel/create_facts_reeltemplate out a.tsxcomposition file, register it in the Remotion project'sRoot.tsxbetween marker comments, and callnpx remotion render.Generated compositions show up live in Remotion Studio (
npm run dev) via hot-reload — no restart needed — so you can scrub through and review before treating a render as final.
License
MIT — see LICENSE.