PowerPoint MCP Server

Manipulate PowerPoint presentations using the python-pptx library.

PowerPoint MCP Server

A comprehensive Model Context Protocol (MCP) server for PowerPoint presentation manipulation using python-pptx. This server provides programmatic access to PowerPoint operations through the MCP protocol, optimized for use with AI assistants like Claude in Cursor IDE.

Features

Core Presentation Management

  • create_presentation - Create presentations from scratch or templates
  • load_presentation - Load existing PowerPoint files for editing
  • save_presentation - Save presentations with automatic path resolution
  • add_slide - Add slides with different layouts (title, content, blank, etc.)
  • extract_text - Extract all text content for analysis
  • get_presentation_info - Get metadata and structure information

Content Creation & Manipulation

  • add_text_box - Rich text formatting (font size, bold, italic, colors)
  • add_image - Images from files or URLs with precise positioning
  • add_chart - Data-driven charts (column, bar, line, pie, area)
  • create_from_json - Schema-driven presentation creation
  • add_professional_shape - Professional shapes from built-in library

Visual Analysis & Review

  • screenshot_slides - Generate high-quality slide screenshots (Windows only)
  • critique_presentation - Comprehensive analysis (design, content, accessibility, technical)

Style Management & Automation

  • analyze_presentation_style - Extract style patterns for learning
  • create_style_profile - Build reusable style profiles
  • apply_style_profile - Apply learned styles to presentations
  • save_style_profile / load_style_profile - Persist style data

Professional Layout & Design

  • create_layout_grid - Professional alignment grids
  • snap_to_grid - Snap shapes to grid positions
  • distribute_shapes - Even spacing distribution
  • create_color_palette / apply_color_palette - Brand-consistent colors
  • create_typography_profile / apply_typography_style - Typography hierarchies

Master Themes & Templates

  • create_master_slide_theme - Master slide themes with consistent formatting
  • apply_master_theme - Apply themes across entire presentations
  • create_template - Reusable templates with placeholders and logic
  • apply_template - Data-driven template application
  • bulk_generate_presentations - Generate multiple presentations from templates

Installation

  1. Install dependencies:
pip install -r requirements.txt
  1. Verify python-pptx installation:
python -c "import pptx; print('python-pptx installed successfully')"

Usage

Starting the Server

python powerpoint_mcp_server.py

The server will start and listen for MCP protocol messages via stdio.

Integration with Cursor

  1. Copy cursor_config.json.example to cursor_config.json
  2. Update the path in the configuration if needed
  3. Add to your Cursor MCP settings

Example configuration:

{
  "mcpServers": {
    "powerpoint": {
      "command": "python",
      "args": ["./powerpoint_mcp_server.py"],
      "env": {},
      "description": "PowerPoint MCP Server for presentation manipulation"
    }
  }
}

Architecture

MCP Integration

  • Resources: Exposes presentations as readable resources
  • Tools: Provides comprehensive PowerPoint manipulation tools
  • Protocol: Full MCP compliance with proper error handling

Limitations

  • Memory usage: Presentations are kept in memory during operations
  • File formats: Only supports .pptx format (PowerPoint 2007+)
  • Concurrent access: Single-threaded operation
  • Template complexity: Advanced template features may not be fully supported

License

This project is licensed under the MIT License.

Acknowledgments

Related Servers

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension