Skip to main content
Glama

🎯 Cross-Platform PowerPoint MCP Server

Python 3.10+ License: MIT PyPI version Cross-Platform

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 pywin32 for direct PowerPoint COM API access

  • macOS/Linux: Uses python-pptx library (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 connection

  • get_platform_info() - Get system and adapter information

  • create_presentation() - Create new presentation

  • open_presentation(path) - Open existing presentation

  • save_presentation(id, path) - Save presentation

  • close_presentation(id) - Close presentation

Slide Management

  • get_slides(presentation_id) - List all slides

  • add_slide(presentation_id, layout_type) - Add new slide

  • get_slide_text(presentation_id, slide_id) - Extract slide text

  • set_slide_title(presentation_id, slide_id, title) - Set slide title

Content Editing

  • add_text_box(presentation_id, slide_id, text, ...) - Add text box

  • update_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.

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/amazing-feature

  3. Make your changes and add tests

  4. Commit: git commit -m 'Add amazing feature'

  5. Push: git push origin feature/amazing-feature

  6. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ž Support


Made with ❀️ for the Claude Desktop community

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/vancealexander/Powerpoint_MCP_CrossPlatform'

If you have feedback or need assistance with the MCP directory API, please join our Discord server