io.github.Headdao/slidemaster-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLIDEMASTER_API_KEY | Yes | Your SlideMaster API key | |
| SLIDEMASTER_API_BASE | No | Override API base URL (default: https://api.slidemaster.tw/api/v1/public) |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_outlineA | Generate a presentation outline from a topic. Returns a list of slide titles and descriptions that can be used to create slides. |
| create_projectA | Create a new SlideMaster project. Returns the project_id needed for subsequent operations. |
| upload_initC | Initialize a file upload session for an existing presentation file (PPTX/PDF). Returns a pre-signed upload URL and project_id. |
| upload_completeA | Mark a file upload as complete so the server can begin processing the uploaded presentation. |
| render_slidesB | Render AI-generated slide images for a project. Each slide gets a background image produced by the image generation model. |
| generate_scriptB | Generate a narration script for a single slide using AI. |
| batch_generate_scriptsB | Generate narration scripts for ALL slides in a project in one batch operation. |
| generate_ttsA | Generate text-to-speech audio. Provide project_id (all slides) or slide_id (single slide). |
| generate_videoA | Compile the final video from rendered slides and TTS audio. This is the last step in the pipeline. |
| list_projectsB | List all projects in the account. |
| get_projectA | Get detailed information about a specific project, including its metadata and current status. |
| update_projectB | Update project properties such as title, description, TTS provider, voice, language, or speaking rate. |
| delete_projectA | Permanently delete a project and all associated slides, audio, and video files. |
| list_slidesA | List all slides belonging to a specific project, including their titles, scripts, and render status. |
| update_slideA | Update an individual slide's title or narration script. |
| delete_slideB | Delete an individual slide from a project. |
| check_statusA | Check the processing status of a project. Use this to poll for completion after triggering render, TTS, or video generation. |
| export_projectB | Export project data and download URLs for all generated assets (slides, audio, video). |
| list_voicesA | List all available TTS voices across all providers. Useful for choosing a voice before generating TTS. |
| topic_to_videoA | One-click pipeline: create a presentation from a topic. Default produces slides only. Set include_scripts=true for narration scripts, include_video=true for full MP4 video. Poll check_status afterward. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Tools are mostly mapped to distinct resources and actions: project CRUD, slide updates, script/TTS/video generation, and status polling. The main ambiguities are get_project vs check_status (both expose status) and the generate_outline vs topic_to_video entry points when starting from a topic.
The naming convention is largely consistent snake_case verb_noun across the set (list_projects, update_slide, generate_tts, delete_project). Minor deviations like topic_to_video and batch_generate_scripts break the strict pattern but remain predictable.
20 tools is at the high end for a single server and feels heavy, even for the multi-stage presentation-to-video workflow. Several granular operations (upload_init/upload_complete, generate_script/batch_generate_scripts) could have been combined into parameterized tools.
The main topic-to-video pipeline is covered end to end, and project lifecycle tools are complete. However, slide management lacks a create/add-slide operation, and generate_outline has no explicit follow-up tool to turn the outline into slides, leaving a notable gap for step-by-step workflows.