MCP Manimgl logo

MCP Manimgl

Builds, narrates, and renders Manim OpenGL mathematical animations through MCP tools.

Install MCP Manimgl

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-manimgl": {
      "command": "uvx",
      "args": [
        "mcp-manimgl"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 58 tools correctly (Today).

Overview

The mcp-manimgl MCP server exposes Manim OpenGL scene-building and rendering controls to MCP-compatible clients. It lets an agent create mathematical objects, configure cameras and output settings, add animations, generate a Python scene script, and render video or individual frames. Optional audio features add gTTS narration and audio or MIDI background music with looping, volume control, and narration ducking. Reach for it when an agent needs to produce educational or mathematical animations through tool calls rather than manually writing a Manim scene.

Use cases

  • Create narrated mathematical explanations
  • Render animated equations and graphs
  • Compose videos with MIDI background music
  • Generate reusable Python scene scripts
  • Save rendered animation frames

Key features

  • Manim OpenGL scene construction
  • Mathematical objects, LaTeX, graphs, and 3D shapes
  • Timeline-based animation controls
  • gTTS narration and audio mixing
  • MIDI rendering through FluidSynth
  • Video and single-frame rendering

Tools58

What MCP Manimgl lets your agent do. Expand a tool for its parameters.

Verified live~4.6k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

4/4 checks healthy over the last 42d

What it can do

From the 58 tools this server returned when we ran it.

Runs commands · 7Can delete or modify data · 1Read-only tools · 50
Network at startup2 connections
Files written at startup11

Observed 2026-10-24 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 15h ago via OSV.dev · mcp-manimgl (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

Last commit5mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed58Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Manimgl works

What mcp-manimgl does

The mcp-manimgl MCP server turns scene construction and rendering tasks from Manim OpenGL into MCP tool calls. An agent can create a scene, add geometric objects, text, LaTeX, graphs, curves, coordinate systems, vectors, matrices, and supported 3D objects. It can then transform those objects and apply animation operations such as fading, writing, rotating, scaling, shifting, growing, indicating, and moving along paths.

Scene controls include camera configuration, global rendering settings, waits, clearing the scene, state save and restore, and retrieval of the generated Python script. Rendering tools produce a video or save a single frame, while an environment-status tool checks the runtime setup.

How it works

The server uses the default MCP stdio transport. Tool calls build an in-memory scene and timeline. Narration added with add_narration uses gTTS and is placed at the current timeline position. Background music can come from MP3, WAV, or OGG files, or from MIDI files rendered through FluidSynth.

When a scene includes narration and music, rendering first produces the video through manimgl, then combines the audio tracks with ffmpeg. Music can loop to cover the scene, and sidechain compression lowers its volume while narration plays. The generate_scene_script tool exposes the corresponding generated Python script for inspection or reuse.

Setup and configuration

Install the base package with:

Terminal
pip install mcp-manimgl

Use the render extra for rendering dependencies and the audio extra for narration and MIDI support:

Terminal
pip install "mcp-manimgl[render]"
pip install "mcp-manimgl[audio]"

Start the server with mcp-manimgl. An MCP client can launch it with a configuration entry whose command is mcp-manimgl. The README specifically documents Claude Desktop and Cursor configurations.

Rendering requires the Manim-related pangocairo and OpenGL dependencies. Audio mixing and synchronization require ffmpeg and ffprobe. MIDI rendering additionally requires libfluidsynth3, a compatible SoundFont such as .sf2 or .sf3, and the audio extra. On Debian or Ubuntu, the documented packages include fluidr3mono-gm-soundfont and libfluidsynth3.

Tools and capabilities

The mcp-manimgl MCP server provides tools for:

  • Creating and configuring scenes, cameras, and render settings
  • Adding and manipulating 2D, mathematical, and 3D objects
  • Applying timeline-based transforms and animation effects
  • Adding gTTS narration at scene timeline positions
  • Adding audio or MIDI music with volume, looping, and ducking options
  • Generating scene scripts, rendering videos, and saving frames
  • Checking whether required runtime dependencies are available

Limitations and notes

Rendering and audio are not provided by the base Python install alone. Missing native libraries, OpenGL-related dependencies, ffmpeg, FluidSynth, or a SoundFont can prevent particular features from working. The server checks non-Python dependencies at startup and reports missing items to stderr and through the mcp-manimgl://info resource.

MIDI input is not played directly: it is converted to audio through FluidSynth and a system SoundFont. Audio mixing occurs during render_scene, so a completed video with narration and ducked music depends on the required ffmpeg tooling.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Manimgl

mcp-manimgl is an MCP server that connects MCP-compatible clients to Manim OpenGL for mathematical animation. Its main tools create and configure scenes, add objects and animations, generate Python scene scripts, add gTTS narration or background music, render videos, save frames, and check the rendering environment.

Install it with `pip install mcp-manimgl`. Add the `render` extra for rendering dependencies or the `audio` extra for narration and MIDI support. Native dependencies such as ffmpeg, OpenGL-related libraries, and FluidSynth may also be required for specific features.

Add an MCP server entry with the command `mcp-manimgl`. The documented configuration uses `"command": "mcp-manimgl"` under the server name, and the default transport is stdio.

Yes, it can accept MIDI files and render them to audio through FluidSynth. MIDI support requires the audio extra, `libfluidsynth3`, and a compatible SoundFont. Background music also supports volume control, looping, and ducking during narration.

Yes, `render_scene` renders the animation and mixes narration with background music when both are present. Narration is generated with gTTS, positioned on the scene timeline, and music is ducked during narration through ffmpeg-based audio processing.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Manimgl AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mcp-manimgl?style=directory)](https://allmcps.com/mcp/mcp-manimgl)
HTML Embed
<a href="https://allmcps.com/mcp/mcp-manimgl"><img src="https://allmcps.com/api/badge/mcp-manimgl?style=directory" alt="MCP Manimgl on AllMCPs" /></a>