SlideMaster

Convert topics or existing files into professional presentation videos with automated slides and narration.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only

What it can do

  • Generate Outline: 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 cr
  • Create Project: Use this to create a new empty project. Returns the project_id needed for all subsequent operations.
  • Upload Init: Use this to upload an existing PPTX or PDF file. Returns a pre-signed upload URL and project_id.

What data it sees

Do you need an account

No: the server works without sign-in

Convert topics or existing files into professional presentation videos with automated slides and narration. Streamline content creation by generating outlines, scripts, and high-quality text-to-speech audio in a single workflow. Manage the entire production pipeline from initial rendering to final video export for polished results.

How to connect

How to connect SlideMaster to Claude

The server address to paste into Claude settings:

https://mcp--slidemaster.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect SlideMaster to ChatGPT

The server address to paste into ChatGPT settings:

https://mcp--slidemaster.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect SlideMaster to Cursor

The server address to paste into Cursor settings:

https://mcp--slidemaster.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (32)

Raw names from tools/list. Only developers need these.

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.
create_projectUse this to create a new empty project. Returns the project_id needed for all subsequent operations.
upload_initUse this to upload an existing PPTX or PDF file. Returns a pre-signed upload URL and project_id.
upload_completeUse this after the file has been uploaded to the pre-signed URL. Triggers server-side processing.
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 any public CDN). Base64 is NOT supported. If the user has a local image, they need to upload it to a public host first.
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 description for AI image generation — write in English for best results, e.g. "Modern office with data charts on screen, blue gradient background"). Example slides array: [{"title": "Introduction", "description": "Clean title slide with modern gradient background, large centered text"}, {"title": "Key Findings", "description": "Professional slide with data visualization, bar charts and icons"}] Costs: 42 credits/slide (1K), 140 credits/slide (2K), 250 credits/slide (4K). Poll check_status after calling.
generate_scriptUse this to generate a narration script for a single slide using AI.
batch_generate_scriptsUse this to generate narration scripts for all slides in a project in one batch.
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 voice cloning (custom voice). Good for zh-TW/zh-CN. Use when user has a cloned voice. - **azure**: Widest language coverage (40+ languages). Good for multilingual projects. Voices: zh-TW-HsiaoChenNeural, en-US-JennyNeural, etc. Cost: 16 credits/slide regardless of provider.
generate_videoUse this as the final step to compile slides + audio into an MP4 video. Poll check_status afterward.
list_projectsUse this when the user wants to see their existing projects. Returns a paginated project list.
get_projectUse this to retrieve detailed metadata and status for a specific project.
update_projectUse this to update project settings like title, description, TTS provider, voice, or language.
delete_projectUse this to permanently delete a project and all its slides, audio, and video. Do not use for archiving.
list_slidesUse this to list all slides in a project with their titles, scripts, and render status.
update_slideUse this to edit a slide's title or narration script text.
delete_slideUse this to permanently remove a single slide from a project.
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_video": Video is being compiled (poll every 5-10 seconds) - "video_completed": Video is ready — call export_project for download URLs - "video_failed": Video generation failed — call generate_video to retry The response includes a next_suggestion field telling you what to do next.
export_projectUse this to get download URLs for all generated assets: slides, audio, and video files.
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.
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.
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.
evercam_statusPoll EverCam export progress. Returns status (processing/completed/failed/not_started) and download_url when completed.
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).
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. TTS=16/slide, Video=80/project. Full 25-slide course with video ≈ 3,980 credits (render 3,500 + TTS 400 + video 80).
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.
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, video_duration_minutes x 2). The estimate returns the minimum (30) since duration is unknown before analysis.
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.
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.
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.
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.
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, a 60-min video costs 120 credits. Response includes credits_used and balance_after.
SlideMaster: connect to Claude, ChatGPT, Cursor · Connectors.fun