nuget Sbroenne.PowerPointMcp.McpServerstdioMITupdated 8d ago
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.
Was kannst du mit MCP Server for PowerPoint machen?
PowerPointMcp β MCP Server & CLI for Microsoft PowerPoint
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(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 β 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/.pptxtemplate'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 β β 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 addis 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
pptclicalls, 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
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 β | CLI Guide β | Agent Skills β
π Complete Feature Reference β’ Installation Guide β’ Changelog β’ Native Feature Roadmap β’ Contributing β’ Security β’ Privacy
License: MIT License β see 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
Installation
MCP Server for PowerPoint zu deinem Client hinzufΓΌgen. WΓ€hl den, den du nutzt.
claude mcp add sbroenne-powerpointmcp-mcpserver -- dnx Sbroenne.PowerPointMcp.McpServer --yescodex mcp add sbroenne-powerpointmcp-mcpserver -- dnx Sbroenne.PowerPointMcp.McpServer --yesamp mcp add sbroenne-powerpointmcp-mcpserver -- dnx Sbroenne.PowerPointMcp.McpServer --yes{
"mcpServers": {
"sbroenne-powerpointmcp-mcpserver": {
"command": "dnx",
"args": [
"Sbroenne.PowerPointMcp.McpServer",
"--yes"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"sbroenne-powerpointmcp-mcpserver": {
"command": "dnx",
"args": [
"Sbroenne.PowerPointMcp.McpServer",
"--yes"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"sbroenne-powerpointmcp-mcpserver","command":"dnx","args":["Sbroenne.PowerPointMcp.McpServer","--yes"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"sbroenne-powerpointmcp-mcpserver": {
"command": "dnx",
"args": [
"Sbroenne.PowerPointMcp.McpServer",
"--yes"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"sbroenne-powerpointmcp-mcpserver": {
"command": "dnx",
"args": [
"Sbroenne.PowerPointMcp.McpServer",
"--yes"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"sbroenne-powerpointmcp-mcpserver": {
"command": "dnx",
"args": [
"Sbroenne.PowerPointMcp.McpServer",
"--yes"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"sbroenne-powerpointmcp-mcpserver": {
"type": "local",
"command": "dnx",
"args": [
"Sbroenne.PowerPointMcp.McpServer",
"--yes"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"sbroenne-powerpointmcp-mcpserver": {
"command": {
"path": "dnx",
"args": [
"Sbroenne.PowerPointMcp.McpServer",
"--yes"
]
}
}
}
}Add to your Zed `settings.json`.
dnx Sbroenne.PowerPointMcp.McpServer --yesRun `goose configure`, choose **Add Extension β Command-line Extension**, and paste this command.
Score
39 / 100
UnvollstΓ€ndig
- Dokumentation25/25
- Pflege25/25
- Vertrauen13/20
- Funktionsumfang0/15
- Installation12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Versionsverlauf
| Versionen | VerΓΆffentlicht |
|---|---|
| 0.1.6Aktuell | 27. Aug. 2026 |
| 0.1.5 | 25. Aug. 2026 |
| 0.1.4 | 28. Juli 2026 |
| 0.1.3 | 28. Juli 2026 |
| 0.1.1 | 22. Juli 2026 |
| 0.1.0 | 11. Juli 2026 |
| 0.0.2 | 9. Juli 2026 |