This repository is an agent-ready Manim workbench: a Codex plugin, a local MCP render server, helper scripts, original example scenes, and concise references for building mathematical visualizations with Manim Community Edition.
It is not a fork of Manim. It uses the current Manim ecosystem as source material and gives agents a single, coherent entrypoint for authoring and rendering scenes.
- Codex plugin manifest:
.codex-plugin/plugin.json - Main skill:
skills/manim-visualizer/SKILL.md - MCP render server:
mcp/manim_server.py - Scripts for setup, rendering, source bootstrapping, and output discovery
- Original example scenes under
examples/scenes/ - A reusable starter project under
templates/basic_project/ - Reference docs covering Manim CE, ManimGL, 3Blue1Brown examples, native Manim plugins, and MCP options
Install the plugin repo tools:
uv syncCheck local prerequisites:
./scripts/check_environment.shIf TinyTeX is installed at /Volumes/aadarwal_vx/tools/TinyTeX, the scripts automatically add its bin/universal-darwin directory to PATH so Manim can render Tex and MathTex. Set MANIM_TEXLIVE_BIN to override that binary directory.
Render an example still:
./scripts/render_manim.sh \
--project-dir ./examples \
--scene-file ./examples/scenes/basic_transform.py \
--scene-name BasicTransform \
--quality low \
--stillRender an example video:
./scripts/render_manim.sh \
--project-dir ./examples \
--scene-file ./examples/scenes/linear_transform.py \
--scene-name LinearTransformDemo \
--quality lowRun the MCP server:
./scripts/run_mcp_server.shWhen an agent is pointed at this repo, start with:
AGENTS.mdskills/manim-visualizer/SKILL.mdreferences/source-survey.mdreferences/authoring-guide.md
Default to Manim Community Edition for new work. Use ManimGL and 3Blue1Brown video code as references, not as the target runtime, unless the user explicitly requests ManimGL compatibility.
This repo contains original examples and workflow code. It does not vendor 3Blue1Brown video source because that repository is CC BY-NC-SA 4.0 and many old scenes depend on old Manim APIs.
Use:
./scripts/bootstrap_sources.shto clone upstream reference repositories into .manim-sources/ when needed.