MCP HubMCP Hub
supercurses

powerpoint

by: supercurses

A MCP Server for creating Powerpoint Presentations

75created 04/03/2025
Visit
PowerPoint
Automation

📌Overview

Purpose: The MCP server aims to automate the creation of PowerPoint presentations by providing a suite of tools that generate slides with various content formats.

Overview: This framework simplifies the process of constructing presentations by allowing users to create and edit presentations programmatically. It supports multiple types of slides, ensuring a versatile and efficient presentation-building experience.

Key Features:

  • create-presentation: Initializes a new presentation, enabling users to start adding content right away.

  • add-slide-title-only: Adds a title slide, helping to define the main topic of the presentation effectively.

  • add-slide-section-header: Inserts section headers to structure the presentation systematically.

  • add-slide-title-content: Introduces slides with both titles and content, allowing for detailed explanations and information presentation.

  • add-slide-title-with-table: Incorporates tables based on provided data, enhancing data visualization within the presentation.

  • add-slide-title-with-chart: Generates slides with charts that dynamically represent data, adapting to the best visual format for interpretation.

  • add-slide-picture-with-caption: Facilitates the addition of images, enhancing visual engagement and contextual illustration.

  • open-presentation: Provides functionality to edit existing presentations while ensuring data safety through automatic backups.

  • save-presentation: Ensures all changes are stored appropriately, finalizing the presentation process.

  • generate-and-save-image: Allows for the creation of images through AI, providing custom visuals tailored for the presentation needs.


Powerpoint MCP Server

A MCP server project that creates PowerPoint presentations.

Components

Tools

The server implements multiple tools:

  • create-presentation: Starts a presentation
    • Takes name as a required string argument
    • Creates a presentation object
  • add-slide-title-only: Adds a title slide to the presentation
    • Takes presentation_name and title as required string arguments
    • Creates a title slide with title and adds it to the presentation
  • add-slide-section-header: Adds a section header slide to the presentation
    • Takes presentation_name and header as required string arguments
    • Creates a section header slide with header (and optionally subtitle) and adds it to the presentation
  • add-slide-title-content: Adds a title with content slide to the presentation
    • Takes presentation_name, title, and content as required string arguments
    • Creates a title with content slide with title and content and adds it to the presentation
  • add-slide-title-with-table: Adds a title slide with a table
    • Takes presentation_name, title, and data as required string and array arguments
    • Creates a title slide with title and adds a table dynamically built from data
  • add-slide-title-with-chart: Adds a title slide with a chart
    • Takes presentation_name, title, and data as required string and object arguments
    • Creates a title slide with title and adds a chart dynamically built from data. Attempts to figure out the best type of chart from the data source.
  • add-slide-picture-with-caption: Adds a picture with caption slide
    • Takes presentation_name, title, caption, image_path as required string arguments
    • Creates a picture with caption slide using the supplied title, caption, and image_path. Can either use images created via the generate-and-save-image tool or an image_path supplied by the user (image must exist in folder_path)
  • open-presentation: Opens a presentation for editing
    • Takes presentation_name as a required argument
    • Opens the given presentation and automatically saves a backup of it as backup.pptx
    • Allows the client to work with existing pptx files and add slides to them. The client should call the save-presentation tool at the end.
  • save-presentation: Saves the presentation to a file
    • Takes presentation_name as a required argument
    • Saves the presentation to the folder_path; the client must call this tool to finalize the process.
  • generate-and-save-image: Generates an image for the presentation using a FLUX model
    • Takes prompt and file_name as required string arguments
    • Creates an image using the free FLUX model on TogetherAI (requires an API key)

Configuration

An environment variable is required for image generation via TogetherAI. Register for an account at:
https://api.together.xyz/settings/api-keys

"env": {
  "TOGETHER_API_KEY": "api_key"
}

A folder_path is required. All presentations and images will be saved to this folder.

"--folder-path",
"/path/to/decks_folder"

Quickstart

Install

Make sure you have UV installed

MacOS/Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Clone the repository

git clone https://github.com/supercurses/powerpoint.git

Claude Desktop Configuration

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json

  • --directory: the path where you cloned the repo above
  • --folder-path: the path where PowerPoint decks and images will be saved to. Also the path where you should place any images you want the MCP server to use.

Example snippet to add to your claude_desktop_config.json:

"mcpServers": {
  "powerpoint": {
    "command": "uv",
    "env": {
      "TOGETHER_API_KEY": "api_key"
    },
    "args": [
      "--directory",
      "/path/to/powerpoint",
      "run",
      "powerpoint",
      "--folder-path",
      "/path/to/decks_folder"
    ]
  }
}

Usage Examples

Create a presentation about fish, create some images and include tables and charts

Create a presentation about the attached paper. Please use the following images in the presentation:
author.jpeg

Assuming you have SQLite MCP Server installed:

Review 2024 Sales Data table. Create a presentation showing current trends, use tables and charts as appropriate.

License

This MCP server is licensed under the MIT License. You are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.