PowerPoint MCP servers compared: open-source vs hosted
A PowerPoint MCP server is a program that exposes PowerPoint-building tools to an AI agent over the Model Context Protocol. The agent calls it in plain language to create slides, add text and charts, and save a .pptx file. Most are open-source and wrap the python-pptx library; a few are hosted services you connect to over HTTP.
I build heydecks, which runs a hosted PowerPoint MCP server, so I have a stake here and I'll say so up front. But most of what ranks for this query is open-source, and for good reason: the community servers that wrap python-pptx are free, flexible, and genuinely useful. This post covers both routes, the self-hosted open-source one and the hosted one, with the real setup for each, so you can pick what fits what you're building. If MCP itself is new to you, start with what MCP is and come back.
#What are the open-source PowerPoint MCP servers?
Almost everything on page one for "powerpoint mcp" is open-source and self-hosted. The most visible is GongRzhe's Office-PowerPoint-MCP-Server, which tops the Google results and also ships on PyPI as office-powerpoint-mcp-server. Behind it sit charleslukowski's ppt_mcp, ichigo3766's powerpoint-mcp, and a server from Jens Tangen, all listed across directories like mcpservers.org, PulseMCP, and MCP Market. They run on one engine: python-pptx, the Python library for reading and writing .pptx files. The MCP server is a thin layer that hands those library calls to your agent as tools.
These are free and mostly MIT-licensed. One author posted his to r/powerpoint and said plainly it was open source and not something he was trying to make money from, which is the spirit of the whole category. You get tools to create a presentation, add slides, drop in text, images, tables, and charts, and apply a layout or theme, then save the file. Because python-pptx writes the real OpenXML under a .pptx, the output opens in PowerPoint as editable slides, not pictures.
#How do you set up a self-hosted python-pptx MCP server?
You run it on your own machine and connect over stdio, the local transport MCP uses for processes the host launches. The exact commands differ per repo, but the shape is the same: install the Python package or clone the repo, then register the server with your host as a command it starts. The general config looks like this:
{
"mcpServers": {
"powerpoint": {
"command": "uvx",
"args": ["<the-server-package>"]
}
}
}Some ship as a uv/uvx package you can run without a manual install; others want a git clone, a pip install -r requirements.txt, and a python server.py. Read the specific repo's README for the package name and arguments, since they vary. Once it's registered and you restart the host, your agent sees the tools and writes a .pptx to a path you give it.
What you're signing up for is ownership, and that cuts both ways. You keep the Python version working, you update when python-pptx changes under you, and if you want the deck to look like your company rather than the default white template, you build that styling yourself in code. For a developer who lives in Python and wants total control, that's a feature. For someone who just wants on-brand slides out of an agent, it's an afternoon.
#What does a hosted PowerPoint MCP server give you instead?
A hosted server runs the work for you and connects over HTTP, so there's no Python environment to babysit and no process to keep alive. This is the lane heydecks is in. heydecks is the AI slide creator that AI agents call over REST or MCP. From a prompt, markdown, or a URL it returns a live deck link, a PDF, and a native, editable PowerPoint, every export locked to your brand by the Brand Kernel.
Setup is one line in Claude Code:
claude mcp add --transport http heydecks https://heydecks.com/mcpThe first call opens a browser to sign in with standard OAuth, so nothing gets pasted into your shell history. Cursor takes the same URL as a short JSON block:
{ "mcpServers": { "heydecks": { "url": "https://heydecks.com/mcp" } } }For a headless box or CI, mint an mcp_ token in the dashboard and pass it as a --header "Authorization: Bearer mcp_...", or run npx heydecks install to wire up Claude Desktop, Claude Code, and Cursor in one step. The heydecks MCP server is a structured deck store, not a second AI writing copy behind your back: your agent designs the deck and writes every word, and the tools persist exactly what it sends. It's one entry on a longer list of the best MCP servers, and the per-host commands are in the Claude MCP walkthrough. It is not an upload-and-convert tool; you bring the content and it builds the artifact.
#Open-source vs hosted PowerPoint MCP: how do they compare?
The split comes down to who does the work. An open-source server costs nothing in money and a fair bit in setup and styling; a hosted one trades credits for not running anything and gives you brand-locked exports without templating in code. Here's the same trade laid out.
| Dimension | Open-source, self-hosted | Hosted (heydecks) |
|---|---|---|
| Setup | Clone or install, register over stdio, keep it running | One claude mcp add line, OAuth in the browser |
| Transport | stdio (a local process) | HTTP (a remote URL) |
| Brand control | You template it yourself in python-pptx, or it ships generic | Every export locked to your brand by the Brand Kernel |
| Output | A .pptx your agent builds call by call with the library | A live link, a PDF, and a native editable .pptx from one call |
| Maintenance | Yours: Python version, dependencies, breakage | Managed; nothing to run |
| Cost | Free, minus your compute and time | Credits per deck; reading, editing, and exports free |
Neither column is the winner in the abstract. The right one depends on whether the scarce resource on your side is money or time, and on how much the output needs to look like a real company put it together.
#Which PowerPoint MCP server should you choose?
Pick the open-source route when you want full control, you're comfortable in Python, and a plain-looking .pptx is fine or you'll style it yourself. The python-pptx servers run offline, cost nothing, and you can fork one and bend it to anything the library can express, which for internal tooling is often exactly right. GongRzhe's Office-PowerPoint-MCP-Server is the usual starting point because it's the most maintained and the easiest to install from PyPI.
Reach for a hosted server when the deck has to look like your brand and you'd rather not stand up a Python service to get there. That's the case where the Brand Kernel earns its place: colors, fonts, and logo applied to every export, plus a live link and a PDF beside the editable .pptx, all from a single call. If you're already building Claude-generated PowerPoints, the hosted path drops in as the one line above and your agent keeps writing the content itself.
#Can you generate a PowerPoint over REST instead of MCP?
Yes, and for some workloads it's the better door. MCP is what you want when your agent should design the deck slide by slide in a conversation; the REST API is what you want when you need a deck from a single call inside a script or a backend job. You POST a prompt to /v1/generate and heydecks builds it:
curl -X POST https://heydecks.com/v1/generate \
-H "Authorization: Bearer hd_live_..." \
-H "Content-Type: application/json" \
-d '{"input": "Q3 board update: revenue up 18%, three risks, ask for budget approval"}'It returns a job id you poll until the deck is ready, then you publish it and pull the same PDF and .pptx exports. Both doors are covered in the developer docs, and the heydecks API page has the full request and response shapes.
Here's a deck heydecks built from a single URL, rendered on a sample brand. Click through it.
See the MCP server to wire it into your agent, or try the API for free to do the same thing over REST.
#Frequently asked questions
#Is there a free PowerPoint MCP server?
Yes. Most of the servers that rank for this query are free and open-source, usually MIT-licensed, and they wrap the python-pptx library. You run them yourself over stdio. The cost shows up as setup and styling rather than dollars: you maintain the Python environment, and any brand look is yours to build in code.
#What is the best PowerPoint MCP server?
There isn't a single best one; it depends on the job. For full control at zero cost, the open-source python-pptx servers like GongRzhe's Office-PowerPoint-MCP-Server are the common pick. For brand-locked, editable exports without running a service yourself, a hosted server such as heydecks fits better.
#Does a PowerPoint MCP server work with Claude and Cursor?
Yes. Open-source servers connect to Claude Desktop, Claude Code, and Cursor over stdio as a local command. Hosted servers like heydecks connect over HTTP with one claude mcp add line or a small JSON block in Cursor. The Claude MCP guide has the exact commands per host.
#Can a PowerPoint MCP server make an editable .pptx, not just images?
Yes. The python-pptx servers write real .pptx files slide by slide, so they open as editable PowerPoint. heydecks returns a native, editable PowerPoint too, real slides rather than flattened images, alongside a live deck link and a PDF, with every export locked to your brand.
Keep reading
