PowerPoint MCP CrossPlatform Server

Cross-platform PowerPoint automation server enabling AI-assisted creation, editing, and management of presentations via MCP.
  • python

0

GitHub Stars

python

Language

4 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "vancealexander-powerpoint_mcp_crossplatform": {
      "command": "python",
      "args": [
        "-m",
        "powerpoint_mcp_server"
      ]
    }
  }
}

You have a cross-platform MCP server that lets you create, edit, and manage PowerPoint presentations from Claude Desktop using the Model Context Protocol. It runs on Windows, macOS, and Linux, and chooses the best adapter automatically so you can focus on your content rather than the integration details.

How to use

You connect Claude Desktop to this MCP server to issue natural language commands that drive PowerPoint. Start the server locally, then configure Claude Desktop to talk to it via MCP. Typical workflows include creating a new presentation, adding slides, inserting text, applying layouts, and saving the final file. You can perform actions such as creating a title slide, adding content slides, and saving changes to a .pptx file. When you send commands, the server handles platform differences and uses the best available PowerPoint adapter for your system.

How to install

Prerequisites: you need Python 3.10+ installed on your machine.

  1. Create and activate a virtual environment.

  2. Install the MCP server package.

  3. Run the MCP server so Claude Desktop can connect to it.

Configuration for Claude Desktop

{
  "mcpServers": {
    "powerpoint": {
      "command": "python",
      "args": ["-m", "powerpoint_mcp_server"]
    }
  }
}

Additional notes

The MCP server is implemented in Python. It automatically handles platform differences by selecting the appropriate adapter: COM API on Windows, python-pptx on other platforms. On Windows, you have the option to install pywin32 for direct COM access to PowerPoint. On macOS and Linux, operations rely on the python-pptx library. The server exposes a set of core operations for managing presentations and slides, as well as content editing capabilities.

Architecture overview

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│  Claude Desktop │◄──►│  MCP Protocol    │◄──►│   This Server   │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                                                         │
                                                         ▼
                                               ┌─────────────────┐
                                               │ Platform Detect │
                                               └─────────────────┘
                                                         │
                                    ┌────────────────────┼────────────────────┐
                                    ▼                    ▼                    ▼
                          ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐
                          │ Windows COM API │  │   python-pptx   │  │ Fallback Handler│
                          │   (pywin32)     │  │ (Cross-platform)│  │   (No adapter)  │
                          └─────────────────┘  └─────────────────┘  └─────────────────┘

Development

To develop and test locally, follow these steps to set up a development environment, run tests, and build the package.

Available tools

initialize_powerpoint

Initialize a PowerPoint connection for subsequent operations.

get_platform_info

Query system and adapter information to understand available capabilities.

create_presentation

Create a new PowerPoint presentation from scratch.

open_presentation

Open an existing PowerPoint file by path.

save_presentation

Save a presentation to a given path.

close_presentation

Close an active presentation session.

get_slides

List all slides within a presentation.

add_slide

Add a new slide with a specified layout type.

get_slide_text

Extract text from a specific slide.

set_slide_title

Set the title for a specific slide.

add_text_box

Add a text box to a slide with specified content.

update_text

Update text content within a slide element.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational