PowerPoint MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PowerPoint MCP ServerCreate a new presentation called 'demo.pptx'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PowerPoint MCP Server
A Model Context Protocol (MCP) server that provides comprehensive PowerPoint (.pptx) editing capabilities. This server allows you to create, edit, and manipulate PowerPoint presentations programmatically through Claude and other MCP-compatible clients.
Features
Create Presentations: Start with blank presentations or use existing files as templates
Slide Management: Add, delete, and read slide information
Text Editing: Edit titles, content, and add formatted text boxes
Shape Operations: Add rectangles, ovals, and triangles with optional text
Image Support: Insert images with customizable positioning and sizing
Table Operations: Create tables and edit cell content
Text Extraction: Extract all text content from presentations
File Listing: List all PowerPoint files in the current directory
Related MCP server: PowerPoint MCP Server
Installation
Prerequisites
Python 3.8 or higher
pip (Python package installer)
Setup Steps
Clone or download this repository
git clone <repository-url> cd powerpoint-mcp-serverCreate a virtual environment (recommended)
python -m venv venvActivate the virtual environment
On Windows:
venv\Scripts\activateOn macOS/Linux:
source venv/bin/activateInstall dependencies
pip install -r requirements.txt
Usage
Running the MCP Server
The server can be run in two modes:
1. MCP Mode (for use with Claude Desktop or other MCP clients)
python pptx_mcp_server.py --stdio2. HTTP Mode (for testing)
python pptx_mcp_server.pyThis will start an HTTP server on localhost:8000 for testing purposes.
Configuring with Claude Desktop
To use this MCP server with Claude Desktop, add the following configuration to your Claude Desktop config file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"powerpoint-editor": {
"command": "python",
"args": ["/path/to/pptx_mcp_server.py", "--stdio"],
"env": {}
}
}
}Replace /path/to/pptx_mcp_server.py with the actual path to the server file.
Available Tools
Presentation Management
create_presentation: Create a new PowerPoint fileread_presentation_info: Get detailed information about a presentationextract_text: Extract all text content from a presentation
Slide Operations
add_slide: Add a new slide with optional title and contentdelete_slide: Remove a specific slide from the presentationedit_slide_text: Edit text in slides (title, content, or specific shapes)
Content Addition
add_text_box: Add formatted text boxes to slidesadd_shape: Add geometric shapes (rectangle, oval, triangle)add_image: Insert images into slidesadd_table: Create tables in slides
Table Operations
update_table_cell: Edit individual table cells
File Management
list_pptx_files(resource): List all .pptx files in the current directory
Example Usage
Once connected to an MCP client like Claude Desktop, you can use natural language commands such as:
"Create a new presentation called 'quarterly-report.pptx'"
"Add a title slide with the title 'Q4 Financial Results'"
"Insert a table with 3 rows and 4 columns on slide 2"
"Add a text box with the content 'Key Findings' to slide 3"
"Extract all text from the presentation"
Error Handling
The server includes comprehensive error handling for:
File not found scenarios
Invalid slide numbers or indices
Missing presentation elements
File permission issues
Invalid shape types and parameters
All errors are logged and returned with descriptive messages to help with debugging.
Supported File Formats
PowerPoint files (.pptx) - both reading and writing
Template files (.pptx) - for creating new presentations from existing layouts
Image files for insertion: PNG, JPEG, GIF, BMP
Limitations
Only supports .pptx format (not .ppt legacy format)
Slide animations and transitions are not supported
Advanced formatting features like themes and master slides have limited support
Chart creation is not currently implemented
Development
Project Structure
powerpoint-mcp-server/
├── pptx_mcp_server.py # Main server implementation
├── requirements.txt # Python dependencies
├── README.md # This file
└── examples/ # Example presentations (optional)Adding New Features
To add new PowerPoint manipulation features:
Add a new
@mcp.tool()decorated function topptx_mcp_server.pyFollow the existing error handling patterns
Update the README with the new functionality
Test with both MCP and HTTP modes
Testing
To test the server:
Run in HTTP mode:
python pptx_mcp_server.pyUse curl or a REST client to test endpoints
Test with Claude Desktop for full MCP integration
Troubleshooting
Common Issues
"Module not found" errors: Ensure all dependencies are installed and virtual environment is activated
File permission errors: Check that the script has read/write permissions for the target directory
Claude Desktop not connecting: Verify the config file path and syntax, ensure the Python path is correct
PowerPoint files not opening: Ensure files are in .pptx format and not corrupted
Debug Mode
The server logs to stderr by default. To see detailed logs:
python pptx_mcp_server.py --stdio 2>debug.logContributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Add tests for new functionality
Submit a pull request with clear description
License
This project is open source. Please check the repository for license details.
Support
For issues and questions:
Check the troubleshooting section above
Review the MCP documentation at https://modelcontextprotocol.io/
Open an issue in the repository
Version History
v1.0.0
Initial release with core PowerPoint editing functionality
Support for slides, text, shapes, images, and tables
MCP server implementation with FastMCP
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MisunK/powerpoint-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server