Cross-Platform PowerPoint MCP Server

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.

Category
Visit Server

README

🎯 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

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

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.

Official
Featured
Python
graphlit-mcp-server

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.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured