Sbroenne.PowerPointMcp.McpServer 0.3.2

{
  "servers": {
    "Sbroenne.PowerPointMcp.McpServer": {
      "type": "stdio",
      "command": "dnx",
      "args": ["Sbroenne.PowerPointMcp.McpServer@0.3.2", "--yes"]
    }
  }
}
                    
This package contains an MCP Server. The server can be used in VS Code by copying the generated JSON to your VS Code workspace's .vscode/mcp.json settings file.
dotnet tool install --global Sbroenne.PowerPointMcp.McpServer --version 0.3.2
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Sbroenne.PowerPointMcp.McpServer --version 0.3.2
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Sbroenne.PowerPointMcp.McpServer&version=0.3.2
                    
nuke :add-package Sbroenne.PowerPointMcp.McpServer --version 0.3.2
                    

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

32 tools with 215 operations across 17 domains:

Tool Ops Coverage
presentation 20 create, open, Save As, Save Copy As, close, list, templates, get/set final, document properties, string tags
slide 26 slide lifecycle, visibility, backgrounds, sections, comments, import, string tags
shape 57 shape creation, free-floating and attached connectors, editable WordArt, per-axis 3D rotation, alignment/distribution, styling, grouping, boolean merging, hyperlinks, placeholders, string tags, copy-formatting, duplicate, copy-to-slide, get-link-info, update-link, break-link, set-link-auto-update
textframe 22 text content, find/replace, 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 12 theme color/font inspection, title/body placeholder fonts, solid + gradient master backgrounds
animation 5 shape effects, transition read/write
image 16 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
customshow 3 named custom shows: curated, ordered subsets of a presentation's slides

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", presentation_session_id="...", templatePath="C:\\Templates\\brand.potx")
  • chart(action="add-chart", presentation_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 presentation_session_id; tools operate on a session until it is closed.

Licensed under the MIT License.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.3.2 125 10/8/2026
0.3.1 101 10/7/2026
0.3.0 151 10/2/2026
0.2.1 167 9/28/2026
0.2.0 253 9/11/2026
0.1.8 141 9/11/2026
0.1.7 168 9/8/2026
0.1.6 281 8/27/2026
0.1.5 215 8/25/2026
0.1.4 374 7/28/2026
0.1.3 241 7/28/2026
0.1.1 159 7/22/2026
0.1.0 183 7/11/2026
0.0.2 154 7/9/2026
0.0.1 131 7/9/2026