Cross-Platform PowerPoint MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
pip install powerpoint-mcp-server
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add powerpoint-mcp -- node "<FULL_PATH_TO_POWERPOINT_MCP_CROSSPLATFORM>/dist/index.js"

Replace <FULL_PATH_TO_POWERPOINT_MCP_CROSSPLATFORM>/dist/index.js with the actual folder you prepared in step 1.

README.md

A cross-platform PowerPoint automation server for Claude Desktop

🎯 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 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β”‚

Tools (12)

initialize_powerpointInitialize PowerPoint connection
get_platform_infoGet system and adapter information
create_presentationCreate new presentation
open_presentationOpen existing presentation
save_presentationSave presentation
close_presentationClose presentation
get_slidesList all slides
add_slideAdd new slide
get_slide_textExtract slide text
set_slide_titleSet slide title
add_text_boxAdd text box
update_textUpdate text content

Configuration

claude_desktop_config.json
{"mcpServers": {"powerpoint": {"command": "python", "args": ["-m", "powerpoint_mcp_server"]}}}

Try it

β†’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

Frequently Asked Questions

What are the key features of Cross-Platform PowerPoint MCP Server?

Cross-platform compatibility for Windows, macOS, and Linux. Complete PowerPoint automation including creation, editing, and saving. Intelligent adapter selection using COM API on Windows or python-pptx. Rich text manipulation including adding text boxes and updating content. Support for advanced techniques like morph transitions and animations.

What can I use Cross-Platform PowerPoint MCP Server for?

AI-assisted presentation creation. Batch processing PowerPoint files. Cross-platform presentation workflows. Advanced animation techniques like morph effects. Automated content generation for educational tools.

How do I install Cross-Platform PowerPoint MCP Server?

Install Cross-Platform PowerPoint MCP Server by running: pip install powerpoint-mcp-server

What MCP clients work with Cross-Platform PowerPoint MCP Server?

Cross-Platform PowerPoint MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Cross-Platform PowerPoint MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare