Sbroenne.PowerPointMcp.McpServer
0.2.0
{ "servers": { "sbroenne.powerpointmcp.mcpserver": { "type": "stdio", "command": "dnx", "args": ["sbroenne.powerpointmcp.mcpserver@0.2.0", "--yes"] } } }
.vscode/mcp.json settings file.
dotnet tool install --global Sbroenne.PowerPointMcp.McpServer --version 0.2.0
dotnet new tool-manifest
dotnet tool install --local Sbroenne.PowerPointMcp.McpServer --version 0.2.0
#tool dotnet:?package=Sbroenne.PowerPointMcp.McpServer&version=0.2.0
nuke :add-package Sbroenne.PowerPointMcp.McpServer --version 0.2.0
MCP Server for PowerPoint
mcp-name: io.github.sbroenne/mcp-server-powerpoint
A Model Context Protocol server that automates Microsoft PowerPoint for AI assistants. It drives a live PowerPoint desktop instance via COM automation, so decks are created and edited exactly as they would be by hand — then exported to images so an AI can visually verify its own work.
Windows only. Requires Microsoft PowerPoint (desktop) to be installed.
Install
dotnet tool install --global Sbroenne.PowerPointMcp.McpServer
This installs the mcp-powerpoint command. Point your MCP client (Claude
Desktop, VS Code, GitHub Copilot, etc.) at it over stdio:
{
"mcpServers": {
"powerpoint": {
"command": "mcp-powerpoint"
}
}
}
Capabilities
16 tools with 187 operations across 16 domains:
| Tool | Ops | Coverage |
|---|---|---|
presentation |
20 | create, open, Save As, Save Copy As, close, list, templates, get/set final, document properties, string tags |
slide |
23 | slide lifecycle, backgrounds, sections, comments, import, string tags |
shape |
47 | shape creation, styling, grouping, hyperlinks, placeholders, string tags, get-link-info, update-link, break-link, set-link-auto-update |
textframe |
20 | text content, font formatting, alignment, bullets, auto-size |
table |
12 | tables, cell text, row/column edits, cell fill/border, merge |
notes |
2 | set/get speaker notes |
layout |
4 | set/get slide layout |
pagesetup |
5 | slide size, numbering, footer, date/time |
accessibility |
3 | deterministic audit and reading order |
master |
11 | theme color palettes, title/body placeholder fonts, solid + gradient master backgrounds |
animation |
5 | shape effects, transition read/write |
image |
7 | add picture, brightness/contrast, recolor, crop |
media |
2 | add embedded/linked audio or video, get native media info |
chart |
16 | charts, series, titles, legend, data replacement, styles, colors, data tables |
smartart |
7 | SmartArt insertion and node editing |
export |
3 | export to PDF or images |
Every domain is exposed as a single action-dispatch tool taking an action
parameter — including presentation. Example MCP calls:
presentation(action="create", filePath="C:\\Decks\\demo.pptx")presentation(action="apply-template", sessionId="...", templatePath="C:\\Templates\\brand.potx")chart(action="add-chart", session_id="...", slide_index=2, ...)
How it works
ComInterop (STA thread + OLE message filter) → Core (domain command classes) →
PowerPointMcp.Service (shared service layer) → McpServer (stdio host, calling the service
in-process) and CLI (talks to the same service via a background named-pipe daemon). Each open
presentation is a session identified by a sessionId; tools operate on a session until it is
closed.
Links
- Documentation: https://powerpointmcpserver.dev
- Source: https://github.com/sbroenne/mcp-server-powerpoint
Licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
See https://github.com/sbroenne/mcp-server-powerpoint/releases for release notes