manim
MCP server from abhiemj/manim-mcp-server
claude mcp add --transport stdio abhiemj-manim-mcp-server python src/manim_server.py \ --env MANIM_EXECUTABLE="/path/to/manim"
How to use
The Manim MCP Server accepts Python scripts that use the Manim library and returns the rendered animation as a video. It executes the provided Manim code, saves the output to a media folder, and can clean up temporary files after rendering. This makes it easy to generate animations on demand via MCP-compatible tools and to integrate Manim-driven visuals into chat assistants or automation workflows. To use it, prepare a Manim script that creates a Scene and saves the output with a standard Manim command, then send that script to the MCP server; the server will run it through Manim and respond with the resulting video file or a link to access it.
The server exposes the core capability of executing Manim Python scripts and returning the produced media. It supports configuring the Manim executable via the MANIM_EXECUTABLE environment variable and storing outputs in a visible media folder for easy retrieval. When integrating with other services (e.g., Claude, chatbots, or automation pipelines), pass the script to the MCP server and handle the returned media URL or file for downstream usage.
How to install
Prerequisites:
- Python 3.8+
- Manim (Community Version)
- MCP (Model Context Protocol) framework
Install Manim and MCP, then clone the repository and install dependencies:
# Prereqs (example for Unix-like systems)
python3 -m pip install --upgrade pip
# Install Manim
pip install manim
# Install MCP (if not already installed in your environment)
pip install mcp
Clone the Manim MCP Server repository and navigate into it:
git clone https://github.com/abhiemj/manim-mcp-server.git
cd manim-mcp-server
Run the server (example):
# Start the Manim MCP server
python src/manim_server.py
Optional: make sure the MANIM_EXECUTABLE environment variable points to your Manim binary if needed by your environment:
export MANIM_EXECUTABLE=$(which manim)
You can then integrate this MCP server with compatible clients by referencing the mcp_config entry.
Additional notes
Tips and notes:
- Ensure Python 3.8+ and Manim (Community Version) are installed; the MCP framework is required for communication.
- The MANIM_EXECUTABLE environment variable can be used to override the Manim binary path if your system has multiple Python environments.
- Output media is saved in a dedicated media folder; manage or clean temporary files as needed after rendering.
- When integrating with editors or assistants (like Claude), provide the absolute path to the python executable and the path to src/manim_server.py in your configuration to ensure reliable startup.
- If you encounter path or permission issues, verify that the server process has read/write access to the media output directory and that the Manim script adheres to Manim’s expected invocation patterns.
- You can customize environment variables or arguments for specific Manim configurations by extending the mcp_config env block as needed.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP