Powerpoint MCP server

Powerpoint MCP server

A server that enables AI assistants to create and edit PowerPoint presentations with features for adding various slide types, tables, charts, and AI-generated images through Stable Diffusion.

Ichigo3766

Developer Tools
Visit Server

Tools

open-presentation

Opens an existing presentation and saves a copy to a new file for backup. Use this tool when the user requests to open a presentation that has already been created.

save-presentation

Save the presentation to a file. Always use this tool at the end of any process that has added slides to a presentation.

add-slide-title-content

Add a new slide with a title and content to an existing presentation

create-presentation

This tool starts the process of generating a new powerpoint presentation with the name given by the user. Use this tool when the user requests to create or generate a new presentation.

generate-and-save-image

Generates an image using a FLUX model and save the image to the specified path. The tool will return a PNG file path. It should be used when the user asks to generate or create an image or a picture.

add-slide-title-only

This tool adds a new title slide to the presentation you are working on. The tool doesn't return anything. It requires the presentation_name to work on.

add-slide-section-header

This tool adds a section header (a.k.a segue) slide to the presentation you are working on. The tool doesn't return anything. It requires the presentation_name to work on.

add-slide-comparison

Add a new a comparison slide with title and comparison content. Use when you wish to compare two concepts

add-slide-title-with-table

Add a new slide with a title and table containing the provided data

add-slide-title-with-chart

Add a new slide with a title and chart. The chart type will be automatically selected based on the data structure.

add-slide-picture-with-caption

Add a new slide with a picture and caption to an existing presentation

README

Powerpoint MCP server

A MCP server project that creates powerpoint presentations

<a href="https://glama.ai/mcp/servers/@Ichigo3766/powerpoint-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@Ichigo3766/powerpoint-mcp/badge" alt="PowerPoint Server MCP server" /> </a>

Main Changes of this fork

Uses Stable Diffusion (ForgeUI/Automatic-1111) API instead of together ai.

Components

Tools

The server implements multiple tools:

  • create-presentation: Starts a presentation
    • Takes "name" as required string arguments
    • 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 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", "content" as required string arguments
    • Creates a title with content slide with "title" and "content" and adds it to presentation
  • add-slide-title-with-table: Adds a title slide with a table
    • Takes "presentation_name", "title", "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", "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 use an "image_path" supplied by the user (image must exist in folder_path)
  • open-presentation: Opens a presentation for editing
    • Takes "presentation_name" as required arguments
    • Opens the given presentation and automatically saves a backup of it as "backup.pptx"
    • This tool allows the client to work with existing pptx files and add slides to them. Just make sure the client calls "save-presentation" tool at the end.
  • save-presentation: Saves the presentation to a file.
    • Takes "presentation_name" as required arguments.
    • 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 T2I model
    • Takes "prompt" and "file_name" as required string arguments
    • Creates an image using stable diffusion api (ForgeUI/Automatic1111)

Configuration

An environment variable is required for image generation via ForgeUI API

"env": 
{
  "SD_WEBUI_URL": "http://your-sd-webui-url:7860",
  "SD_AUTH_USER": "your-username",  // Optional: if authentication is enabled
  "SD_AUTH_PASS": "your-password",  // Optional: if authentication is enabled
}

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 repo

git clone https://github.com/Ichigo3766/powerpoint-mcp.git

Claude Desktop (works with any mcp client)

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 (ex: /full/path/to/powerpoint-mcp/src)
  • --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.
  # Add the server to your claude_desktop_config.json
  "mcpServers": {
    "powerpoint": {
      "command": "uv",
      "env": {
        "SD_WEBUI_URL": "http://your-sd-webui-url:7860",
        "SD_AUTH_USER": "your-username",  // Optional: if authentication is enabled
        "SD_AUTH_PASS": "your-password",  // Optional: if authentication is enabled
      },
      "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

Credits

This project is a fork of powerpoint by supercurses, with additional features and modifications. The original project provided the foundation for this MCP server.

License

This MCP server is licensed under the MIT License. This means 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python