Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WORKSPACE_DIRNoThe 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
hello_worldA

A basic Hello World tool to verify client-server communication.

Args:
    name: The name of the person or entity to greet. Defaults to 'World'.

Returns:
    A greeting message confirming successful MCP communication.
compile_presentationA

Compile rendered Manim-Slides scenes using manim-slides convert.

Wraps ``manim-slides convert`` to turn rendered slide assets into an
interactive presentation (e.g., Reveal.js HTML, PDF, or PPTX).

Args:
    scenes: Names of the rendered Scene/Slide classes to include, in order.
    dest: Destination path for the compiled presentation
        (e.g., "presentation.html"). The format is inferred from the
        extension when ``output_format`` is "auto".
    folder: Directory containing the rendered slide assets (default "slides").
    output_format: Conversion format: "auto", "html", "pdf", "pptx", or "zip".
    config: Extra converter options as key/value pairs
        (e.g., {"slide_number": "true"}).
    one_file: Embed all local assets (e.g., videos) into a single output file.
    workspace_dir: Working directory for the conversion. Defaults to the
        ``WORKSPACE_DIR`` environment variable or the current directory.
    timeout: Maximum time in seconds to wait for the conversion.

Returns:
    A JSON string with the conversion status, output destination,
    executed command, and captured stdout/stderr.
export_revealjs_htmlA

Export rendered Manim-Slides scenes to an interactive Reveal.js HTML deck.

Wraps ``manim-slides convert --to html`` with first-class Reveal.js
configuration for themes, transitions, and navigation controls.

Args:
    scenes: Names of the rendered Scene/Slide classes to include, in order.
    dest: Destination path for the exported HTML deck
        (e.g., "presentation.html").
    folder: Directory containing the rendered slide assets (default "slides").
    theme: Reveal.js theme: "black", "white", "league", "beige", "sky",
        "night", "serif", "simple", "solarized", "blood", "moon", or
        "dracula". Defaults to "black".
    transition: Slide transition: "none", "fade", "slide", "convex",
        "concave", or "zoom". Defaults to "none".
    transition_speed: Transition speed: "default", "fast", or "slow".
    controls: Show navigation control arrows in the corner.
    progress: Show a presentation progress bar.
    slide_number: Display the current slide number.
    hash: Add the current slide to the URL hash for deep linking.
    loop: Loop the presentation.
    title: Presentation title used in the browser tab.
    config: Extra Reveal.js converter options as key/value pairs
        (e.g., {"background_color": "white"}).
    one_file: Embed all local assets (e.g., videos) into a single HTML file.
    offline: Download remote Reveal.js assets for offline viewing.
    workspace_dir: Working directory for the conversion. Defaults to the
        ``WORKSPACE_DIR`` environment variable or the current directory.
    timeout: Maximum time in seconds to wait for the conversion.

Returns:
    A JSON string with the export status, output destination,
    executed command, and captured stdout/stderr.
serve_revealjs_htmlA

Serve an exported Reveal.js HTML deck on a local HTTP server for preview.

Starts an ephemeral background HTTP server that serves the workspace so the
deck's relative slide assets resolve, and returns a URL that can be opened
in a browser (optionally opening it automatically).

Args:
    dest: Path to the exported HTML deck (e.g., "presentation.html"). Resolved
        relative to ``workspace_dir`` when not absolute.
    workspace_dir: Working directory. Defaults to the ``WORKSPACE_DIR``
        environment variable or the current directory.
    host: Bind address for the server (default "127.0.0.1").
    port: Port to bind. When None, an ephemeral OS-assigned port is used.
    open_browser: When True, attempt to open the URL in the default browser.

Returns:
    A JSON string with the preview URL, bound port, served directory, and
    whether an existing server was reused.
stop_preview_serverA

Stop running ephemeral preview servers started by serve_revealjs_html.

Args:
    port: Port of the server to stop. When omitted, all preview servers
        started by this MCP process are stopped.

Returns:
    A JSON string listing the stopped ports and the number of remaining
    active preview servers.
list_scenesA

Discover rendered scenes and their slide metadata in the workspace.

Reads the slide configuration files (``<scene>.json``) produced by
``manim-slides render`` and returns structured metadata for each scene,
including slide counts, resolution, and per-slide media files.

Args:
    folder: Directory containing the rendered slide assets (default "slides").
    workspace_dir: Working directory. Defaults to the ``WORKSPACE_DIR``
        environment variable or the current directory.

Returns:
    A JSON string listing the discovered scenes and their slide metadata.
preview_slideA

Extract a single-slide preview (image or video) without compiling the deck.

Reads the rendered slide configuration for ``scene`` and produces a preview
of the slide at ``slide_index``: an image frame (png/jpg/webp), a video
snippet (mp4), or an animated GIF.

Args:
    scene: Name of the rendered Scene/Slide class to preview.
    slide_index: Zero-based index of the slide within the scene.
    output_format: Preview format: "png", "jpg", "jpeg", "webp", "mp4",
        or "gif". Defaults to "png".
    folder: Directory containing the rendered slide assets (default "slides").
    workspace_dir: Working directory. Defaults to the ``WORKSPACE_DIR``
        environment variable or the current directory.
    timeout: Maximum time in seconds to wait for ffmpeg preview generation.

Returns:
    A JSON string with the preview status, output path, and format.
execute_manim_codeA

Execute Manim-Slides Python code and render the resulting scenes.

Writes the provided code to a secure temporary script, renders it with
``manim-slides render`` (headless, no preview popup), and returns the
produced media files. Rendered-frame percentages are streamed to the client
as ``notifications/progress`` updates while rendering is in progress.

Renders are cached by a content hash of ``code``, ``scenes``, and
``quality``: an unchanged request reuses the previously rendered media
instead of re-rendering.

Args:
    code: Python source code defining one or more Manim Scene/Slide classes.
    scenes: Names of the Scene/Slide classes to render. If omitted or empty,
        all scenes in the file are rendered.
    quality: Render quality: "l" (low), "m" (medium), "h" (high),
        "p" (2K), or "k" (4K). Defaults to "l".
    media_dir: Directory where rendered media is stored. Defaults to the
        ``WORKSPACE_DIR`` environment variable or a temporary directory.
    timeout: Maximum time in seconds to wait for rendering.
    use_cache: When True, reuse previously rendered media for unchanged
        requests instead of re-rendering. Defaults to True.

Returns:
    A JSON string with the render status, produced media file paths,
    executed command, and captured stdout/stderr. A cache hit sets
    ``cached`` to True and omits the command.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
server_statusReturn the current status and environment info of the MCP server.
revealjs_config_optionsReturn the supported Reveal.js HTML export configuration options.
slides_listList 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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/antoniomachuca/MCP-Manim-Slides'

If you have feedback or need assistance with the MCP directory API, please join our Discord server