home / mcp / powerpoint mcp server

Powerpoint MCP Server

Provides tools to create PowerPoint decks from prompts and data, including slides with titles, sections, tables, charts, images, and final saves.

Installation
Add the following to your MCP client configuration file.

Configuration

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

You can run a PowerPoint MCP Server to automatically generate and assemble presentations. It exposes a set of tools to start a presentation, add slides with titles, sections, content, tables, charts, or pictures, and then save the result. This makes it practical to generate consistent slide decks from data, prompts, or attached media.

How to use

You interact with the server through an MCP client that communicates via the standard MCP workflow. In practice, you start a presentation, progressively add slides using the available tools, and finally save the completed deck. You can also open an existing presentation, back up edits, and generate images to incorporate into slides.

How to install

Prerequisites you need before installing include a runtime environment that executes MCP servers and a folder path to store decks and generated media.

Install the UV runtime on your system.

# 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 Powerpoint MCP server repository into a local directory.

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

Configure your Claude Desktop to point to the server and set the folder where decks and images will be saved. Create or update your Claude desktop config to include the MCP server entry as shown.

# Add the server 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"
      ]
    }
  }

Additional setup notes

Make sure you have a valid TogetherAI API key to enable image generation when you use generate-and-save-image. Place the key in your environment under TOGETHER_API_KEY.

Tools overview

The server exposes a set of tools to build decks step by step. You can start a new presentation, then add slides with titles, headers, content, tables, charts, or images, and finally save or open existing decks.

Example workflow

Create a new presentation about a topic, add a title slide, then add content slides with text and images, and save the final deck to your decks folder.

Security and keys

Keep your TogetherAI API key secure. Do not expose it in public scripts or logs.

Available tools

create-presentation

Starts a new presentation by creating a presentation object with a given name.

add-slide-title-only

Adds a title slide to the current presentation using a provided title.

add-slide-section-header

Adds a section header slide with a header and optional subtitle to the current presentation.

add-slide-title-content

Adds a slide that includes a title and content text to the current presentation.

add-slide-title-with-table

Adds a title slide that includes a dynamically built table sourced from provided data.

add-slide-title-with-chart

Adds a title slide that includes a chart derived from provided data, selecting the best chart type automatically.

add-slide-picture-with-caption

Adds a slide with a picture and a caption, using a provided image path and caption.

open-presentation

Opens an existing presentation for editing and creates a backup copy as backup.pptx.

save-presentation

Saves the current presentation to the designated folder path.

generate-and-save-image

Generates an image from a prompt using the TogetherAI FLUX model and saves it with a given filename.