Cross-Platform PowerPoint MCP Server
Enables users to create, edit, and manage PowerPoint presentations across Windows, macOS, and Linux through natural language via Claude Desktop. It provides comprehensive automation for slide management, text manipulation, and presentation styling using platform-specific adapters.
README
π― 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 Contributing Guide.
- 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 LICENSE 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
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.
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.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
E2B
Using MCP to run code via e2b.