Skip to main content
Glama
vancealexander

Cross-Platform PowerPoint MCP Server

🎯 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

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