Home / MCP / Office PowerPoint MCP Server
Provides tools to create, edit, template, and design PowerPoint presentations via MCP API + Python backend.
Configuration
View docs{
"mcpServers": {
"ppt": {
"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.
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.
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 executableStarting 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 httpConfiguration 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.
Create a new PowerPoint presentation and obtain a presentation_id for subsequent operations.
Create a presentation from a template while preserving the theme and layouts.
Open an existing presentation for reading or editing.
Save the current presentation state to a PPTX file.
Retrieve comprehensive information about a presentation, including properties and structure.
Analyze and report details about a template file, including layouts and masters.
Set core document properties such as title, subject, author, keywords, and comments.
Add a new slide with a chosen layout and optional background styling.
Get detailed information about a specific slide.
NEW extract all text content from a specific slide, including titles and placeholders.
NEW extract text content from all slides in a presentation along with statistics.
Fill placeholder shapes with text content.
Insert formatted bullet points into text shapes.
Unified text tool to add, format, validate, and format runs within text shapes.
Unified image tool to add and enhance images within slides.
List available slide templates with their features.
Apply a structured slide template to an existing slide.
Create a new slide from a template with content mappings.
Create a complete presentation from a sequence of templates.
Get detailed information about a specific template.
Automatically generate a presentation based on a topic.
Optimize text elements for readability and fit within slides.
Create tables with enhanced formatting and cell styling.
Format individual table cells.
Add shapes with text and formatting options.
Create charts with comprehensive customization.
Unified design tool to apply themes, slides, and enhancements.
Unified picture effects tool combining multiple visual effects.
Unified font tool to analyze, optimize, and recommend fonts.
Complete hyperlink management for text elements.
Access and manage slide master properties and layouts.
Add connector lines/arrows between slide elements.
Replace existing chart data with new categories and series.
Basic slide transition management.