Create, edit, and export presentations with AI. Requires desktop Microsoft PowerPoint on Windows.
Runs on your machine from its package; the steps are below.
At most: creates or changes data: records, files, settings.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Published to NuGet as `Sbroenne.PowerPointMcp.McpServer` — run it with your .NET MCP host.
Run
npx -y @sbroenne/mcp-server-powerpoint
MCP client config
{
"mcpServers": {
"mcp-server-for-powerpoint": {
"command": "npx",
"args": [
"-y",
"@sbroenne/mcp-server-powerpoint"
]
}
}
}Create and edit real PowerPoint presentations with AI assistants or scripts.
Build a new deck or update an existing .pptx file. Add slides, format text and
shapes, create charts and tables, insert images, and write speaker notes using
the installed Microsoft PowerPoint desktop application on Windows.
Choose how you work. Connect your AI assistant through the
Model Context Protocol server, use the VS Code
extension with GitHub Copilot Chat, or run pptcli from terminal commands and
scripts. The packages require desktop PowerPoint; they do not replace it.
Review the actual result. The MCP server can export presentations to PDF or render slides as images through PowerPoint. An assistant that can inspect images can then check for overlapping shapes, text overflow, and layout problems before you share the presentation.
Technical Requirements:
Tip
Also automating spreadsheets? Check out Excel MCP Server — the sister project, built the same way.
32 MCP tools with 215 operations across 17 domains:
The tool total includes 15 read-only aliases; the operation total counts each unique action once.
.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 tagsEvery 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
Build a deck from scratch:
Tables & charts:
Formatting & shapes:
Speaker notes:
Templates & themes:
Visual verification:
Perfect for:
.pptx decksNot suitable for:
| Platform | Installation |
|---|---|
| VS Code | Install Extension (one-click, recommended) |
| Claude Desktop | Download .mcpb from latest release (requires Node.js 18+) |
| Any MCP Client | Run npx -y @sbroenne/mcp-server-powerpoint@latest |
| 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.
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: npm launchers select the matching native x64 or ARM64 Windows runtime
npx -y @sbroenne/mcp-server-powerpoint@latest
npx -y @sbroenne/pptcli@latest --help
# Alternatives: standalone release archives or .NET tools (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.).
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:
pptcli calls, so scripts don't re-open files each timePowerPoint.Application via COM, not just
file parsingBootstrapped from exact authenticated stargazer timestamps, then updated daily from GitHub's exact public star count. Only date/count aggregates are retained.
📚 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:
Other projects by the author: