Office PowerPoint
- python
1.6k
GitHub Stars
python
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"gongrzhe-office-powerpoint-mcp-server": {
"command": "python",
"args": [
"ppt_mcp_server.py"
]
}
}
}You have a powerful MCP (Model Context Protocol) server for PowerPoint manipulation built in Python. Version 2.0 delivers 32 tools across 11 modules, enabling end-to-end PowerPoint creation, editing, styling, data visualization, and template-driven workflows with robust error handling and flexible parameterization.
How to use
You use an MCP client to talk to the PowerPoint MCP Server and perform actions such as creating presentations, adding slides, populating text, applying professional designs, inserting images and charts, and exporting final PPTX files. The server is designed to handle complete presentation lifecycles, templates, and advanced design features with consistent support for themes, layouts, and layout-preserving templates.
How to install
Prerequisites you need before installing: Python 3.6 or higher, the pip package manager, and optionally uvx for running packages without a local installation.
Step-by-step installation options you can follow to get the server up and running.
# Prerequisites
python --version
pip --version
# Option A: Setup script (recommended)
# Run the setup script to check prerequisites, install dependencies, and generate MCP configs
python setup_mcp.py
# Option B: Manual installation
# 1) Clone the repository
# 2) Install dependencies
# 3) Make the server executable
Starting the server in different modes allows you to integrate with clients as needed. You can run a standard stdio server or expose a streamable HTTP server for remote access. The following commands illustrate the common start patterns.
# Start the stdio server (local, interactive)
python ppt_mcp_server.py
# Start the streamable-Http server (port 8000)
python ppt_mcp_server.py --transport http --port 8000
# Run in Docker (example)
docker build -t ppt_mcp_server .
docker run -d --rm -p 8000:8000 ppt_mcp_server -t http
Additional sections
Configuration notes for templates and templates paths help you tailor how presentations are created and styled. You can browse, apply, and create from built-in templates, with 25+ templates available and fully dynamic features such as automatic text sizing, wrapping, and professional animations.
Security and environment considerations include managing templates paths and color schemes, plus ensuring access to your presentations is controlled when exposing HTTP endpoints. Use environment variables where appropriate to supply paths and keys without embedding them in code.
Examples demonstrate common workflows such as creating a new presentation, adding slides with a title, populating placeholders, saving to a file, and applying professional design to slides or entire presentations. You can also create and manage presentations from templates, add charts, images, and advanced text configurations.
Available tools
create_presentation
Create a new PowerPoint presentation and obtain a presentation_id for subsequent operations.
create_presentation_from_template
Create a presentation from a template while preserving the theme and layouts.
open_presentation
Open an existing presentation for reading or editing.
save_presentation
Save the current presentation state to a PPTX file.
get_presentation_info
Retrieve comprehensive information about a presentation, including properties and structure.
get_template_file_info
Analyze and report details about a template file, including layouts and masters.
set_core_properties
Set core document properties such as title, subject, author, keywords, and comments.
add_slide
Add a new slide with a chosen layout and optional background styling.
get_slide_info
Get detailed information about a specific slide.
extract_slide_text
NEW extract all text content from a specific slide, including titles and placeholders.
extract_presentation_text
NEW extract text content from all slides in a presentation along with statistics.
populate_placeholder
Fill placeholder shapes with text content.
add_bullet_points
Insert formatted bullet points into text shapes.
manage_text
Unified text tool to add, format, validate, and format runs within text shapes.
manage_image
Unified image tool to add and enhance images within slides.
list_slide_templates
List available slide templates with their features.
apply_slide_template
Apply a structured slide template to an existing slide.
create_slide_from_template
Create a new slide from a template with content mappings.
create_presentation_from_templates
Create a complete presentation from a sequence of templates.
get_template_info
Get detailed information about a specific template.
auto_generate_presentation
Automatically generate a presentation based on a topic.
optimize_slide_text
Optimize text elements for readability and fit within slides.
add_table
Create tables with enhanced formatting and cell styling.
format_table_cell
Format individual table cells.
add_shape
Add shapes with text and formatting options.
add_chart
Create charts with comprehensive customization.
apply_professional_design
Unified design tool to apply themes, slides, and enhancements.
apply_picture_effects
Unified picture effects tool combining multiple visual effects.
manage_fonts
Unified font tool to analyze, optimize, and recommend fonts.
manage_hyperlinks
Complete hyperlink management for text elements.
manage_slide_masters
Access and manage slide master properties and layouts.
add_connector
Add connector lines/arrows between slide elements.
update_chart_data
Replace existing chart data with new categories and series.
manage_slide_transitions
Basic slide transition management.