Office-PowerPoint-MCP
Enables AI assistants to programmatically create, manipulate, and analyze Microsoft PowerPoint presentations with advanced formatting and template management.
README
Office-PowerPoint-MCP
Enterprise-Grade PowerPoint Automation Protocol for AI Assistants
Overview
Office-PowerPoint-MCP is a robust Model Context Protocol (MCP) server designed to enable advanced PowerPoint presentation processing capabilities for AI assistants like Claude Code, Amazon Q Developer, and other MCP-compliant clients.
It provides a standardized interface for AI agents to programmatically create, read, manipulate, and analyze Microsoft PowerPoint presentations (.pptx). By abstracting complex presentation object models into clean API tools, it empowers AI assistants to generate professional presentations, reports, and visual documentation workflows autonomously.
Key Benefits
- Seamless Integration: Optimized for Claude Code and Amazon Q environments
- Rich Formatting: Support for complex layouts, animations, and design controls
- Enterprise Ready: Includes template management, media handling, and professional styling
- Secure: Runs locally with explicit permission controls
Features
1. Presentation Management
- Lifecycle Control: Create, copy, merge, and convert presentations (to PDF)
- Structure Analysis: Extract slide content, metadata, and statistics
- Template System: Apply and manage custom presentation templates
2. Content Engineering
- Advanced Layouts: Create complex slide layouts with multiple content areas
- Rich Media: Insert images, videos, charts, and tables with precise positioning
- Dynamic Text: Precision control over fonts, colors, and paragraph styles
- Interactive Elements: Add animations, transitions, and hyperlinks
3. Design & Styling
- Theme Management: Apply and customize presentation themes
- Master Slides: Create and modify slide masters for consistent branding
- Color Schemes: Implement corporate color palettes and design systems
Getting Started
Prerequisites
- Python 3.10 or higher
uv(recommended) orpippackage manager- Microsoft PowerPoint (for advanced features)
Installation
Option 1: Using uvx (Recommended for ephemeral use)
No installation required. You can run the server directly using uvx.
uvx --from office-powerpoint-mcp-server ppt_mcp_server
Option 2: Local Installation
Clone the repository and install dependencies:
git clone https://github.com/ihatesea69/Office-PowerPoint-MCP.git
cd Office-PowerPoint-MCP
pip install -r requirements.txt
Integration Guide
Claude Code
Add the following to your Claude Code MCP configuration:
{
"mcpServers": {
"powerpoint-server": {
"command": "uvx",
"args": ["--from", "office-powerpoint-mcp-server", "ppt_mcp_server"]
}
}
}
Amazon Q Developer (VS Code / JetBrains)
To integrate Office-PowerPoint-MCP with Amazon Q Developer:
- Open your IDE settings and navigate to Amazon Q > MCP Servers
- Add a new server configuration:
- Name:
powerpoint-automation - Command:
uvx - Args:
--from,office-powerpoint-mcp-server,ppt_mcp_server
- Name:
- Restart your IDE. Amazon Q will now have access to PowerPoint tools
Other MCP Clients
Add the following to your MCP configuration file:
{
"mcpServers": {
"ppt": {
"command": "uvx",
"args": ["--from", "office-powerpoint-mcp-server", "ppt_mcp_server"]
}
}
}
API Reference
The server exposes the following tools to the AI assistant.
Core Operations
| Tool Name | Description |
|---|---|
create_presentation |
Create a new blank or template-based presentation |
get_presentation_info |
Extract metadata and structure information |
list_available_presentations |
Scan directory for valid PowerPoint files |
convert_to_pdf |
Export .pptx to PDF format |
Content & Formatting
| Tool Name | Description |
|---|---|
add_slide |
Insert new slides with specified layouts |
add_text_box |
Add formatted text boxes to slides |
add_image |
Insert images with positioning and scaling |
add_table |
Create structured tables on slides |
add_chart |
Generate charts and graphs |
Design Management
| Tool Name | Description |
|---|---|
apply_theme |
Apply predefined or custom themes |
set_slide_layout |
Change slide layouts and master templates |
format_text |
Apply advanced text formatting options |
add_animation |
Create slide transitions and animations |
Example Usage
# Example: Create a business presentation
presentation = create_presentation("Business Report Q4 2024")
add_slide(presentation, "title_slide", title="Q4 Results", subtitle="Company Performance Review")
add_slide(presentation, "content_slide", title="Key Metrics")
add_chart(presentation, slide_index=1, chart_type="bar", data=sales_data)
apply_theme(presentation, "corporate_blue")
save_presentation(presentation, "Q4_Report.pptx")
Troubleshooting
Common Issues
Permission Denied
- Cause: The server cannot access the file system
- Fix: Ensure the running process has R/W access to the target directory. On Windows, ensure the file isn't open in Microsoft PowerPoint
Template Not Found
- Cause: Using a template that doesn't exist in the system
- Fix: Use
list_available_templatesto see available options, or provide full path to custom templates
Image Insertion Failures
- Cause: Relative paths may be ambiguous
- Fix: Always use absolute paths for images
Debugging
Set the MCP_DEBUG environment variable to 1 to enable verbose logging:
# Windows (PowerShell)
$env:MCP_DEBUG = "1"
# Linux/Mac
export MCP_DEBUG=1
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the MIT License. See LICENSE for details.
Roadmap
- [ ] Advanced animation support
- [ ] Integration with online template libraries
- [ ] Collaborative editing features
- [ ] AI-powered design suggestions
- [ ] Support for PowerPoint Online/Office 365
Built for the AI-Powered Productivity Era.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.