Skip to content

trsdn/mcp-server-ppt

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

365 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PptMcp - MCP Server for Microsoft PowerPoint

Release Release Workflow NuGet MCP Server NuGet CLI License: MIT .NET Platform Built with Copilot

Automate PowerPoint with AI β€” A Model Context Protocol (MCP) server for comprehensive PowerPoint automation through conversational AI.

PptMcp enables AI assistants such as GitHub Copilot, Claude, and ChatGPT to automate Microsoft PowerPoint through natural language commands. It covers real presentation work end to end: create slides, edit text, place shapes and images, build charts and tables, apply themes, run VBA, export to PDF or video, and manage live PowerPoint windows safely through the native COM API.

Origin and credit: This project builds on the original MCP automation foundation created by Stefan Broenner (sbroenne) in mcp-server-excel, extended here into a full PowerPoint-focused toolchain.

Releases and packages: GitHub Releases | NuGet: PptMcp.McpServer | NuGet: PptMcp.CLI

For multi-phase build / verify / repair workflows from source, the repo also includes the official orchestration client under src\PptMcp.Agent.

πŸ›‘οΈ 100% Safe β€” Uses PowerPoint's Native COM API β€” Zero risk of file corruption. Uses PowerPoint's official COM API ensuring complete safety and compatibility.

πŸ’‘ Interactive Development β€” See results instantly in PowerPoint. Add slides, create charts, format text, and iterate. PowerPoint becomes your AI-powered workspace.

Technical Requirements:

  • ⚠️ Windows Only β€” COM interop is Windows-specific
  • ⚠️ PowerPoint Required β€” Microsoft PowerPoint 2016 or later must be installed
  • ⚠️ Desktop Environment β€” Controls actual PowerPoint process (not for server-side processing)

🎯 What You Can Do

33 specialized tools with 204 operations:

  • πŸ“„ Slides (1 tool, 8 ops) β€” Create, duplicate, move, delete, apply layouts, set name
  • πŸ”· Shapes (1 tool, 19 ops) β€” Add, move, resize, fill, line, shadow, rotation, z-order, grouping, copy, connectors, merge, flip, duplicate
  • πŸ“ Text (1 tool, 5 ops) β€” Get/set text, find, replace, format
  • πŸ“Š Charts (1 tool, 5 ops) β€” Create charts, set title, type, get info, delete
  • πŸ“‹ Slide Tables (1 tool, 8 ops) β€” Create, read, write cells, add/delete rows and columns, merge cells
  • 🎬 Animations (1 tool, 4 ops) β€” List, add, remove, clear animation effects
  • πŸ”„ Transitions (1 tool, 4 ops) β€” Get, set, remove, copy to all slides
  • 🎨 Design/Themes (1 tool, 4 ops) β€” List designs, apply themes, get theme colors, list color schemes
  • πŸ–ΌοΈ Images (1 tool, 1 op) β€” Insert images with position and size control
  • πŸ“ Notes (1 tool, 4 ops) β€” Get, set, clear, append speaker notes
  • 🏷️ Sections (1 tool, 4 ops) β€” List, add, rename, delete presentation sections
  • πŸ”— Hyperlinks (1 tool, 4 ops) β€” Add, read, list, remove hyperlinks
  • πŸ“Ί Slideshow (1 tool, 4 ops) β€” Start, stop, navigate, get status
  • 🎭 Slide Masters (1 tool, 1 op) β€” List masters and layouts
  • πŸ“€ Export (1 tool, 5 ops) β€” PDF, slide images, video (MP4), print, save-as (7 formats)
  • πŸ“ VBA (1 tool, 5 ops) β€” List, view, import, delete, run macros
  • πŸŽ₯ Media (1 tool, 3 ops) β€” Insert audio/video, get media info
  • πŸͺŸ Window (1 tool, 5 ops) β€” Get info, minimize, restore, maximize, set zoom
  • πŸ“ Files (1 tool, 1 op) β€” File validation and info
  • πŸ“‘ Document Properties (1 tool, 2 ops) β€” Get/set title, author, subject, etc.
  • πŸ’¬ Comments (1 tool, 4 ops) β€” Add, list, delete, clear slide comments
  • πŸ“Œ Placeholders (1 tool, 2 ops) β€” List placeholders, set placeholder text
  • 🎨 Slide Background (1 tool, 4 ops) β€” Get info, set solid color, set image, reset to master
  • πŸ“‹ Headers & Footers (1 tool, 2 ops) β€” Get/set footer text, slide numbers, date
  • 🧩 SmartArt (1 tool, 2 ops) β€” Get diagram info, add nodes
  • πŸ“ Shape Alignment (1 tool, 2 ops) β€” Align and distribute shapes on slides
  • πŸŽͺ Custom Shows (1 tool, 3 ops) β€” Create, list, delete custom slide shows
  • πŸ“ Page Setup (1 tool, 2 ops) β€” Get/set slide size and orientation
  • πŸ“₯ Slide Import (1 tool, 1 op) β€” Import slides from another .pptx file
  • 🏷️ Tags (1 tool, 3 ops) β€” Custom metadata on slides and shapes

πŸ“š Complete Feature Reference β†’ β€” Detailed documentation of all 156 operations

πŸ’¬ Example Prompts

Create & Build Presentations:

  • "Create a new PowerPoint presentation called QuarterlyReport.pptx with a title slide"
  • "Add 5 slides with a 'Title and Content' layout"
  • "Insert a company logo image on the first slide"

