
MCP Server for PowerPoint
io.github.trsdnPublished by GitHub account trsdnv1.1.0Updated Oct 25, 2026
PowerPoint automation for AI - Slides, Shapes, Text, Charts and more. Windows only.
Overview
A Windows-only MCP server that lets an AI assistant drive a live Microsoft PowerPoint installation to build, edit, format and export presentations.
- What you can do
- Open, create, save, list and validate presentation files, and import slides from other decks or export to PDF, images, video or print output, plus save-as and text/image extraction. Create, duplicate, move, delete, hide and lay out slides, and manage masters, layouts, placeholders, backgrounds, themes, sections and custom shows. Add, move, resize, style, group, align and layer shapes, and insert images, media, SmartArt, tables and charts with their data and formatting. Read and set text, bullets, spacing, hyperlinks, tags, speaker notes, comments, headers and footers, and document properties. Add animations and transitions, run slideshows, check spelling, audit accessibility and reading, and
- When to use it
- Useful when you work on Windows with PowerPoint installed and want an assistant to build or revise decks conversationally — creating slides, filling in charts and tables, applying themes, adding notes and comments, or exporting to PDF and video. Not intended for server-side or high-volume batch processing, or for Linux and macOS machines.
- Requirements
- Windows x64 desktop with Microsoft PowerPoint 2016 or later installed; COM interop is Windows-specific. Runs as a local stdio process, installed either as the .NET global tool PptMcp.McpServer (needs the .NET runtime) or via the npm wrapper, which downloads a self-contained build on first use. No accounts, API keys or environment variables are declared. Presentations must be closed before use, since the server needs exclusive access.
Installation
In SourceWeft
- Open MCP Server for PowerPoint in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
PptMcp - MCP Server for Microsoft PowerPoint
[Release] [Release Workflow] [NuGet MCP Server] [NuGet CLI] [License: MIT] [.NET] [Platform] [Built with Copilot]
[Install in VS Code] [Install in VS Code Insiders] [Install in Cursor]
The install badges register the server as
ppt-mcprunning themcp-pptcommand. Install the tool first withdotnet tool install --global PptMcp.McpServer, otherwise the client has nothing to launch.
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 224 operations:
- 📁 Files (1 tool, 6 ops) — Open, close, create, save, list, validate presentations
- 📄 Slides (1 tool, 15 ops) — Create, duplicate, move, delete, apply layouts, hide/unhide, thumbnails, clone-with-replace
- 🔷 Shapes (1 tool, 35 ops) — Add, move, resize, fill, gradient, line, shadow, glow, reflection, opacity, 3D, rotation, z-order, grouping, connectors, merge, flip, scale
- ✏️ Text (1 tool, 18 ops) — Get/set text, find, replace, format, spacing, bullets, case, symbols, alt-text audit
- 📋 Slide Tables (1 tool, 13 ops) — Create, read/write cells and rows, add/delete rows and columns, merge, format, borders
- 📊 Charts (1 tool, 10 ops) — Create, set data, title, type, legend, axis titles, data table
- 🖼️ Images (1 tool, 4 ops) — Insert, crop, brightness/contrast, transparent color
- 🎥 Media (1 tool, 4 ops) — Insert audio/video, media info, playback settings
- 🧩 SmartArt (1 tool, 6 ops) — Diagram info, add/delete nodes, layout, style, level changes
- 🎨 Design/Themes (1 tool, 19 ops) — Themes, color schemes, fonts, archetypes, palettes, layout grids, style profiles
- 🖌️ Slide Background (1 tool, 5 ops) — Get, solid color, gradient, image, reset to master
- 🎭 Masters & Layouts (1 tool, 5 ops) — List masters and layouts, edit master shapes, delete unused
- 📌 Placeholders (1 tool, 3 ops) — List placeholders, set text, set image
- 📃 Headers & Footers (1 tool, 2 ops) — Get/set footer text, slide numbers, date
- 📐 Page Setup (1 tool, 3 ops) — Slide size, orientation, first slide number
- ↔️ Shape Alignment (1 tool, 2 ops) — Align and distribute shapes on slides
- 🎬 Animations (1 tool, 6 ops) — List, add, remove, clear, timing, reorder
- 🔀 Transitions (1 tool, 4 ops) — Get, set, remove, copy to all slides
- 📺 Slideshow (1 tool, 5 ops) — Start, stop, navigate, status, configure
- 🎞️ Custom Shows (1 tool, 3 ops) — Create, list, delete custom slide shows
- 📂 Sections (1 tool, 4 ops) — List, add, rename, delete presentation sections
- 📥 Slide Import (1 tool, 1 op) — Import slides from another .pptx file
- 📝 Notes (1 tool, 5 ops) — Get, set, clear, append, read all speaker notes
- 💬 Comments (1 tool, 4 ops) — Add, list, delete, clear slide comments
- 🔗 Hyperlinks (1 tool, 5 ops) — Add, get, list, remove, validate hyperlinks
- 🏷️ Tags (1 tool, 3 ops) — Custom metadata on slides and shapes
- 🗂️ Document Properties (1 tool, 4 ops) — Get/set built-in and custom properties
- ♿ Accessibility (1 tool, 3 ops) — Audit, get/set reading order
- 🔤 Proofing (1 tool, 3 ops) — Spell check, get/set language
- 📤 Export (1 tool, 9 ops) — PDF, slide images, video (MP4), print, save-as, extract text/images
- 🖨️ Print Options (1 tool, 2 ops) — Get/set print configuration
- ⚙️ VBA (1 tool, 5 ops) — List, view, import, delete, run macros
- 🪟 Window (1 tool, 7 ops) — Info, minimize, restore, maximize, zoom, view mode
📚 Complete Feature Reference → — Detailed documentation of all 224 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
⚠️ 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:
Manual Installation:
Without .NET installed: the MCP server is also published to npm as a wrapper that
downloads a self-contained build on first use. Point any client at npx -y mcp-server-ppt
instead of mcp-ppt. Windows x64 only.
Windows package managers (pending first submission): every release now builds a
standalone pptcli archive with a SHA256 and renders ready-to-submit winget and
Chocolatey manifests (see packaging/). The listings themselves are not
live yet, so the commands below will not resolve until the first submission is accepted —
tracked in #112.
Both packages will pull the .NET 9 Desktop Runtime as a dependency, because the archive is a framework-dependent build. Neither can install Microsoft PowerPoint, which remains a prerequisite.
🤖 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:
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:
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.
🔒 Privacy Policy
PptMcp runs entirely on your machine and collects no data.
One caveat worth stating plainly: PptMcp is normally driven by an AI assistant. Whatever that assistant sends to its own model provider is governed by that assistant's privacy policy, not this one.
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:
- mcp-server-excel (upstream) — Original MCP Server for Excel by Stefan Broenner
- pytest-aitest — LLM-powered testing framework for AI agents
Source: README.md at commit d9ec6ab
Tools
0Version history
1- v1.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts