ClaudeCodeMod

All shelves / MCP servers

Office PowerPoint

gongrzhe/office-powerpoint-mcp-server · 1.7k stars · Python · MIT

MCP server A MCP (Model Context Protocol) server for PowerPoint manipulation using python-pptx. This server provides tools for creating, editing, and manipulating PowerPoint presentations through the MCP protocol.

Install

In your shell
npx -y @smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claude

These repos do not share one command. When an entry shows a command, it was copied as published. Check the repo's README before you run it.

Open the repo

Files

README.md

Office-PowerPoint-MCP-Server

A comprehensive MCP (Model Context Protocol) server for PowerPoint manipulation using python-pptx. Version 2.0 provides 32 powerful tools organized into 11 specialized modules, offering complete PowerPoint creation, management, and professional design capabilities. The server features a modular architecture with enhanced parameter handling, intelligent operation selection, and comprehensive error handling.

----

Not so ugly anymore with new slide_layout_templates

----

Example

#### Prompt

#### Output

#### Demo's GIF -> (./public/demo.mp4)

Features

Core PowerPoint Operations

  • Round-trip support for any Open XML presentation (.pptx file) including all elements
  • Template support with automatic theme and layout preservation
  • Multi-presentation management with global state tracking
  • Core document properties management (title, subject, author, keywords, comments)

Content Creation & Management

  • Slide management with flexible layout selection
  • Text manipulation with placeholder population and bullet point creation
  • Advanced text formatting with font, color, alignment, and style controls
  • Text validation with automatic fit checking and optimization suggestions

Visual Elements

  • Image handling with file and base64 input support
  • Image enhancement using Pillow with brightness, contrast, saturation, and filter controls
  • Professional image effects including shadows, reflections, glows, and soft edges
  • Shape creation with 20+ auto shape types (rectangles, ovals, flowchart elements, etc.)
  • Table creation with advanced cell formatting and styling

Charts & Data Visualization

  • Chart support for column, bar, line, and pie charts
  • Data series management with categories and multiple series support
  • Chart formatting with legends, data labels, and titles

Professional Design Features

  • 4 professional color schemes (Modern Blue, Corporate Gray, Elegant Green, Warm Red)
  • Professional typography with Segoe UI font family and size presets
  • Theme application with automatic styling across presentations
  • Gradient backgrounds with customizable directions and color schemes
  • Slide enhancement tools for existing content
  • 25 built-in slide templates with dynamic sizing and visual effects
  • Advanced template features including auto-wrapping, dynamic font sizing, and professional animations

Advanced Features

  • Font analysis and optimization using FontTools
  • Picture effects with 9 different visual effects (shadow, reflection, glow, bevel, etc.)
  • Comprehensive validation with automatic error fixing
  • Template search with configurable directory paths
  • Professional layout calculations with margin and spacing management

Installation

Installing via Smithery

To install PowerPoint Manipulation Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claude

Prerequisites

  • Python 3.6 or higher (as specified in pyproject.toml)
  • pip package manager
  • Optional: uvx for package execution without local installation

Installation Options

#### Option 1: Using the Setup Script (Recommended)

The easiest way to set up the PowerPoint MCP Server is using the provided setup script, which automates the installation process:

python setup_mcp.py

This script will:

  • Check prerequisites
  • Offer installation options:
  • Install from PyPI (recommended for most users)
  • Set up local development environment
  • Install required dependencies
  • Generate the appropriate MCP configuration file
  • Provide instructions for integrating with Claude Desktop

The script offers different paths based on your environment:

  • If you have uvx installed, it will configure using UVX (recommended)
  • If the server is already installed, it provides configuration options
  • If the server is not installed, it offers installation methods

#### Option 2: Manual Installation

  1. Clone the repository:
   git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git
   cd Office-PowerPoint-MCP-Server
  1. Install dependencies:
   pip install -r requirements.txt
  1. Make the server executable:
   chmod +x ppt_mcp_server.py

Usage

Display help text:

python ppt_mcp_server.py -h

