| 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.
|