Install
$ agentstack add mcp-sbroenne-mcp-server-powerpoint ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
PowerPointMcp — MCP Server & CLI for Microsoft PowerPoint
[](https://marketplace.visualstudio.com/items?itemName=sbroenne.powerpoint-mcp) [](https://github.com/sbroenne/mcp-server-powerpoint/releases)
[](https://github.com/sbroenne/mcp-server-powerpoint/actions/workflows/build-mcp-server.yml) [](https://github.com/sbroenne/mcp-server-powerpoint/actions/workflows/build-cli.yml) [](https://github.com/sbroenne/mcp-server-powerpoint/releases/latest)
[](https://opensource.org/licenses/MIT) [](https://dotnet.microsoft.com/download/dotnet/10.0) [](https://github.com/sbroenne/mcp-server-powerpoint) [](https://copilot.github.com/)
Automate PowerPoint with AI — a Model Context Protocol server and CLI for live, real-time PowerPoint automation through conversational AI. Sibling project to mcp-server-excel, following the same layered architecture: ComInterop → Core → CLI / MCP Server.
MCP Server for PowerPoint enables AI assistants (GitHub Copilot, Claude, ChatGPT) to build and edit real .pptx presentations through natural language — slides, shapes, text, tables, charts, speaker notes, and layouts — no VBA or PowerPoint object-model knowledge required.
🛡️ Live COM automation, not file parsing — Most PowerPoint MCP servers manipulate .pptx files offline with libraries like python-pptx, or use agent-run scripts with LibreOffice-rendered thumbnails. This project instead drives a live, real PowerPoint desktop instance via Microsoft.Office.Interop.PowerPoint — the official Primary Interop Assembly. That means true-fidelity rendering, compatibility with an already-open deck, and zero risk of producing a .pptx that PowerPoint itself can't open, because PowerPoint is the one writing it.
🖼️ Export-to-verify — the core differentiator. After any visual edit, export the slide (or the whole deck) to an image with export_slide_to_image / export_all_slides_to_images and let a vision-capable AI assistant see the result — catching overlapping shapes, text overflow, and layout regressions that text-only automation simply cannot detect.
Technical Requirements:
- ⚠️ Windows Only — COM interop is Windows-specific
- ⚠️ PowerPoint Required — Microsoft PowerPoint 2016 or later must be installed
- ⚠️ Desktop Environment — controls a real PowerPoint process (not for server-side processing)
> [!TIP] > Also automating spreadsheets? Check out Excel MCP Server — > the sister project, built the same way.
🎯 What You Can Do
18 MCP tools with ~98 operations across 12 domains:
- 🗂️ Presentation (5 ops) — create, open, save, close, list sessions
- 🎨 Template (2 ops) — apply a
.potx/.pptxtemplate's masters/theme/layouts, read the current theme name - 📑 Slide (12 ops) — add, count, delete, duplicate, reorder, per-slide background color, sections
- ▭ Shape (25 ops) — rectangles, text boxes, auto shapes, lines, connectors, fill/line/shadow,
rotation, flip, z-order, grouping, naming, alt text
- ✏️ TextFrame (15 ops) — text, font size/name/color, bold, italic, underline, alignment, bullets
- 📊 Table (12 ops) — add, cell text, insert/delete rows & columns, cell fill/border, merge cells
- 🗣️ Notes (2 ops) — set/get speaker notes
- 🖼️ Layout (2 ops) — set/get slide layout
- 🎭 Master (6 ops) — slide master title/body placeholder fonts, background color
- 🎬 Animation (5 ops) — shape entrance/emphasis/exit effects, slide transitions
- 🖼️ Image (1 op) — insert pictures
- 📈 Chart (9 ops) — add chart, multi-series data, titles, axis titles, legend
- 🖼️ Export (2 ops) — export a slide, or all slides, to images for visual verification
Each domain other than Presentation/Template is exposed as a single action-dispatch tool (e.g. shape, table, chart) with an operation parameter selecting the specific action — keeping the tool list small for AI assistants while still exposing every operation.
📚 Complete Feature Reference → — detailed documentation of every tool and operation
💬 Example Prompts
Build a deck from scratch:
- *"Create a new presentation with a title slide and three content slides about our Q3 results,
then export it as images so I can see it."*
Tables & charts:
- "Add a 4x3 table summarizing this data, then add a bar chart next to it."
Formatting & shapes:
- "Make the title bold and blue, and move the logo to the top-right corner."
Speaker notes:
- "Write speaker notes for each slide summarizing the key talking point."
Templates & themes:
- "Apply our corporate template to this deck without losing any of the slide content."
Visual verification:
- "Export slide 3 as an image and tell me if the chart overlaps the text box."
👥 Who Should Use This?
Perfect for:
- ✅ AI assistants and coding agents that need to build or edit
.pptxdecks - ✅ Anyone automating repetitive slide-deck workflows (reports, status decks, templates)
- ✅ Teams that want export-to-verify visual checks on every automated edit
Not suitable for:
- ❌ Server-side/headless processing (this drives a real desktop PowerPoint process)
- ❌ Linux/macOS users (Windows + PowerPoint installation required)
🚀 Quick Start
| Platform | Installation | |----------|-------------| | VS Code | Install Extension (one-click, recommended) | | Claude Desktop | Download .mcpb from latest release | | Any MCP Client | Download mcp-powerpoint.exe from latest release and add to PATH | | Details | 📖 Full Installation Guide → |
⚠️ Important: Close any open instances of the target file before automating it — the server needs exclusive access to the presentation while it's driving PowerPoint.
🔧 CLI vs MCP Server
This project provides both a CLI and an MCP Server interface. Choose based on your use case:
| Interface | Best For | Why | |-----------|----------|-----| | CLI (pptcli / powerpointcli.exe) | Coding agents (Copilot, Cursor, Windsurf) + scripting | Single tool, no large schemas — better for cost-sensitive, high-throughput automation. | | MCP Server (mcp-powerpoint) | Conversational AI (Claude Desktop, VS Code Chat) | Rich tool discovery, persistent session. Better for interactive, exploratory workflows. |
Manual installation:
# Primary: Download standalone executables from latest release (no .NET runtime required)
# https://github.com/sbroenne/mcp-server-powerpoint/releases/latest
# - PowerPointMcp-MCP-Server-{version}-windows.zip → extract mcp-powerpoint.exe
# - PowerPointMcp-CLI-{version}-windows.zip → extract powerpointcli.exe
# Secondary: Install via .NET tool (requires .NET 10 runtime)
dotnet tool install --global Sbroenne.PowerPointMcp.McpServer
dotnet tool install --global Sbroenne.PowerPointMcp.CLI
# After installing either way, auto-configure your coding agents:
npx add-mcp "mcp-powerpoint" --name powerpoint-mcp
# Optional: Install the agent skill for better AI guidance
npx skills add sbroenne/mcp-server-powerpoint --skill powerpoint-mcp
> 💡 The VS Code extension installs this skill automatically. Manual npx skills add is for other > MCP clients (Claude Code, Cursor, Windsurf, etc.).
⚙️ How It Works - COM Automation & Unified Service Architecture
PowerPointMcp uses Windows COM automation to control the actual PowerPoint application (not just .pptx files).
The MCP Server and CLI are two equal, first-class entry points. Each hosts its own PowerPointMcp Service that manages presentation sessions — the MCP Server runs it in-process (direct calls, no pipe), while the CLI uses a background daemon over a named pipe so sessions persist across CLI invocations:
┌──────────────────────┐ ┌──────────────────────┐
│ MCP Server │ │ CLI (pptcli) │
│ (AI assistants) │ │ (coding agents) │
└──────────┬───────────┘ └──────────┬───────────┘
│ in-process │ named pipe →
│ (direct calls) │ background daemon
▼ ▼
┌──────────────────────┐ ┌──────────────────────┐
│ PowerPointMcp │ │ PowerPointMcp │
│ Service │ │ Service │
│ (session mgmt) │ │ (daemon; sessions │
│ │ │ persist across │
│ │ │ CLI invocations) │
└──────────┬───────────┘ └──────────┬───────────┘
▼ ▼
Core Commands Core Commands
▼ ▼
┌──────────────────────┐ ┌──────────────────────┐
│ PowerPoint COM API │ │ PowerPoint COM API │
│ (PowerPoint. │ │ (PowerPoint. │
│ Application) │ │ Application) │
└──────────────────────┘ └──────────────────────┘
Both entry points share the same Core Commands codebase, so every operation behaves identically. They are separate processes, though: each runs its own PowerPointMcp Service and its own PowerPoint instance, and they do not share live sessions with each other.
Key Benefits:
- ✅ Two equal entry points — every operation works identically through the MCP Server and
the CLI
- ✅ Persistent CLI sessions — the CLI daemon keeps presentations open across multiple
pptcli calls, so scripts don't re-open files each time
- ✅ In-process MCP calls — the MCP Server runs the service in-process (no pipe) for
low-latency automation
- ✅ Real PowerPoint automation — drives the actual
PowerPoint.Applicationvia COM, not just
file parsing
- ✅ Export-to-verify — close the loop on every visual change with a real rendered image
⭐ GitHub Star History
[](https://github.com/sbroenne/mcp-server-powerpoint/stargazers)
Updated daily from GitHub's stargazer data.
📋 Additional Information
📚 [MCP Server Guide →](src/PowerPointMcp.McpServer/README.md) | [CLI Guide →](src/PowerPointMcp.CLI/README.md) | [Agent Skills →](skills/README.md)
📖 Complete Feature Reference • Installation Guide • Changelog • Contributing • Security • Privacy
License: MIT License — see [LICENSE](LICENSE)
Built With: This entire project was developed using GitHub Copilot AI assistance.
Acknowledgments:
- Microsoft PowerPoint Team — for comprehensive COM automation APIs
- Model Context Protocol community — for the AI integration standard
- mcp-server-excel — the sibling project this
architecture and tooling is ported from
Related Projects
Other projects by the author:
- Excel MCP Server — AI-powered Excel automation via Power Query,
DAX, VBA, and PivotTables
- Windows MCP Server — AI-powered Windows automation via MCP
- OBS Studio MCP Server — AI-powered OBS Studio
automation
- pytest-skill-engineering — LLM-powered
testing framework for AI agents
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: sbroenne
- Source: sbroenne/mcp-server-powerpoint
- License: MIT
- Homepage: https://powerpointmcpserver.dev/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.