headdao avatar

SlideMaster

io.github.headdao/slidemaster-mcp

This connects Claude to SlideMaster AI's course design platform, letting you generate complete presentation videos through conversational prompts. You give it a topic, duration, and audience, and it returns structured lesson plans with slides, narration scripts, TTS audio, and MP4 exports. The underlying service builds what they call "experience blueprints" that map out teaching rhythm and interaction points, then renders everything into a finished video with AI voiceover and subtitles. Reach for this when you need to go from subject matter to a polished instructional video without touching presentation or video editing software. It's built for corporate training, online courses, and lecture recording workflows where speed matters more than pixel perfect customization.

tools
32
auth
Secret needed
transport
STDIO
env vars
2
last updated
Feb 28, 2026

Tools

32 tools

Public tool metadata for what this MCP can expose to an agent.

generate_outlineUse this when the user wants to plan a presentation. Generates slide titles and descriptions from a topic. Automatically creates a project and returns project_id — no need to call create_project separately.4 params

Use this when the user wants to plan a presentation. Generates slide titles and descriptions from a topic. Automatically creates a project and returns project_id — no need to call create_project separately.

Parameters* required
languagestring
Output language (default: 'zh-TW')one of zh-TW · zh-CN · en · ja
slides_countinteger
Number of slides (default: 8)
stylestring
Presentation styleone of professional · playful · minimalist
topicstring
The topic or prompt, e.g. 'Introduction to Machine Learning'
create_projectUse this to create a new empty project. Returns the project_id needed for all subsequent operations.3 params

Use this to create a new empty project. Returns the project_id needed for all subsequent operations.

Parameters* required
descriptionstring
Optional project description
titlestring
Project title, e.g. 'Q3 Sales Report'
typestring
'traditional' (slides) or 'flow' (screen recording). Default: 'traditional'one of traditional · flow
upload_initUse this to upload an existing PPTX or PDF file. Returns a pre-signed upload URL and project_id.2 params

Use this to upload an existing PPTX or PDF file. Returns a pre-signed upload URL and project_id.

Parameters* required
filenamestring
Original filename with extension, e.g. 'deck.pptx'
titlestring
Title for the uploaded presentation
upload_completeUse this after the file has been uploaded to the pre-signed URL. Triggers server-side processing.1 params

Use this after the file has been uploaded to the pre-signed URL. Triggers server-side processing.

