Manim-Slides MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WORKSPACE_DIR | No | The directory where generated media and presentation assets are stored. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hello_worldA | A basic Hello World tool to verify client-server communication. |
| compile_presentationA | Compile rendered Manim-Slides scenes using |
| export_revealjs_htmlA | Export rendered Manim-Slides scenes to an interactive Reveal.js HTML deck. |
| serve_revealjs_htmlA | Serve an exported Reveal.js HTML deck on a local HTTP server for preview. |
| stop_preview_serverA | Stop running ephemeral preview servers started by |
| list_scenesA | Discover rendered scenes and their slide metadata in the workspace. |
| preview_slideA | Extract a single-slide preview (image or video) without compiling the deck. |
| execute_manim_codeA | Execute Manim-Slides Python code and render the resulting scenes. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| server_status | Return the current status and environment info of the MCP server. |
| revealjs_config_options | Return the supported Reveal.js HTML export configuration options. |
| slides_list | List all rendered slide configurations and metadata in the workspace. Reads the slide configuration files (``<scene>.json``) produced by ``manim-slides render`` from the default ``slides`` folder inside the active workspace (``WORKSPACE_DIR`` environment variable or the current directory). Unlike the ``list_scenes`` tool, this read-only resource always targets the active workspace and takes no arguments. Returns: A JSON string listing the discovered scenes and their slide metadata. |
TDQS
Scored across 8 tools
Most tools have clear, distinct purposes: hello_world verifies connectivity, compile_presentation generates decks, export_revealjs_html handles HTML-specific export, and the remaining tools cover serving, preview, listing, and execution. The only potential confusion is between compile_presentation and export_revealjs_html, since the latter is a specialized subset of the former, but their descriptions make the distinction clear enough.
The tool names follow a consistent pattern of verb_noun or verb_adjective_noun: hello_world, compile_presentation, export_revealjs_html, serve_revealjs_html, stop_preview_server, list_scenes, preview_slide, and execute_manim_code. All use lowercase_with_underscores, and the verbs (compile, export, serve, stop, list, preview, execute) are action-oriented and clear.
With 8 tools, the server covers the core Manim-Slides workflow: render code, list scenes, preview slides, compile presentations, export HTML, serve HTML, and utility. This is a reasonable number and well-scoped for the domain, though hello_world is arguably unnecessary. No excessive bloat or missing critical pieces for the basic presentation creation pipeline.
The toolset covers the main workflow: execute code to render scenes, list scenes, preview individual slides, compile to presentations, and serve/stop the preview server. However, there are gaps: no tool to update or delete existing rendered assets, no way to manage the server lifecycle beyond stopping previews, and no tool for inspecting render configurations or getting help about available scenes in more detail.