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
Pormpt
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:
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:
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
- Clone the repository:
- Install dependencies:
- Make the server executable:
Usage
Display help text:
Starting the Stdio Server
Run the stdio server:
Starting the Streamable-Http Server
Run the streamable-http server on port 8000:
Run in Docker
MCP Configuration
Option 1: Local Python Server
Add the server to your MCP settings configuration file:
Option 2: Using UVX (No Local Installation Required)
If you have uvx
installed, you can run the server directly from PyPI without local installation:
🚀 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
- manage_slide_transitions - Basic slide transition management
🌟 Key Unified Tools
manage_text
- All-in-One Text Management
manage_image
- Complete Image Handling
apply_picture_effects
- Multiple Effects in One Call
apply_professional_design
- Theme & Design Management
Examples
Creating a New Presentation
Creating a Professional Presentation with v2.0
Working with Built-in Slide Templates (New in v2.0)
Enhanced Image Management with v2.0
Advanced Text Management with v2.0
Creating a Presentation from Template
Adding Advanced Charts and Data Visualization
Text Validation and Optimization with v2.0
Reading Slide Content with New Text Extraction Tools (v2.1)
Template Support
Working with Templates
The PowerPoint MCP Server provides comprehensive template support for creating presentations from existing template files. This feature enables:
- Corporate branding with predefined themes, layouts, and styles
- Consistent presentations across teams and projects
- Custom slide masters and specialized layouts
- Pre-configured properties and document settings
- Flexible template discovery with configurable search paths
Template File Requirements
- Supported formats:
.pptx
and.potx
files - Existing content: Templates can contain existing slides (preserved during creation)
- Layout availability: All custom layouts and slide masters are accessible
- Search locations: Configurable via
PPT_TEMPLATE_PATH
environment variable - Default search paths: Current directory,
./templates
,./assets
,./resources
Template Configuration
Set the PPT_TEMPLATE_PATH
environment variable to specify custom template directories:
Template Workflow
- Inspect Template: Use
get_template_info
to analyze available layouts and properties - Create from Template: Use
create_presentation_from_template
with automatic theme preservation - Use Template Layouts: Reference layout indices from template analysis when adding slides
- Maintain Branding: Template themes, fonts, and colors are automatically applied to new content
Professional Color Schemes
The server includes 4 built-in professional color schemes:
- Modern Blue: Microsoft-inspired blue theme with complementary colors
- Corporate Gray: Professional grayscale theme with blue accents
- Elegant Green: Forest green theme with cream and light green accents
- Warm Red: Deep red theme with orange and yellow accents
Each scheme includes primary, secondary, accent, light, and text colors optimized for business presentations.
🎨 Built-in Slide Templates (New in v2.0)
The PowerPoint MCP Server now includes 25 professional slide templates with advanced dynamic features. All templates support:
Dynamic Features
- Automatic text sizing based on content length and container dimensions
- Intelligent text wrapping to fit within specified areas
- Visual effects including shadows, glows, and outlines
- Gradient backgrounds with multi-layer compositions
- Professional animations ready for presentation delivery
- Interactive hover effects for enhanced user experience
- Smart content overflow handling with automatic adjustments
Available Template Categories
Title & Introduction Slides
title_slide
- Dynamic title slide with gradient background and text effectschapter_intro
- Section divider with chapter numbering and stylingthank_you_slide
- Closing slide with contact information and effects
Content Layout Slides
text_with_image
- Text content with stylized image and interactive elementstwo_column_text
- Two equal columns of text with dynamic sizingtwo_column_text_images
- Two columns with text and corresponding imagesthree_column_layout
- Three equal columns with text and imagesfull_image_slide
- Large background image with text overlay
Business & Analytics Slides
key_metrics_dashboard
- Interactive metrics dashboard with animated countersbefore_after_comparison
- Dynamic comparison layout with visual dividerschart_comparison
- Two charts side by side for performance comparisondata_table_slide
- Slide focused on tabular data with professional stylingtimeline_slide
- Horizontal timeline with milestones and effects
Process & Flow Slides
process_flow
- Step-by-step process visualization with enhanced effectsagenda_slide
- Table of contents or agenda overview with stylingquote_testimonial
- Featured quote or customer testimonial with effects
Team & Organization Slides
team_introduction
- Team member showcase with photos and roles
Template Usage Examples
Color Scheme Integration
All templates work seamlessly with the 4 professional color schemes:
- modern_blue: Microsoft-inspired theme with dynamic gradients
- corporate_gray: Professional grayscale with blue accents
- elegant_green: Forest green with cream and light accents
- warm_red: Deep red with orange and yellow highlights
Dynamic Content Adaptation
Templates automatically adjust to content:
- Font sizes scale based on text length (8pt - 44pt range)
- Line spacing adjusts for readability (1.0x - 1.4x)
- Text wrapping intelligently breaks lines at optimal points
- Container sizing adapts to content overflow
- Visual effects scale appropriately with element sizes
📁 File Structure
🏗️ Architecture Benefits
Modular Design
- 7 focused utility modules with clear responsibilities
- 11 organized tool modules for comprehensive coverage
- 68+ utility functions organized by functionality
- 32 MCP tools covering all PowerPoint manipulation needs
- Clear separation of concerns for easier development
Code Organization
- Logical grouping of related functionality across modules
- Better discoverability with organized tool categories
- Improved testability with isolated modules
- Future extensibility through modular structure
Comprehensive Coverage
- Complete PowerPoint lifecycle from creation to presentation
- Advanced template system with auto-generation capabilities
- Professional design tools with multiple effects and styling options
- Specialized features including hyperlinks, connectors, and slide masters
Developer Experience
- Clear responsibility boundaries between modules
- Easier debugging with smaller, focused files
- Simpler testing with isolated functionality
- Enhanced maintainability through separation of concerns
🔄 What's New in Version 2.0
Enhanced functionality with comprehensive tool coverage! The updated server provides:
New Specialized Tools Added:
manage_hyperlinks
- Complete hyperlink management for text elementsupdate_chart_data
- Advanced chart data replacement and updatingadd_connector
- Connector lines and arrows between slide elementsmanage_slide_masters
- Access to slide master properties and layoutsmanage_slide_transitions
- Basic slide transition managementauto_generate_presentation
- AI-powered presentation generationoptimize_slide_text
- Text optimization for better readability
Enhanced Existing Tools:
manage_text
- Now supports text run formatting withformat_runs
operationcreate_presentation_from_templates
- Enhanced template sequence processingapply_picture_effects
- Expanded effect combinations and options
🔄 What's New in Version 2.1
Text extraction capabilities added! Now you can read content from existing presentations:
New Text Extraction Tools Added:
extract_slide_text
- Extract all text content from a specific slide including titles, placeholders, text shapes, and tablesextract_presentation_text
- Extract text content from all slides in a presentation with comprehensive statistics and combined output
Key Features of Text Extraction:
- Complete text coverage - Extracts from titles, placeholders, text boxes, and table cells
- Structured output - Organized by content type (titles, placeholders, shapes, tables)
- Presentation-wide analysis - Statistics on text distribution across slides
- Flexible output options - Individual slide content or combined presentation text
- Error handling - Graceful handling of slides that cannot be processed
License
MIT
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A server that enables creating and editing PowerPoint presentations programmatically through the Model Context Protocol, supporting features like adding slides, images, textboxes, charts, and tables.
Related MCP Servers
- AsecurityAlicenseAqualityCreates and manipulates PowerPoint presentations with capabilities for adding various slide types, generating images, and incorporating tables and charts through natural language commands.Last updated -11126MIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI models to create and manipulate PowerPoint presentations with advanced features like financial charts, formatting, and template management.Last updated -21
- AsecurityAlicenseAqualityA server that enables AI assistants to create and edit PowerPoint presentations with features for adding various slide types, tables, charts, and AI-generated images through Stable Diffusion.Last updated -1140MIT License
MCP Server for Capptofficial
-security-license-qualityA Model Context Protocol server that allows generating outlines and presentations with Cappt.cc, featuring tools to create structured presentations from user input.Last updated -1MIT License