Parameters* required
project_idstring
Project ID returned from upload_init
analyze_style_imageUpload a style reference image to analyze its visual style (colors, fonts, layout). Returns a style_guide object that can be passed to render_slides to apply this style to all slides. IMPORTANT: image_url must be a publicly accessible URL (e.g. hosted on Imgur, Cloudinary, or...1 params

Upload a style reference image to analyze its visual style (colors, fonts, layout). Returns a style_guide object that can be passed to render_slides to apply this style to all slides. IMPORTANT: image_url must be a publicly accessible URL (e.g. hosted on Imgur, Cloudinary, or...

Parameters* required
image_urlstring
Public URL of the style reference image (PNG, JPG, or any image URL)
render_slidesUse this to generate AI slide images for a project. Each slide gets a background image from the AI model. Optionally pass a style_guide (from analyze_style_image) to apply a consistent visual style. Each slide needs: title (displayed heading), description (visual scene descrip...5 params

Use this to generate AI slide images for a project. Each slide gets a background image from the AI model. Optionally pass a style_guide (from analyze_style_image) to apply a consistent visual style. Each slide needs: title (displayed heading), description (visual scene descrip...

Parameters* required
dry_runboolean
If true, only return estimated cost without actually rendering. Use to preview cost before committing.
image_sizestring
Resolution: '1K' | '2K' | '4K' (default: '2K')one of 1K · 2K · 4K
project_idstring
Target project ID
slidesarray
Array of {title, description} objects
style_guideobject
Style guide object from analyze_style_image. Pass this to apply a consistent visual style to all slides.
generate_scriptUse this to generate a narration script for a single slide using AI.3 params

Use this to generate a narration script for a single slide using AI.

Parameters* required
prompt_stylestring
Narration tone (default: 'professional')one of professional · casual · educational
regenerateboolean
Force regeneration if script exists (default: false)
slide_idstring
Slide ID to generate a script for
batch_generate_scriptsUse this to generate narration scripts for all slides in a project in one batch.4 params

Use this to generate narration scripts for all slides in a project in one batch.

Parameters* required
project_idstring
Project ID to generate scripts for
prompt_stylestring
Narration tone (default: 'professional')one of professional · casual · educational
regenerateboolean
Force regeneration if scripts exist (default: false)
slide_idsarray
Optional subset of slide IDs; omit for all slides
generate_ttsUse this to generate text-to-speech audio. Pass project_id for all slides or slide_id for one slide. Provider comparison: - **gemini**: Best quality for zh-TW/en/ja, natural intonation, recommended default. Voices: Zephyr, Puck, Charon, Kore, etc. - **cosyvoice**: Supports voi...5 params

Use this to generate text-to-speech audio. Pass project_id for all slides or slide_id for one slide. Provider comparison: - **gemini**: Best quality for zh-TW/en/ja, natural intonation, recommended default. Voices: Zephyr, Puck, Charon, Kore, etc. - **cosyvoice**: Supports voi...

Parameters* required
project_idstring
Project ID — generates TTS for all slides
slide_idstring
Slide ID — generates TTS for one slide
speaking_ratenumber
Speed multiplier, e.g. 0.8 slower, 1.2 faster (default: 1.0)
tts_providerstring
TTS provider. Only 'gemini', 'cosyvoice', or 'azure' are supported.one of gemini · cosyvoice · azure
voice_namestring
Voice ID from the provider. Use list_voices to browse.
generate_videoUse this as the final step to compile slides + audio into an MP4 video. Poll check_status afterward.4 params

Use this as the final step to compile slides + audio into an MP4 video. Poll check_status afterward.

Parameters* required
forceboolean
Force regeneration if video exists (default: false)
fpsinteger
Frames per second (default: 30)
project_idstring
Project ID to generate video for
resolutionarray
[width, height], e.g. [1920, 1080] (default: [1920, 1080])
list_projectsUse this when the user wants to see their existing projects. Returns a paginated project list.1 params

Use this when the user wants to see their existing projects. Returns a paginated project list.

Parameters* required
limitinteger
Max results to return (default: 50, max: 100)
get_projectUse this to retrieve detailed metadata and status for a specific project.1 params

Use this to retrieve detailed metadata and status for a specific project.

Parameters* required
project_idstring
Project ID to retrieve
update_projectUse this to update project settings like title, description, TTS provider, voice, or language.7 params

Use this to update project settings like title, description, TTS provider, voice, or language.

Parameters* required
descriptionstring
New project description
project_idstring
Project ID to update
titlestring
New project title
tts_languagestring
Language code, e.g. 'zh-TW', 'en'
tts_providerstring
TTS provider. Only 'gemini', 'cosyvoice', or 'azure' are supported.one of gemini · cosyvoice · azure
tts_speaking_ratenumber
Speed multiplier (default: 1.0)
tts_voicestring
Voice name/ID
delete_projectUse this to permanently delete a project and all its slides, audio, and video. Do not use for archiving.1 params

Use this to permanently delete a project and all its slides, audio, and video. Do not use for archiving.

Parameters* required
project_idstring
Project ID to delete
list_slidesUse this to list all slides in a project with their titles, scripts, and render status.1 params

Use this to list all slides in a project with their titles, scripts, and render status.

Parameters* required
project_idstring
Project ID to list slides for
update_slideUse this to edit a slide's title or narration script text.3 params

Use this to edit a slide's title or narration script text.

Parameters* required
scriptstring
New narration script text
slide_idstring
Slide ID to update
titlestring
New slide title
delete_slideUse this to permanently remove a single slide from a project.1 params

Use this to permanently remove a single slide from a project.

Parameters* required
slide_idstring
Slide ID to delete
check_statusUse this to poll processing progress after triggering render, TTS, or video generation. Status values: - "processing": Slides are being rendered (poll every 5-10 seconds) - "parsed": Slides are rendered and ready. Check scripts/audio progress in the response. - "generating_vid...1 params

Use this to poll processing progress after triggering render, TTS, or video generation. Status values: - "processing": Slides are being rendered (poll every 5-10 seconds) - "parsed": Slides are rendered and ready. Check scripts/audio progress in the response. - "generating_vid...

Parameters* required
project_idstring
Project ID to check status for
export_projectUse this to get download URLs for all generated assets: slides, audio, and video files.1 params

Use this to get download URLs for all generated assets: slides, audio, and video files.

Parameters* required
project_idstring
Project ID to export
export_pdfExport all rendered slides as a single PDF file (16:9 landscape, one slide per page). Returns { pdf_url, page_count, title, summary }. IMPORTANT: Give the user the pdf_url value — it is a signed download link that expires. Do NOT construct GCS URLs manually.1 params

Export all rendered slides as a single PDF file (16:9 landscape, one slide per page). Returns { pdf_url, page_count, title, summary }. IMPORTANT: Give the user the pdf_url value — it is a signed download link that expires. Do NOT construct GCS URLs manually.

Parameters* required
project_idstring
Project ID to export as PDF
export_pptxExport all rendered slides as a single PPTX (PowerPoint) file. Returns { pptx_url, page_count, title, summary }. IMPORTANT: Give the user the pptx_url value — it is a signed download link that expires.1 params

Export all rendered slides as a single PPTX (PowerPoint) file. Returns { pptx_url, page_count, title, summary }. IMPORTANT: Give the user the pptx_url value — it is a signed download link that expires.

Parameters* required
project_idstring
Project ID to export as PPTX
export_evercamExport project as an EverCam offline HTML5 playable package (ZIP). Requires video to be generated first. This is async — call evercam_status to poll progress.1 params

Export project as an EverCam offline HTML5 playable package (ZIP). Requires video to be generated first. This is async — call evercam_status to poll progress.

Parameters* required
project_idstring
Project ID to export as EverCam
evercam_statusPoll EverCam export progress. Returns status (processing/completed/failed/not_started) and download_url when completed.1 params

Poll EverCam export progress. Returns status (processing/completed/failed/not_started) and download_url when completed.

Parameters* required
project_idstring
Project ID to check EverCam export status
list_voicesBrowse available TTS voices. Use this before generate_tts to help the user pick a voice. Providers: gemini (best quality, zh-TW/en/ja), cosyvoice (voice cloning, zh-TW/zh-CN), azure (40+ languages, widest coverage).1 params

Browse available TTS voices. Use this before generate_tts to help the user pick a voice. Providers: gemini (best quality, zh-TW/en/ja), cosyvoice (voice cloning, zh-TW/zh-CN), azure (40+ languages, widest coverage).

Parameters* required
providerstring
Filter by provider. Omit for all providers.one of gemini · cosyvoice · azure
get_credit_balanceCheck remaining API credits before starting expensive operations. Call this before large projects (>10 slides) to avoid mid-job failures. Quick reference: 2,000 credits ≈ 14 slides at 2K resolution (slides only, no TTS/video). Per-slide costs: 1K=42, 2K=140, 4K=250 credits. TT...

Check remaining API credits before starting expensive operations. Call this before large projects (>10 slides) to avoid mid-job failures. Quick reference: 2,000 credits ≈ 14 slides at 2K resolution (slides only, no TTS/video). Per-slide costs: 1K=42, 2K=140, 4K=250 credits. TT...

No parameter schema in public metadata yet.

get_credit_transactionsView recent credit transaction history (purchases, consumption, monthly resets, refunds). Use this when the user asks about their billing history or wants to know what consumed their credits.1 params

View recent credit transaction history (purchases, consumption, monthly resets, refunds). Use this when the user asks about their billing history or wants to know what consumed their credits.

Parameters* required
limitinteger
Number of transactions to return (default: 20, max: 100)
estimate_costEstimate credit cost BEFORE running expensive operations. Returns per-operation breakdown, total, current balance, and whether you have enough. Always call this before render_slides or topic_to_video on large projects. YouTube cost is dynamic: min 30 credits, actual = max(30,...3 params

Estimate credit cost BEFORE running expensive operations. Returns per-operation breakdown, total, current balance, and whether you have enough. Always call this before render_slides or topic_to_video on large projects. YouTube cost is dynamic: min 30 credits, actual = max(30,...

Parameters* required
image_sizestring
Resolution (default: 2K)one of 1K · 2K · 4K
operationsarray
Operations to estimate. 'full_pipeline' = render + tts + video. 'youtube' = YouTube-to-outline (min 30 credits). Default: full_pipeline.
slides_countinteger
Number of slides (default: 8)
get_project_contextGet a complete snapshot of a project in one call: metadata, all slides with script/audio status, progress summary, and what to do next. Call this after any long-running operation to orient yourself before deciding the next action.1 params

Get a complete snapshot of a project in one call: metadata, all slides with script/audio status, progress summary, and what to do next. Call this after any long-running operation to orient yourself before deciding the next action.

Parameters* required
project_idstring
Project ID to inspect
topic_to_videoUse this for one-click presentation creation from a topic. Default: slides only. Set include_scripts=true for narration, include_video=true for full MP4. Poll check_status afterward.10 params

Use this for one-click presentation creation from a topic. Default: slides only. Set include_scripts=true for narration, include_video=true for full MP4. Poll check_status afterward.

Parameters* required
dry_runboolean
If true, only return estimated cost without executing. Use to preview total pipeline cost.
image_sizestring
Resolution (default: '2K')one of 1K · 2K · 4K
include_scriptsboolean
Generate narration scripts (default: false)
include_videoboolean
Generate TTS + compile MP4, implies include_scripts (default: false)
languagestring
Output language (default: 'zh-TW')one of zh-TW · zh-CN · en · ja
slides_countinteger
Number of slides (default: 8)
stylestring
Presentation styleone of professional · playful · minimalist
topicstring
The topic, e.g. 'Introduction to Machine Learning'
tts_providerstring
TTS providerone of gemini · cosyvoice · azure
tts_voicestring
Voice name/ID from the chosen provider
get_preferencesGet saved user preferences (style, voice, language, etc). Call this at the START of every conversation to auto-apply the user's past choices. Returns null fields if no preferences saved yet.

Get saved user preferences (style, voice, language, etc). Call this at the START of every conversation to auto-apply the user's past choices. Returns null fields if no preferences saved yet.

No parameter schema in public metadata yet.

save_preferencesSave user preferences for future sessions. Call this when the user explicitly states a preference (e.g. 'I prefer playful style', 'always use Azure voice'). Only send fields that should be updated — existing fields are preserved.6 params

Save user preferences for future sessions. Call this when the user explicitly states a preference (e.g. 'I prefer playful style', 'always use Azure voice'). Only send fields that should be updated — existing fields are preserved.

Parameters* required
image_sizestring
Preferred image resolutionone of 1K · 2K · 4K
languagestring
Preferred languageone of zh-TW · zh-CN · en · ja
slides_countinteger
Default number of slides
stylestring
Presentation styleone of professional · playful · minimalist
tts_providerstring
Preferred TTS providerone of gemini · cosyvoice · azure
tts_voicestring
Preferred voice name
youtube_to_outlineAnalyze a YouTube video and generate a structured course outline. Extracts the transcript (or uses video analysis as fallback) and reorganizes it into a teaching outline. Cost: min 30 credits, actual = max(30, ceil(video_duration_minutes) x 2). A 5-min video costs 30 credits,...2 params

Analyze a YouTube video and generate a structured course outline. Extracts the transcript (or uses video analysis as fallback) and reorganizes it into a teaching outline. Cost: min 30 credits, actual = max(30, ceil(video_duration_minutes) x 2). A 5-min video costs 30 credits,...

Parameters* required
tonestring
Output tone: 專業 (professional), 活潑 (lively), 幽默 (humorous), 嚴謹 (rigorous). Default: 專業one of 專業 · 活潑 · 幽默 · 嚴謹
urlstring
YouTube video URL

Sponsors

Configuration

SLIDEMASTER_API_KEY*secret

Your SlideMaster API key (get one at https://slidemaster.tw/settings/api-keys)

SLIDEMASTER_API_BASE

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

Details

Website
slidemaster.tw
Category
Media & Entertainment
Package
@slidemaster/mcp-server
Transport
STDIO
Auth
Required
Registry
MCP registry, active

Related Media & Entertainment MCP servers

View all
1suede-ai avatarAgentic Commerce Catalogsuede-ai/suede-ai-appAI music, video, image, and voice tools callable by agents with USDC payments via x402 on Base.0stars
2waxberry-dev avatarLive Translate Mcpwaxberry-dev/live-translate-mcpMCP server for local speech translation (EN ↔ 中文) via Whisper + Claude + Piper0stars
3jsvvsolsllc avatarMiOffice — AI-Powered Workspace Studioio.github.jsvvsolsllc/mioffice125+ browser tools for PDF, Image, Video, Audio, AI, Scanner. Files never leave your device.0stars
4lisleabrahams avatarSymbols Of Wealth Studiolisleabrahams/symbols-of-wealth-studio-mcpWorld-class creative social media content studio, powered by AI.0stars
5lukbb avatarPlanPostlukbb/planpost-mcpSchedule posts to 7 social networks, render video and carousels, read analytics and revenue.0stars
6miketwalker avatarTubePullmiketwalker/tubepull-mcpAI YouTube downloader: save YouTube, TikTok, Instagram + 10 more as MP4/MP3 from any AI chat.0stars