Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

RenderDeck

AI-powered presentation generation as an MCP server. Describe the presentation you want in conversation with your LLM, and RenderDeck generates a .pptx with Gemini-created slide images.

Quick start: After installing, tell your LLM "How do I use RenderDeck?" to get a detailed explanation of all tools, workflows, and example prompts.

Getting Started

1. Install

pip install renderdeck-mcp
# or run directly with uvx (no install needed):
uvx renderdeck-mcp serve

2. Configure your LLM client

Add RenderDeck as an MCP server in your client's config.

Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "renderdeck": {
      "command": "uvx",
      "args": ["renderdeck-mcp", "serve"],
      "env": {
        "GOOGLE_GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

Claude Code — add to .claude/settings.json or ~/.claude/settings.json:

{
  "mcpServers": {
    "renderdeck": {
      "command": "uvx",
      "args": ["renderdeck-mcp", "serve"],
      "env": {
        "GOOGLE_GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

Cursor — add to .cursor/mcp.json:

{
  "mcpServers": {
    "renderdeck": {
      "command": "uvx",
      "args": ["renderdeck-mcp", "serve"],
      "env": {
        "GOOGLE_GEMINI_API_KEY": "your-api-key-here"
      }
    }
  }
}

3. Set up your API key

Ask your LLM to run the setup_gemini_key tool with your Gemini API key, or set GOOGLE_GEMINI_API_KEY in the server's environment.

4. Develop your storyline

Tell your LLM what presentation you need — the topic, audience, tone, and any specific points to cover. The LLM reads the renderdeck://reference resource to learn the slide prompt format, then collaborates with you to develop:

  • Storyline and structure — how many slides, what each one covers, the narrative arc
  • Visual direction — style, color palette, imagery for each slide
  • Speaker notes — what to say on each slide, with timing guidance

You iterate in conversation until the storyline feels right. The LLM then writes the slide prompt file — a structured markdown document — so you never need to learn the format yourself.

5. Validate and generate

The LLM calls validate_prompt_file to catch any formatting issues, then generate_deck to produce a .pptx with Gemini-generated slide images.

6. Iterate

Review the generated deck. Ask the LLM to tweak specific slides — adjust the visual prompt, reword speaker notes, or restructure the flow. Use regenerate_slide to re-render individual slides without rebuilding the entire deck.

Example Prompts

Just tell your LLM what you need — no need to learn the prompt file format:

"Create a 10-slide deck on our Q1 product roadmap for the engineering all-hands. Audience: 50 engineers. Tone: confident but honest about delays. Include a timeline slide and a risks slide."

The LLM reads the reference, drafts a prompt file with 10 slides, validates it, and calls generate_deck.

"I have a blog post about our new API. Turn it into a 7-slide technical presentation for DevRel to present at a meetup. Use dark theme with code snippets on slides."

The LLM distills the blog post into key points, structures them as slides, and generates visuals matching the dark theme.

"Here is our investor update email [paste text]. Create a 12-slide board deck. Use notes_mode narration so I can feed it into Pictory for a video version."

The LLM extracts metrics and narrative from the email, builds slides with **Say:** notes for narration, and generates with notes_mode="narration".

"Generate the deck, then convert it to a narrated video using the 'roger' voice."

The LLM generates slides, then calls generate_video to compose a narrated MP4 with the Roger voice.

"Show me all available voices — I want something energetic and male."

The LLM calls list_voices and highlights male voices, noting style descriptors to help you choose.

"Create a 5-slide deck about our new API launch, then convert it to video with the 'guy' voice."

The LLM drafts a prompt file, generates the deck, and immediately calls generate_video with voice="guy" to produce a narrated MP4.

Getting the Best Results

For best results, don't jump straight to slide generation. Use the LLM to develop the raw material first:

  1. Brainstorm — Tell the LLM your topic, audience, and goal. Ask it to outline key messages and a narrative arc.

    "I need a presentation about [topic] for [audience]. The goal is [goal]. Help me identify the 5-7 key messages and suggest a narrative arc."

  2. Structure — Ask the LLM to organise the outline into a slide sequence with one idea per slide and clear transitions.

    "Organise these messages into a slide-by-slide outline. One idea per slide, with clear transitions. Suggest a title for each slide."

  3. Enrich — Paste in any source material (docs, emails, data, meeting notes). Ask the LLM to distill the most compelling points for your audience.

    "Here is my source material: [paste docs/emails/data]. Distill the most compelling points for my audience and weave them into the outline."

  4. Generate — Once the storyline is solid, say "now generate the deck". The LLM writes the prompt file and calls the tools.

    "The outline looks good. Now generate the deck using RenderDeck."

  5. Iterate — Review the .pptx, then ask the LLM to tweak individual slides, adjust visuals, or reword notes.

    "Slide 4 needs a stronger visual — make it more data-driven. And reword the speaker notes on slide 7 to be more conversational."

Pro tip: The more context you give the LLM up front (audience, tone, key data points, what to emphasise, what to skip), the better the first draft. Treat the LLM as a presentation coach, not just a generator.

MCP Tools

Tool Description
generate_deck Full pipeline: parse, generate images, assemble .pptx
validate_prompt_file Validate a prompt file (dry-run, no API key needed)
generate_slide Generate a single slide image and cache it (avoids timeouts)
assemble_deck Assemble .pptx from cached slide images
regenerate_slide Regenerate specific slides and rebuild the .pptx
setup_gemini_key Store Gemini API key securely (Fernet-encrypted)
get_setup_status Check configuration readiness
update_settings Update model, aspect ratio, and other settings
get_version Return the server version
generate_video Convert a presentation to a narrated MP4 video
list_voices List available TTS voices for video narration (see renderdeck://voice-samples resource)
get_help Show full help document with tools, prompts, and examples

MCP Resources

Resource Description
renderdeck://reference Complete reference document for writing slide prompt files
renderdeck://voice-samples Interactive page listing all supported TTS voices with audio previews

MCP Prompts

Prompt Description
create_deck Guided workflow: read reference, write prompt, validate, generate
check_and_fix Validate a prompt file and get error-by-error fix suggestions

Security & Privacy

RenderDeck runs entirely on your local machine as an MCP server process. Your slide prompt files and generated images stay on disk — the only external communication is with the Google Gemini API, which receives the text prompt for each slide and returns a generated image. No data is sent to any other service. Your Gemini API key is stored locally with Fernet encryption.

Tech Stack

Component Technology
Language Python 3.12+
Protocol Model Context Protocol (MCP) via FastMCP
Image generation Google Gemini API (gemini-2.5-flash-image, gemini-3-pro-image-preview)
Presentation assembly python-pptx
Image processing Pillow
Auth Google Gemini API key (Fernet-encrypted local storage)

Cost Guidance

  • Nano Banana (gemini-2.5-flash-image): ~$0.039 per slide image
  • Nano Banana Pro (gemini-3-pro-image-preview): ~$0.12 per slide image
  • Cached images are reused automatically when the prompt hasn't changed

Changelog

See CHANGELOG.md for release notes.

Metadata

Release files for renderdeck-mcp 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for renderdeck-mcp 0.9.1
File Size Uploaded Provenance
renderdeck_mcp-0.9.1.tar.gz 322.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for renderdeck-mcp 0.9.1
File Interpreter ABI Platform
renderdeck_mcp-0.9.1-py3-none-any.whl Python 3 none any Details

Total release size: 398.1 kB

Release files / renderdeck_mcp-0.9.1.tar.gz

Download URL renderdeck_mcp-0.9.1.tar.gz
Size 322.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1ca82ca414a90edb7923ac7098fa2eac07af8fef698167161ef37ffe8c202abb
BLAKE2b-256 checksum
How to use checksums
80bde7d2df9b521f84b97f3cc396af111eae6d98d95a00192490400ab4415291
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.0

Release files / renderdeck_mcp-0.9.1-py3-none-any.whl

Download URL renderdeck_mcp-0.9.1-py3-none-any.whl
Size 76.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0a48ff7cb0b60fc1d65be6d9fc44de2e850435c27de9541df5a51dc8d5844cfd
BLAKE2b-256 checksum
How to use checksums
b71c6eb1e42cc195b55997af6d558a3d84036ae2729b83f2719c377378d2188a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.0

Security for renderdeck-mcp 0.9.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page