vancealexander/Powerpoint_MCP_CrossPlatform
If you are the rightful owner of Powerpoint_MCP_CrossPlatform and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Cross-Platform PowerPoint MCP Server enables automation of PowerPoint presentations across Windows, macOS, and Linux using the Model Context Protocol (MCP) and integrates with Claude Desktop for AI-assisted operations.
🎯 Cross-Platform PowerPoint MCP Server
A cross-platform PowerPoint automation server that works with Claude Desktop via the Model Context Protocol (MCP). Create, edit, and manage PowerPoint presentations on Windows, macOS, and Linux using AI assistance.
✨ Features
- 🌍 Cross-platform compatibility (Windows, macOS, Linux)
- 🎨 Complete PowerPoint automation - Create, edit, save presentations
- 🔄 Intelligent adapter selection - COM API on Windows, python-pptx everywhere else
- 🤖 Claude Desktop integration - Control PowerPoint through natural language
- 📝 Rich text manipulation - Add text boxes, update content, set titles
- 🎭 Advanced techniques support - Perfect for morph transitions and animations
- 📦 Easy installation - Available on PyPI
🚀 Quick Start
Installation
pip install powerpoint-mcp-server
Platform-specific notes:
- Windows: Optionally install
pywin32for direct PowerPoint COM API access - macOS/Linux: Uses
python-pptxlibrary (installed automatically)
Claude Desktop Configuration
Add to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"powerpoint": {
"command": "python",
"args": ["-m", "powerpoint_mcp_server"]
}
}
}
💬 Usage Examples
Once configured, interact with PowerPoint through Claude Desktop:
🤖 What platform am I running on and what PowerPoint adapter is available?
🤖 Please create a new PowerPoint presentation with a title slide called "AI-Powered Presentations"
🤖 Add a content slide explaining the benefits of cross-platform automation
🤖 Save the presentation to ~/Documents/my-ai-presentation.pptx
🔧 Available Functions
Core Operations
initialize_powerpoint()- Initialize PowerPoint connectionget_platform_info()- Get system and adapter informationcreate_presentation()- Create new presentationopen_presentation(path)- Open existing presentationsave_presentation(id, path)- Save presentationclose_presentation(id)- Close presentation
Slide Management
get_slides(presentation_id)- List all slidesadd_slide(presentation_id, layout_type)- Add new slideget_slide_text(presentation_id, slide_id)- Extract slide textset_slide_title(presentation_id, slide_id, title)- Set slide title
Content Editing
add_text_box(presentation_id, slide_id, text, ...)- Add text boxupdate_text(presentation_id, slide_id, shape_id, text)- Update text content
🖥️ Platform Support
| Feature | Windows + PowerPoint | Windows (python-pptx) | macOS | Linux |
|---|---|---|---|---|
| Create presentations | ✅ | ✅ | ✅ | ✅ |
| Edit presentations | ✅ | ✅ | ✅ | ✅ |
| Live PowerPoint control | ✅ | ❌ | ❌ | ❌ |
| File-based operations | ✅ | ✅ | ✅ | ✅ |
| Morph transitions* | ✅ | ✅ | ✅ | ✅ |
*Morph transitions require PowerPoint Desktop for playback
🎭 Advanced Use Cases
This MCP server is perfect for:
- AI-assisted presentation creation
- Batch processing PowerPoint files
- Cross-platform presentation workflows
- Advanced animation techniques (liquid masks, morph effects)
- Automated content generation
- Educational presentation tools
🏗️ Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude Desktop │◄──►│ MCP Protocol │◄──►│ This Server │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Platform Detect │
└─────────────────┘
│
┌────────────────────┼────────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Windows COM API │ │ python-pptx │ │ Fallback Handler│
│ (pywin32) │ │ (Cross-platform)│ │ (No adapter) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
🛠️ Development
Setup Development Environment
# Clone repository
git clone https://github.com/your-username/powerpoint-mcp-server.git
cd powerpoint-mcp-server
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e ".[dev]"
Running Tests
pytest
Building Package
python -m build
📝 Requirements
- Python 3.10+
- Claude Desktop client
- Optional: PowerPoint Desktop (for live control on Windows)
🤝 Contributing
Contributions are welcome! Please see our .
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the file for details.
🙏 Acknowledgments
- Model Context Protocol (MCP) - Communication protocol
- python-pptx - Cross-platform PowerPoint library
- pywin32 - Windows COM API access
- Claude Desktop - AI-powered automation platform
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Project Wiki
Made with ❤️ for the Claude Desktop community