Oui, Claude peut générer tes vidéos Manim lui-même, sans installation compliquée
Un serveur MCP qui donne à Claude la main sur Manim : il écrit la scène, lance le rendu, et te donne directement le fichier vidéo. Installation réduite à une seule commande.
Auteur : Attuoman Prince Josias
Publié le
Ce guide construit un serveur MCP qui donne à Claude la capacité de générer une vraie vidéo Manim, pas juste du code à copier.
Installation volontairement réduite à une seule commande via conda-forge (Python, Manim, FFmpeg et le SDK MCP en un coup), en évitant LaTeX pour rester simple.
Le tool generate_manim_video écrit le script reçu, lance le rendu en arrière-plan avec timeout, et renvoie le chemin du fichier .mp4.
Ce résumé (uniquement ce résumé, pas l'article) est généré par Claude Sonnet 5, relu et validé par Attuoman Prince Josias, auteur de l'article.
Écrire une scène Manim, c'est une chose. La rendre à chaque fois à la main, récupérer le fichier, vérifier qu'il n'y a pas d'erreur LaTeX, c'est autre chose. Ici, Claude fait les deux : il écrit la scène, ET il vous donne la vidéo finie. Un seul outil MCP suffit.
Le Model Context Protocol (MCP) est un standard ouvert, créé par Anthropic puis confié à la Linux Foundation fin 2025, qui permet à un assistant comme Claude de se brancher sur des outils ou des données externes sans qu'il faille coder une intégration sur mesure à chaque fois. Concrètement, un serveur MCP expose des tools, des actions que Claude peut déclencher lui-même pendant la conversation. C'est ce qu'on construit ici, avec un seul tool.
Le principe
Contrairement aux serveurs des guides précédents, celui-ci n'appelle aucune API distante. Il fait tourner un programme sur ta propre machine : Claude écrit du code Manim, le tool le passe à la commande manim en local, et renvoie le chemin de la vidéo une fois le rendu terminé.
Tout s'installe en une seule commande
Manim a une réputation compliquée à installer, parce qu'il dépend normalement de FFmpeg et d'une distribution LaTeX à installer à côté. La solution la plus simple : passer par conda-forge, qui embarque tout sauf LaTeX. Et pour rester sur une seule commande sans complexifier l'install, ce guide évite volontairement LaTeX (donc pas de formules mathématiques dans la démo, seulement des formes et du texte).
Terminalinstallation complète
# Tout est dedans, rien à ajouter à côté : Python, Manim (avec FFmpeg), le SDK MCP
conda create -n manim-mcp python=3.11 -y && conda activate manim-mcp && conda install -c conda-forge manim -y && pip install mcp
Le serveur : un tool, pas plus
Crée server.py. Le tool reçoit le code Manim écrit par Claude, le rend en arrière-plan, et renvoie le chemin du fichier vidéo.
Pythonserver.py
from mcp.server.fastmcp import FastMCP
import asyncio
import tempfile
import pathlib
mcp = FastMCP("manim-video")
TIMEOUT_SECONDS = 90
@mcp.tool()
async def generate_manim_video(python_code: str, scene_name: str) -> str:
"""Genere une video a partir d'un script Manim et renvoie le chemin du fichier .mp4.
Args:
python_code: Code complet d'une scene Manim (imports compris), heritant de Scene.
scene_name: Nom exact de la classe Scene a rendre.
"""
workdir = pathlib.Path(tempfile.mkdtemp(prefix="manim_mcp_"))
script_path = workdir / "scene.py"
script_path.write_text(python_code, encoding="utf-8")
process = await asyncio.create_subprocess_exec(
"manim", "-ql", "--media_dir", str(workdir / "media"),
str(script_path), scene_name,
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE,
)
try:
_, stderr = await asyncio.wait_for(process.communicate(), timeout=TIMEOUT_SECONDS)
except asyncio.TimeoutError:
process.kill()
return "Le rendu a depasse le delai autorise (90s). Simplifie la scene et reessaie."
if process.returncode != 0:
return f"Erreur de rendu Manim :\n{stderr.decode()[-800:]}"
videos = list((workdir / "media" / "videos").rglob("*.mp4"))
if not videos:
return "Le rendu a reussi mais aucune video n'a ete trouvee."
return f"Video generee : {videos[0]}"
if __name__ == "__main__":
mcp.run(transport="stdio")
Connecter le serveur à Claude Code
Terminalclaude mcp add
claude mcp add manim-video -- python /chemin/absolu/vers/server.py
Détail de la commande et des options dans le guide officiel Claude Code sur MCP.
Une fois branché, une demande simple suffit : « fais-moi une animation où un cercle devient un carré, avec le texte De Le Code IA, avec Manim en dessous ». Claude écrit la scène Manim lui-même, appelle le tool, attend le rendu, et te donne le chemin du fichier .mp4 prêt à poster.
La suite : un seul serveur pour tout
Ce tool, celui du taux de change et celui du foot partagent la même structure de base. Les regrouper dans un même serveur multi-tools permettrait à Claude de choisir seul lequel utiliser selon la demande.
Une newsletter par semaine, gratuite.
Actus IA, tutoriels et outils. Zero spam, desabonnement en 1 clic.
Notez cet article