Skip to main content
Glama
io.github.Headdao/slidemaster-mcp
by Headdao

@slidemaster/mcp-server

MCP (Model Context Protocol) Server for the SlideMaster Public API. This server exposes 20 tools that let any MCP-compatible AI assistant create AI-powered presentation videos from a simple topic.

Quick Start

1. Get an API Key

Sign in to SlideMaster and generate a key at Settings > API Keys.

2. Configure Claude Desktop

Add the following to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "slidemaster": {
      "command": "npx",
      "args": ["-y", "@slidemaster/mcp-server"],
      "env": {
        "SLIDEMASTER_API_KEY": "your-api-key-here"
      }
    }
  }
}

3. Restart Claude Desktop

After saving the config, restart Claude Desktop. You should see the SlideMaster tools available in the tool picker.

Related MCP server: mcp-ToseaAI

Local Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run the server (stdio transport)
SLIDEMASTER_API_KEY=your-key npm start

Environment Variables

Variable

Required

Description

SLIDEMASTER_API_KEY

Yes

Your SlideMaster API key

SLIDEMASTER_API_BASE

No

Override API base URL (default: https://api.slidemaster.tw/api/v1/public)

Tools (20 total)

Content Creation

Tool

Method

Endpoint

Description

generate_outline

POST

/outlines/generate

Generate a presentation outline from a topic

create_project

POST

/projects

Create a new project

upload_init

POST

/upload/init

Initialize a file upload session (PPTX/PDF)

upload_complete

POST

/upload/complete

Mark an upload as complete

render_slides

POST

/slides/render

Render AI-generated slide images

Content Processing

Tool

Method

Endpoint

Description

generate_script

POST

/scripts/generate

Generate a narration script for one slide

batch_generate_scripts

POST

/scripts/batch-generate

Generate scripts for all slides in a project

generate_tts

POST

/tts/generate

Generate text-to-speech audio

generate_video

POST

/video/generate

Compile the final video

Management

Tool

Method

Endpoint

Description

list_projects

GET

/projects

List all projects (paginated)

get_project

GET

/projects/{id}

Get project details

update_project

PATCH

/projects/{id}

Update project properties

delete_project

DELETE

/projects/{id}

Delete a project

list_slides

GET

/projects/{id}/slides

List slides in a project

update_slide

PATCH

/slides/{id}

Update a slide's title or script

delete_slide

DELETE

/slides/{id}

Delete a slide

Query & Export

Tool

Method

Endpoint

Description

check_status

GET

/projects/{id}/status

Check project processing status

export_project

GET

/projects/{id}/export

Export project with download URLs

list_voices

GET

/voices

List available TTS voices

Automation

Tool

Method

Endpoint

Description

topic_to_video

POST

/pipelines/topic-to-video

End-to-end: topic to finished video

Example Conversation

User: Create a 5-slide presentation about renewable energy in Taiwan

Claude: I'll create that presentation for you using SlideMaster.

[Calls generate_outline with topic="renewable energy in Taiwan", slides_count=5]

Here's the outline I generated:
1. Taiwan's Energy Landscape
2. Solar Power Expansion
3. Offshore Wind Development
4. Government Policy & Targets
5. Future Outlook

Let me now create the project and render the slides.

[Calls create_project with title="Renewable Energy in Taiwan"]
[Calls render_slides with the outline data]
[Calls batch_generate_scripts]
[Calls generate_tts]
[Calls generate_video]

Your video is being generated! Let me check the status.

[Calls check_status]

The video is ready! Here are your download links:

[Calls export_project]

- Video: https://...
- Slides: https://...

Alternatively, use the one-shot pipeline:

User: Make me a video about machine learning basics

Claude: I'll use the topic-to-video pipeline to handle everything in one step.

[Calls topic_to_video with topic="machine learning basics"]
[Polls check_status until complete]
[Calls export_project for download links]

Your video is ready!

API Documentation

Full API documentation is available at https://slidemaster.tw/api-docs.

License

MIT

Available Tools

20 tools
batch_generate_scriptsB

Generate narration scripts for ALL slides in a project in one batch operation.

Inputs: project_id (required), slide_ids, regenerate, prompt_style.

check_statusA

Check the processing status of a project. Use this to poll for completion after triggering render, TTS, or video generation.

Inputs: project_id (required).

create_projectA

Create a new SlideMaster project. Returns the project_id needed for subsequent operations.

Inputs: title (required), type, description.

delete_projectA

Permanently delete a project and all associated slides, audio, and video files.

Inputs: project_id (required).

delete_slideB

Delete an individual slide from a project.

Inputs: slide_id (required).

export_projectB

Export project data and download URLs for all generated assets (slides, audio, video).

Inputs: project_id (required).

generate_outlineA

Generate a presentation outline from a topic. Returns a list of slide titles and descriptions that can be used to create slides.

Inputs: topic (required), style, language, slides_count.

generate_scriptB

Generate a narration script for a single slide using AI.

Inputs: slide_id (required), regenerate, prompt_style.

generate_ttsA

Generate text-to-speech audio. Provide project_id (all slides) or slide_id (single slide).

Inputs: slide_id, project_id, voice_name, tts_provider, +1 more.

generate_videoA

Compile the final video from rendered slides and TTS audio. This is the last step in the pipeline.

Inputs: project_id (required), fps, force, resolution.

get_projectA

Get detailed information about a specific project, including its metadata and current status.

Inputs: project_id (required).

list_projectsB

List all projects in the account.

Inputs: limit.

list_slidesA

List all slides belonging to a specific project, including their titles, scripts, and render status.

Inputs: project_id (required).

list_voicesA

List all available TTS voices across all providers. Useful for choosing a voice before generating TTS.

Inputs: no named parameters.

render_slidesB

Render AI-generated slide images for a project. Each slide gets a background image produced by the image generation model.

Inputs: slides (required), project_id (required), image_size.

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.

Inputs: topic (required), style, language, tts_voice, +5 more.

update_projectB

Update project properties such as title, description, TTS provider, voice, language, or speaking rate.

Inputs: project_id (required), title, tts_voice, description, +3 more.

update_slideA

Update an individual slide's title or narration script.

Inputs: slide_id (required), title, script.

upload_completeA

Mark a file upload as complete so the server can begin processing the uploaded presentation.

Inputs: project_id (required).

upload_initC

Initialize a file upload session for an existing presentation file (PPTX/PDF). Returns a pre-signed upload URL and project_id.

Inputs: title (required), filename (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 20 tools

    Disambiguation4/5

    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.

    Naming Consistency4/5

    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.

    Tool Count3/5

    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.

    Completeness3/5

    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.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers