MCP Server for PowerPoint
PowerPoint automation for AI: slides, shapes, tables, charts, images, notes. Windows only.
Open source Open in the app JSON README (API)
About
PowerPoint automation for AI: slides, shapes, tables, charts, images, notes. Windows only.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- sbroenne
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.6
- Stars
- 19
- Forks
- 2
- Open pull requests
- 1
- Last push
- 2026-09-05T13:51:34Z
- Repository state
- ativo
- Language
- C#
- License
- MIT
- Added
- 2026-08-29 04:01:22
- Updated
- 2026-08-29 04:01:22
- Origin id
io.github.sbroenne/mcp-server-powerpoint
README
# 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/ci.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](https://modelcontextprotocol.io) server and CLI
for live, real-time PowerPoint automation through conversational AI. Sibling project to
[mcp-server-excel](https://github.com/sbroenne/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(action="export-slide-to-image", ...)` /
`export(action="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](https://excelmcpserver.dev/) —
> the sister project, built the same way.
## 🎯 What You Can Do
**16 MCP tools with 186 operations across 16 domains:**
- 🗂️ **Presentation** (20 ops) — create, open, Save As, Save Copy As, close, list sessions, apply a
`.potx`/`.pptx` template's masters/theme/layouts, read the current theme name, set/read
PowerPoint's advisory Mark as Final flag, read/write built-in and custom document properties,
and manage string tags
- 📑 **Slide** (23 ops) — lifecycle, backgrounds, sections, comments, slide import, and string tags
- ▭ **Shape** (47 ops) — shapes, styling, grouping, hyperlinks, linked assets, placeholder editing,
and string tags
- ✏️ **TextFrame** (20 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** (4 ops) — set/get slide layout
- 📐 **Page Setup** (5 ops) — slide size, first slide number, footer, date/time, slide numbers
- ♿ **Accessibility** (3 ops) — deterministic audit and reading-order management
- 🎭 **Master** (10 ops) — slide master title/body placeholder fonts, background color
- 🎬 **Animation** (5 ops) — shape entrance/emphasis/exit effects, slide transitions
- 🖼️ **Image** (7 ops) — insert embedded or linked pictures and adjust brightness, contrast,
recolor, and crop
- 📈 **Chart** (16 ops) — add chart, multi-series data, titles, legend, built-in styles, color styles,
and data tables
- 🎧 **Media** (2 ops) — insert embedded or linked audio/video and inspect native media metadata
- 🔀 **SmartArt** (7 ops) — insert and edit SmartArt diagrams
- 🖼️ **Export** (3 ops) — export to PDF or images for delivery and visual verification
Every domain is exposed as a single **action-dispatch tool** (e.g. `shape`, `table`, `chart`,
`presentation`) with an `action` parameter selecting the specific operation — keeping the tool
list small for AI assistants while still exposing every operation.
📚 **[Complete Feature Reference →](https://powerpointmcpserver.dev/features/)** — 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 `.pptx` decks
- ✅ 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](https://marketplace.visualstudio.com/items?itemName=sbroenne.powerpoint-mcp) (one-click, recommended) |
| **Claude Desktop** | Download `.mcpb` from [latest release](https://github.com/sbroenne/mcp-server-powerpoint/releases/latest) |
| **Any MCP Client** | Download `mcp-powerpoint.exe` from [latest release](https://github.com/sbroenne/mcp-server-powerpoint/releases/latest) and add to PATH |
| **Details** | 📖 [Full Installation Guide →](https://powerpointmcpserver.dev/installation/) |
**⚠️ 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:**
```powershell
# 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
```
```powershell
# 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.Application` via 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)
Bootstrapped from exact authenticated stargazer timestamps, then updated daily from
GitHub's exact public star count. Only date/count aggregates are retained.
## 📋 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](https://powerpointmcpserver.dev/features/)** •
**[Installation Guide](https://powerpointmcpserver.dev/installation/)** •
**[Changelog](https://powerpointmcpserver.dev/changelog/)** •
**[Native Feature Roadmap](docs/POWERPOINT-NATIVE-FEATURE-AUDIT.md)** •
**[Contributing](https://powerpointmcpserver.dev/contributing/)** •
**[Security](https://powerpointmcpserver.dev/security/)** •
**[Privacy](https://powerpointmcpserver.dev/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](https://github.com/sbroenne/mcp-server-excel) — the sibling project this
architecture and tooling is ported from
## Related Projects
Other projects by the author:
- [Excel MCP Server](https://excelmcpserver.dev/) — AI-powered Excel automation via Power Query,
DAX, VBA, and PivotTables
- [Windows MCP Server](https://windowsmcpserver.dev/) — AI-powered Windows automation via MCP
- [OBS Studio MCP Server](https://github.com/sbroenne/mcp-server-obs) — AI-powered OBS Studio
automation
- [pytest-skill-engineering](https://github.com/sbroenne/pytest-skill-engineering) — LLM-powered
testing framework for AI agents