ppt-engine-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ppt-engine-mcpExport presentation.pptx to PDF"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ppt-engine-mcp
A local MCP server that drives the real PowerPoint desktop application (COM automation) to do the one thing python-pptx fundamentally cannot: render — true-fidelity PDF export and per-slide image export.
Design philosophy: this server complements library workflows instead of replacing them. Building slides and filling text is faster with python-pptx — but no library has PowerPoint's render engine. This MCP handles only the engine-exclusive part, keeping its tool surface tiny (4 tools).
Requirements
Windows 10+ with a logged-in interactive desktop session (PowerPoint has no true headless mode)
Microsoft Office (PowerPoint) installed and licensed — verified on Office 2016+ (PowerPoint 16.0)
Python 3.10+ — verified on 3.12
Claude Code or any MCP client
Related MCP server: PowerPoint MCP Server
Install
git clone https://github.com/Feynman520/d01-p03-ppt-engine-mcp.git
cd d01-p03-ppt-engine-mcp
py -3.12 -m venv .venv # or: python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txtRegister with Claude Code
Run this in the cloned folder (uses absolute paths, so it works from anywhere afterwards):
claude mcp add ppt-automation --scope user -- "$PWD\.venv\Scripts\python.exe" "$PWD\server.py"--scope user makes it available in every project. Use --scope project to limit it to one project.
Verify
$py = ".\.venv\Scripts\python.exe"; $env:PYTHONUTF8 = "1"
& $py tests\smoke_com.py # COM PDF / slide image rendering / zombie cleanup
& $py tests\server_tools.py # MCP tool registration (does not launch PowerPoint)Tools (2 core + 2 diagnostics)
# | Tool | Input → Output | Why engine-only |
① |
|
| PowerPoint render engine PDF (python-pptx has no render engine) |
② |
|
| Renders each slide to an image (thumbnails, previews, embedding in documents) |
— |
| → | Session check (launches PowerPoint on first call) |
— |
| → | Recovery from COM errors |
Typical flow: build a .pptx with python-pptx → ppt_export_pdf for the distributable PDF /
ppt_export_images for slide thumbnails.
Originals are never modified; results are always written to out_path/out_dir.
Architecture notes
Single STA worker thread (
engine/session.py): every PowerPoint call is serialized onto one dedicated thread (win32com COM objects are thread-bound; FastMCP may hop threads).Lazy session: PowerPoint starts on the first tool call, is reused, and closes with the server.
DispatchEx+ early binding (gencache.EnsureDispatch): a dedicated instance with type-library calls. PDF viaPresentation.SaveAs(path, 32 /* ppSaveAsPDF */), images viaSlide.Export(path, "PNG", w, h).No
Visible=False: unlike Excel/Word, PowerPoint throws when you hide the app window — instead presentations are opened windowless viaPresentations.Open(..., WithWindow=msoFalse).Zombie prevention: PowerPoint gives no usable window handle, so the dedicated instance PID is identified by diffing the
POWERPNT.EXEprocess list before/afterDispatchEx, and force-killed at shutdown if it survivesQuit().RPC-rejection retry / stdout protection: same as excel-engine-mcp.
Limitations
Not suitable for unattended/service sessions (needs an interactive desktop).
Slide creation/editing is faster with python-pptx — that is by design.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate, edit, merge, translate and PDF-convert PowerPoint (.pptx) over MCP. 8 tools.
Generate PDF, Word (.docx) and PowerPoint (.pptx) documents from Markdown over MCP.
Generate professional PowerPoint presentations from text, YouTube videos, or structured JSON data.…
Markdown to editable PowerPoint, Word, PDF; checks, edits and previews RDLC/RDL reports.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to create and manipulate PowerPoint presentations programmatically, including adding slides, exporting to PDF, and reading metadata.17 npm5MIT
- AlicenseNot gradedqualityDmaintenanceEnables PowerPoint automation on Windows, including template-based creation, real-time editing, LaTeX equations, animations, and multimodal slide analysis, all via natural language.402 PyPI117MIT
- FlicenseNot gradedqualityDmaintenanceFull-featured PowerPoint MCP server with cross-platform support (Windows native, macOS designed). Control PowerPoint programmatically via the Model Context Protocol — 153 tools covering slides, shapes, text, formatting, charts, tables, animations, and more.-
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to automate Microsoft PowerPoint through natural language, supporting slide creation, text formatting, charts, animations, and export via the COM API.40MIT