Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

PPT_MCP_Server

MCP.Pizza Chef: socamalo

PPT_MCP_Server is a Model Control Protocol server that integrates Microsoft PowerPoint with Claude Desktop. It enables automated creation, modification, and management of PowerPoint presentations through structured commands. Features include creating and saving presentations, adding slides and text boxes, updating slide content, and retrieving slide information, facilitating seamless programmatic control of PowerPoint within AI workflows.

Use This MCP server To

Create and save PowerPoint presentations programmatically Add and customize slides with various layouts Update text content in existing slides and shapes Retrieve detailed slide information for analysis Manage multiple open presentations simultaneously Automate repetitive PowerPoint editing tasks Integrate PowerPoint control into AI-driven workflows Set slide titles and add text boxes dynamically

README

PowerPoint Automation MCP Server for Claude Desktop

This project provides a PowerPoint automation server that works with Claude Desktop via the Model Control Protocol (MCP). It allows Claude to interact with Microsoft PowerPoint, enabling tasks like creating presentations, adding slides, modifying content, and more.

Features

  • Create, open, save, and close PowerPoint presentations
  • List all open presentations
  • Get slide information and content
  • Add new slides with different layouts
  • Add text boxes to slides
  • Update text content in shapes
  • Set slide titles
  • And more!

Installation

  1. Clone this repository:

  2. Install dependencies:

    uv add fastmcp pywin32
  3. Configure Claude Desktop:

    • Open Claude Desktop
    • Navigate to settings
    • Configure the MCP server as explained below

Configuration

To configure Claude Desktop to use this MCP server, add the following to your Claude Desktop configuration file, located at %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "ppts": {
      "command": "uv",
      "args": ["run", "path/to/main.py"]
    }
  }
}

If you're using a virtual environment or alternative Python executable (like uv):

{
  "mcpServers": {
    "ppts": {
      "command": "C:\\Path\\To\\Python\\Scripts\\uv.exe",
      "args": ["run", "C:\\Path\\To\\Project\\main.py"]
    }
  }
}

Usage

Once configured, you can use Claude Desktop to control PowerPoint. Example interactions:

  1. Initialize PowerPoint:

    Could you open PowerPoint for me?
    
  2. Create a new presentation:

    Please create a new PowerPoint presentation.
    
  3. Add a slide:

    Add a new slide to the presentation.
    
  4. Add content:

    Add a text box to slide 1 with the text "Hello World".
    
  5. Save the presentation:

    Save the presentation to C:\Users\username\Documents\presentation.pptx
    

Available Functions

The server provides the following PowerPoint automation functions:

  • initialize_powerpoint(): Connect to PowerPoint and make it visible
  • get_presentations(): List all open presentations
  • open_presentation(path): Open a presentation from a file
  • get_slides(presentation_id): Get all slides in a presentation
  • get_slide_text(presentation_id, slide_id): Get text content of a slide
  • update_text(presentation_id, slide_id, shape_id, text): Update text in a shape
  • save_presentation(presentation_id, path): Save a presentation
  • close_presentation(presentation_id, save): Close a presentation
  • create_presentation(): Create a new presentation
  • add_slide(presentation_id, layout_type): Add a new slide
  • add_text_box(presentation_id, slide_id, text, left, top, width, height): Add a text box
  • set_slide_title(presentation_id, slide_id, title): Set the title of a slide

Requirements

  • Windows with Microsoft PowerPoint installed
  • Python 3.7+
  • Claude Desktop client
  • pywin32 and fastmcp Python packages

Limitations

  • Works only on Windows with PowerPoint installed
  • The PowerPoint application will open and be visible during operations
  • Limited to the capabilities exposed by the PowerPoint COM API

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

PPT_MCP_Server FAQ

How do I install the PPT_MCP_Server?
Clone the repository, then install dependencies using 'uv add fastmcp pywin32'.
How do I configure Claude Desktop to use this MCP server?
Add the server configuration to Claude Desktop's settings file as per the documentation.
What PowerPoint operations can this MCP server perform?
It can create, open, save, close presentations, add slides, update text, and more.
Is this MCP server limited to Claude Desktop?
It is designed for Claude Desktop but can be adapted for other MCP-compatible hosts.
What dependencies are required?
The server requires 'fastmcp' and 'pywin32' Python packages.
Can I manage multiple presentations at once?
Yes, it supports listing and managing multiple open presentations.
Does it support adding different slide layouts?
Yes, you can add new slides with various layouts.
How does this server interact with PowerPoint?
It uses Windows COM automation via pywin32 to control PowerPoint programmatically.