manim-mcp
v0.1.1
Published
MCP server for generating 3Blue1Brown-style math animation videos with AI narration in Claude
Downloads
209
Maintainers
Readme
manim-mcp
MCP server that generates 3Blue1Brown-style math animation videos with Manim directly inside Claude. Videos render with AI-narrated voiceover and play inline in the chat.
Quick Start
1. Add to Claude Desktop
Open Settings > Developer > Edit Config and add:
{
"mcpServers": {
"manim": {
"command": "npx",
"args": ["-y", "manim-mcp@latest", "--stdio"]
}
}
}2. Restart Claude Desktop
That's it. Ask Claude to "create a video explaining the Pythagorean theorem" and watch it render.
First run takes ~2 minutes to auto-install Python dependencies, TTS models, and LaTeX. Subsequent runs are fast.
Features
- Multi-scene video generation with parallel rendering and scene-level caching
- AI voiceover narration synced to animations (Kokoro TTS, runs 100% locally)
- 20+ language support — English, Chinese, Japanese, Spanish, French, Hindi, and more
- Built-in video player renders inline in Claude Desktop
- Comprehensive Manim reference library produces high-quality 3b1b-style animations
- Speculative TTS pre-synthesis — voiceovers are generated while scenes render
- Auto-fixes common Manim code mistakes before rendering
How it Works
You: "create a video on eigenvalues"
Claude:
1. Loads Manim reference guidelines (get_manim_reference)
2. Plans 2-4 scenes with narration scripts
3. Writes Manim Python code for each scene
4. Calls render_video with all scenes
-> TTS pre-synthesizes all voiceovers
-> scenes render in parallel
-> concatenated into one video
5. Inline video player appears in chatRequirements
- Node.js 18+ — for running the MCP server
- Python 3.12+ — for Manim rendering (auto-installed into
~/.manim-mcp/.venv) - ffmpeg — for video concatenation (
brew install ffmpegon macOS)
Everything else (Manim, voiceover, TTS models, LaTeX) is automatically installed on first run.
Optional: Premium Voice
For premium multi-language voiceover via ElevenLabs, add your API key:
{
"mcpServers": {
"manim": {
"command": "npx",
"args": ["-y", "manim-mcp@latest", "--stdio"],
"env": {
"ELEVEN_API_KEY": "sk_your_key_here",
"PREFER_ELEVENLABS": "1"
}
}
}
}Language Support
| Engine | Languages | Notes | |--------|-----------|-------| | Kokoro (default) | English, Chinese, Japanese, Spanish, French, Hindi, Italian, Portuguese | Local, fast, free | | Piper | German, Russian, Dutch, Polish, Czech, Turkish, Arabic, Hungarian | Local, free | | ElevenLabs | All languages | Requires API key |
Development
git clone https://github.com/zcsabbagh/manim-mcp.git
cd manim-mcp
npm install
npm run build
# Point Claude Desktop at local build:
# "command": "node",
# "args": ["/path/to/manim-mcp/dist/index.js", "--stdio"]License
MIT
