The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MCP Manimgl listing page.
mcp-manimgl — MCP server exposing manimgl (Manim OpenGL) mathematical animation functionality as tools for LLMs.
mcp-name: io.github.daedalus/mcp-manimgl
Optional extras:
| Dependency | Required for | Install |
|---|---|---|
ffmpeg + ffprobe | Audio mixing, narration sync, music ducking | apt install ffmpeg |
libfluidsynth3 | MIDI file rendering to audio | apt install libfluidsynth3 |
SoundFont (.sf2/.sf3) | MIDI instrument sounds | apt install fluidr3mono-gm-soundfont |
| pangocairo, OpenGL | Manim rendering engine | See manimgl docs |
The server checks for non-Python dependencies at startup and reports any missing ones to stderr and via the mcp-manimgl://info resource.
Add to your mcp.json:
The server exposes these tool categories:
create_scene — Create/configure a new sceneclear_scene — Remove all elementsadd_wait — Add wait/pauseset_camera — Configure cameraset_config — Set global rendering configsave_state / restore_state — State managementgenerate_scene_script — Get the generated Python scriptadd_circle, add_square, add_rectangle, add_polygonadd_line, add_arrow, add_dotadd_text, add_tex (LaTeX)add_function_graph, add_parametric_curveadd_coordinate_system, add_vectoradd_labeled_point, add_brace, add_number_lineadd_decimal_number, add_matrixadd_3d_object (sphere, cube, torus, cone, cylinder)move_to, shift, scale, rotateset_color, set_opacitynext_to, align_toanimate_transform, animate_fade_in/out, animate_growanimate_rotate, animate_scale, animate_shiftanimate_indicate, animate_write, animate_set_coloranimate_move_along_path, animate_groupadd_narration — Generate TTS (gTTS) narration that plays at the current timeline positionadd_background_music — Add background music from audio files or MIDI files (auto-rendered via FluidSynth). Supports volume control, looping, and sidechain ducking during narration.render_scene — Render to video (auto-mixes background music + narration with ducking)save_frame — Save single frameget_render_status — Check environmentAccepts audio files (.mp3, .wav, .ogg) or MIDI files (.mid, .midi). MIDI files are rendered to audio using FluidSynth and the system SoundFont.
When both background music and narration are present, render_scene automatically:
A narrated animation explaining Shor's algorithm with LaTeX, 5 TTS narration tracks, and classical MIDI background music.
MCP tool call sequence:
See the full scene script at shor_mcp.py in the repository root.
MIDI files are rendered using pyfluidsynth with a system SoundFont. On Debian/Ubuntu:
Auto-discovered SoundFont paths:
/usr/share/sounds/sf3/ (.sf3)/usr/share/sounds/sf2/ (.sf2)/usr/share/fluidr3mono-gm-soundfont/mcp-name: io.github.dclavijo/mcp-manimgl