
How to add Manim MCP Server to Windsurf
Run Manim animation code from your MCP client and get back rendered videos. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 600★ · stdio · no auth
Windsurf config for Manim MCP Server
git clone https://github.com/abhiemj/manim-mcp-server.git{
"mcpServers": {
"manim-mcp-server": {
"command": "/absolute/path/to/python",
"args": [
"/absolute/path/to/manim-mcp-server/src/manim_server.py"
],
"env": {
"MANIM_EXECUTABLE": "/Users/[Your_username]/anaconda3/envs/manim2/Scripts/manim.exe"
}
}
}
}Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Manim MCP Server config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Manim MCP Server's tools become available to Cascade.
Before you start
- Python 3.8+
- Manim (Community Version) installed (pip install manim)
- MCP installed (pip install mcp)
What Manim MCP Server can do in Windsurf
execute_manim_codeExecute the provided Manim code. Writes the script to a temp directory inside the media folder, runs the Manim executable on it, and reports whether the video was generated successfully.
cleanup_manim_temp_dirClean up the specified Manim temporary directory after execution by removing it and its contents.
Security
The server executes arbitrary Manim Python code it receives as input via subprocess. Only run it with trusted input, since executing untrusted scripts can lead to arbitrary code execution on the host.
Manim MCP Server + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Manim MCP Server config there under the "mcpServers" key and restart the client.
Is Manim MCP Server safe to use with Windsurf?
The server executes arbitrary Manim Python code it receives as input via subprocess. Only run it with trusted input, since executing untrusted scripts can lead to arbitrary code execution on the host.
How do I integrate it with Claude?
Add a 'manim-server' entry to your claude_desktop_config.json with your Python interpreter as the command and the path to src/manim_server.py as the argument, plus the MANIM_EXECUTABLE environment variable pointing to your manim binary.
How do I find my Python path?
On Linux/macOS run `which python`; on Windows run `where python` (Command Prompt) or `(Get-Command python).Source` (PowerShell).
Where does the rendered video go?
Output is saved into a visible media folder created next to the server script, under a 'manim_tmp' temporary directory.