Zum Inhalt springen
MCP ThesaurusMCP Thesaurus

MCP Server for PowerPoint

CommunityIncomplete39/100Beanspruchen

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.

QuellcodeWebsite19

Was kannst du mit MCP Server for PowerPoint machen?

PowerPointMcp β€” MCP Server & CLI for Microsoft PowerPoint

VS Code Marketplace Downloads

CI Gate Release

License: MIT .NET Platform Built with Copilot

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/.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 β†’ β€” 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 (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 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

GitHub stars over time for PowerPointMcp

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

Other projects by the author: