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
npx -y @smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claudeThese 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.
Files
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
uvxinstalled, 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
- Clone the repository:
git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git
cd Office-PowerPoint-MCP-Server
- Install dependencies:
pip install -r requirements.txt
- 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)
- create_presentation - Create new presentations
- create_presentation_from_template - Create from templates with theme preservation
- open_presentation - Open existing presentations
- save_presentation - Save presentations to files
- get_presentation_info - Get comprehensive presentation information
- get_template_file_info - Analyze template files and layouts
- set_core_properties - Set document properties
Content Management (8 tools)
- add_slide - Add slides with optional background styling
- get_slide_info - Get detailed slide information
- extract_slide_text - ✨ NEW Extract all text content from a specific slide
- extract_presentation_text - ✨ NEW Extract text content from all slides in presentation
- populate_placeholder - Populate placeholders with text
- add_bullet_points - Add formatted bullet points
- manage_text - ✨ Unified text tool (add/format/validate/format_runs)
- manage_image - ✨ Unified image tool (add/enhance)
Template Operations (7 tools)
- list_slide_templates - Browse available slide layout templates
- apply_slide_template - Apply structured layout templates to existing slides
- create_slide_from_template - Create new slides using layout templates
- create_presentation_from_templates - Create complete presentations from template sequences
- get_template_info - Get detailed information about specific templates
- auto_generate_presentation - Automatically generate presentations based on topic
- optimize_slide_text - Optimize text elements for better readability and fit
Structural Elements (4 tools)
- add_table - Create tables with enhanced formatting
- format_table_cell - Format individual table cells
- add_shape - Add shapes with text and formatting options
- add_chart - Create charts with comprehensive customization
Professional Design (3 tools)
- apply_professional_design - ✨ Unified design tool (themes/slides/enhancement)
- 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
- 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
- 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
- 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
- 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
- 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
- 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