Starting the Stdio Server

Run the stdio server:

python ppt_mcp_server.py

Starting the Streamable-Http Server

Run the streamable-http server on port 8000:

python ppt_mcp_server.py --transport http --port 8000

Run in Docker

docker build -t ppt_mcp_server .
docker run -d --rm -p 8000:8000 ppt_mcp_server -t http

MCP Configuration

#### Option 1: Local Python Server

Add the server to your MCP settings configuration file:

{
  "mcpServers": {
    "ppt": {
      "command": "python",
      "args": ["/path/to/ppt_mcp_server.py"],
      "env": {}
    }
  }
}

#### Option 2: Using UVX (No Local Installation Required)

If you have uvx installed, you can run the server directly from PyPI without local installation:

{
  "mcpServers": {
    "ppt": {
      "command": "uvx",
      "args": [
        "--from", "office-powerpoint-mcp-server", "ppt_mcp_server"
      ],
      "env": {}
    }
  }
}

🚀 What's New in v2.0

Comprehensive Tool Suite (32 Tools)

  • Complete PowerPoint manipulation with 34 specialized tools
  • 11 organized modules covering all aspects of presentation creation
  • Enhanced parameter handling with comprehensive validation
  • Intelligent defaults and operation-based interfaces

Built-in Slide Templates

  • 25+ professional slide templates with dynamic features built-in
  • Advanced template system with auto-generation capabilities
  • Auto-sizing text that adapts to content length and container size
  • Professional visual effects including shadows, glows, and gradients
  • Complete presentation generation from template sequences

Modular Architecture

  • 11 specialized modules: presentation, content, structural, professional, template, hyperlink, chart, connector, master, and transition tools
  • Better maintainability with separated concerns
  • Easier extensibility for adding new features
  • Cleaner code structure with shared utilities

Available Tools

The server provides 34 specialized tools organized into the following categories:

Presentation Management (7 tools)

  1. create_presentation - Create new presentations
  2. create_presentation_from_template - Create from templates with theme preservation
  3. open_presentation - Open existing presentations
  4. save_presentation - Save presentations to files
  5. get_presentation_info - Get comprehensive presentation information
  6. get_template_file_info - Analyze template files and layouts
  7. set_core_properties - Set document properties

Content Management (8 tools)

  1. add_slide - Add slides with optional background styling
  2. get_slide_info - Get detailed slide information
  3. extract_slide_text - ✨ NEW Extract all text content from a specific slide
  4. extract_presentation_text - ✨ NEW Extract text content from all slides in presentation
  5. populate_placeholder - Populate placeholders with text
  6. add_bullet_points - Add formatted bullet points
  7. manage_text - ✨ Unified text tool (add/format/validate/format_runs)
  8. manage_image - ✨ Unified image tool (add/enhance)

Template Operations (7 tools)

  1. list_slide_templates - Browse available slide layout templates
  2. apply_slide_template - Apply structured layout templates to existing slides
  3. create_slide_from_template - Create new slides using layout templates
  4. create_presentation_from_templates - Create complete presentations from template sequences
  5. get_template_info - Get detailed information about specific templates
  6. auto_generate_presentation - Automatically generate presentations based on topic
  7. optimize_slide_text - Optimize text elements for better readability and fit

Structural Elements (4 tools)

  1. add_table - Create tables with enhanced formatting
  2. format_table_cell - Format individual table cells
  3. add_shape - Add shapes with text and formatting options
  4. add_chart - Create charts with comprehensive customization

Professional Design (3 tools)

  1. apply_professional_design - ✨ Unified design tool (themes/slides/enhancement)
  2. apply_picture_effects - ✨ Unified effects tool (9+ effects combined)

Facts

Kind
MCP server
Repo
gongrzhe/office-powerpoint-mcp-server
Group
Uncategorized
Stars
1.7k
License
MIT
Language
Python
Last push
2025-12-31
Forks
250

More on this shelf

  1. 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
  2. 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
  3. 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
  4. 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
  5. 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
  6. 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k