Content & Formatting:

  • "Add a textbox on slide 2 with the text 'Q1 Revenue Summary' in bold 24pt Arial"
  • "Create a table on slide 3 with columns for Region, Q1, Q2, Q3, Q4"
  • "Set the shape fill color to #0078D4 and add a 2pt border"

Charts & Visuals:

  • "Create a bar chart on slide 4 showing quarterly revenue data"
  • "Set the chart title to 'Revenue by Quarter'"
  • "Add an entrance animation to the chart shape"

Automation:

  • "Export the presentation as PDF"
  • "Run the FormatAllSlides macro"
  • "Show me PowerPoint while you work" β€” watch changes in real-time

πŸͺŸ Agent Mode β€” Watch AI Work in PowerPoint:

  • "Show me PowerPoint side-by-side while you build this presentation" β€” real-time visibility
  • "Let me watch while you create the slides"
  • Status bar shows live progress: "PptMcp: Creating chart on slide 4..."

πŸ‘₯ Who Should Use This?

Perfect for:

  • βœ… Presenters automating repetitive PowerPoint workflows
  • βœ… Developers building PowerPoint-based reporting solutions
  • βœ… Business users managing complex presentation decks
  • βœ… Teams maintaining presentation templates and VBA macros

Not suitable for:

  • ❌ Server-side processing (use libraries like Open XML SDK instead)
  • ❌ Linux/macOS users (Windows + PowerPoint installation required)
  • ❌ High-volume batch operations (consider PowerPoint-free alternatives)

πŸš€ Quick Start

Platform Installation
Any MCP Client dotnet tool install --global PptMcp.McpServer
Details πŸ“– Installation Guide

⚠️ Important: Close all PowerPoint files before using. The server requires exclusive access to presentations during automation.

πŸ”§ CLI vs MCP Server

This package provides both CLI and MCP Server interfaces. Choose based on your use case:

Interface Best For Why
CLI (pptcli) Coding agents (Copilot, Cursor, Windsurf) Fewer tokens β€” single tool, no large schemas.
MCP Server Conversational AI (Claude Desktop, VS Code Chat) Rich tool discovery, persistent connection.

Manual Installation:

# Install MCP Server and CLI
dotnet tool install --global PptMcp.McpServer
dotnet tool install --global PptMcp.CLI

πŸ€– Optional: Official Agent Client from Source

For larger deck-building tasks, this repo also ships an official source-side controller: src\PptMcp.Agent.

It is intentionally not a third server surface. Instead, it sits above the MCP server and runs one client-side loop:

  • plan the deck
  • execute through normal sequential MCP tool calls
  • verify the generated deck
  • repair incomplete output when needed

Quick start:

dotnet build src\PptMcp.McpServer\PptMcp.McpServer.csproj -c Release

Set-Location src\PptMcp.Agent
npm install
npm run check
npm test

node .\src\cli.mjs run `
  --task "Build a 5-slide executive deck on Q4 revenue performance and next actions." `
  --output "C:\Users\you\Documents\q4-revenue-deck.pptx"

Read more:

βš™οΈ How It Works β€” COM Automation & Unified Service Architecture

PptMcp uses Windows COM automation to control the actual PowerPoint application (not just .pptx files).

Both the MCP Server and CLI communicate with a shared PptMcp Service that manages PowerPoint sessions. This unified architecture enables:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   MCP Server        β”‚     β”‚   CLI (pptcli)    β”‚
β”‚  (AI assistants)    β”‚     β”‚  (coding agents)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚                           β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚   PptMcp Service      β”‚
          β”‚  (shared session mgmt)  β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚   PowerPoint COM API    β”‚
          β”‚  (PowerPoint.Application)β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Benefits:

  • βœ… Shared Sessions β€” CLI and MCP Server can access the same open presentations
  • βœ… Single PowerPoint Instance β€” No duplicate processes or file locks
  • βœ… System Tray UI β€” Monitor active sessions via the PptMcp tray icon

πŸ’‘ Tip: Watch PowerPoint While AI Works By default, PowerPoint runs hidden for faster automation. To see changes in real-time, just ask:

  • "Show me PowerPoint while you work"
  • "Let me watch what you're doing"
  • "Open PowerPoint so I can see the changes"

The AI will display the PowerPoint window so you can watch every operation happen live!

πŸ“‹ Additional Information

πŸ“š CLI Guide β†’ | MCP Server Guide β†’ | Agent Client β†’ | Eval Framework β†’ | Archetype Pipeline β†’ | All Agent Skills β†’

License: MIT License - see LICENSE file

Contributing: See CONTRIBUTING.md for guidelines

Built With: This entire project was developed using GitHub Copilot AI assistance - mainly with Claude but lately with Auto-mode.

Acknowledgments:

  • Microsoft PowerPoint Team β€” For comprehensive COM automation APIs
  • Model Context Protocol community β€” For the AI integration standard
  • Open Source Community β€” For inspiration and best practices

Related Projects

Upstream projects by Stefan Broenner:

About

PowerPoint MCP server and CLI for safe Microsoft PowerPoint automation via the native COM API, with GitHub Copilot, Claude, and ChatGPT support.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

No contributors

Languages

  • C# 73.1%
  • JavaScript 14.2%
  • PowerShell 7.0%
  • Python 5.6%
  • Other 0.1%