Office PowerPoint▌

by gongrzhe
Create and edit PowerPoint presentations in Python with Office PowerPoint. Use python pptx or pptx python tools to add s
Enables creation and manipulation of PowerPoint presentations with tools for adding and formatting slides, text, images, tables, charts and shapes through python-pptx
best for
- / Automating report generation and data visualization
- / Content creators building presentation workflows
- / Business analysts creating standardized slide decks
- / Developers integrating presentation creation into applications
capabilities
- / Create new PowerPoint presentations from scratch or templates
- / Add and format slides with custom layouts and backgrounds
- / Insert and style text, images, tables, and charts
- / Extract text content from existing presentations
- / Save presentations to files with template preservation
- / Set document properties like title, author, and keywords
what it does
Lets you create and edit PowerPoint presentations programmatically, including slides, text, images, tables, charts, and shapes. Works with existing templates and provides full control over presentation structure and formatting.
about
Office PowerPoint is a community-built MCP server published by gongrzhe that provides AI assistants with tools and capabilities via the Model Context Protocol. Create and edit PowerPoint presentations in Python with Office PowerPoint. Use python pptx or pptx python tools to add s It is categorized under productivity. This server exposes 37 tools that AI clients can invoke during conversations and coding sessions.
how to install
You can install Office PowerPoint in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
license
MIT
Office PowerPoint is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
readme
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
<img width="1509" alt="截屏2025-06-20 15 53 45" src="https://github.com/user-attachments/assets/197d82cb-017a-4c00-b969-6e40440ffa36" />Example
Prompt
<img width="1280" alt="650f4cc5d0f1ea4f3b1580800cb0deb" src="https://github.com/user-attachments/assets/90633c97-f373-4c85-bc9c-a1d7b891c344" />Output
<img width="1640" alt="084f1cf4bc7e4fcd4890c8f94f536c1" src="https://github.com/user-attachments/assets/420e63a0-15a4-46d8-b149-1408d23af038" />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)
- manage_fonts - ✨ Unified font tool (analyze/optimize/recommend)
Specialized Features (5 tools)
- manage_hyperlinks - Complete hyperlink management (add/remove/list/update)
- manage_slide_masters - Access and manage slide master properties and layouts
- add_connector - Add connector lines/arrows between points on slides
- update_chart_data - Replace existing chart data with new categories and series
- **manag