create-presentationLABSCO SUMMARY
Typed slide layouts instead of one “make a slide” tool.
Because each layout is its own call, the model has to decide what kind of slide it is making — title, section header, content, table, chart, picture — and the deck comes out structured rather than as a wall of bullet points. Two things to remember: the deck is only written when the save tool is called, and image generation is optional, so leave the Stable Diffusion settings out if you are supplying your own pictures.
What it is
A Python MCP server that assembles .pptx files. You start a presentation, add typed slides to it, and save — and it can also open an existing deck and add to it.
What you get
create-presentationto start one,save-presentationto write it out,open-presentationto work on an existing file (which backs it up first)- Typed slide layouts:
add-slide-title-only,add-slide-section-header,add-slide-title-content add-slide-title-with-tablebuilds a table from the data you passadd-slide-title-with-chartbuilds a chart and picks the type it judges best for the dataadd-slide-picture-with-captionplaces an image with a caption, from your folder or from a generated onegenerate-and-save-imagecreates the image through a Stable Diffusion endpoint you point it at
Requirements
uv, and a folder path passed on the command line — every deck and image is read from and written to that folder. Image generation needs a running ForgeUI or Automatic1111 endpoint set in SD_WEBUI_URL, with SD_AUTH_USER and SD_AUTH_PASS if it requires authentication. Everything else works without it.
Setup effort
Build from source — git clone https://github.com/Ichigo3766/powerpoint-mcp.git
USE CASES
Turning an analysis into a deck
Create the presentation, add a title slide and content slides as the argument develops, then save.
Presenting numbers you just queried
Pass the rows straight into a table slide and the series into a chart slide, and let it pick the chart type.
Adding to a deck that already exists
Open the file — a backup copy is written automatically — append the new slides, and save.
Illustrating a slide without stock photos
Generate the image from a prompt into the working folder, then place it with a caption.
10 tools
Listed in project docs. Your client may show a different list.
add-slide-title-onlyadd-slide-section-headeradd-slide-title-contentadd-slide-title-with-tableadd-slide-title-with-chartadd-slide-picture-with-captionopen-presentationsave-presentationgenerate-and-save-imageBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
MacOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | shWindows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Clone the repo
git clone https://github.com/Ichigo3766/powerpoint-mcp.gitMCP Clients
Claude Desktop, Any MCP client
{
"mcpServers": {
"powerpoint": {
"command": "uv",
"env": {
"SD_WEBUI_URL": "http://<YOUR_SD_WEBUI_URL>:7860",
"SD_AUTH_USER": "<YOUR_SD_AUTH_USER>",
"SD_AUTH_PASS": "<YOUR_SD_AUTH_PASS>"
},
"args": [
"--directory",
"<YOUR_PATH_TO_POWERPOINT_MCP>",
"run",
"powerpoint",
"--folder-path",
"<YOUR_PATH_TO_DECKS_FOLDER>"
]
}
}
}<YOUR_PATH_TO_POWERPOINT_MCP> is the full path of the folder the clone created, and <YOUR_PATH_TO_DECKS_FOLDER> is the folder where decks and images are saved (put any images you want it to use there too). The SD_ settings are optional: keep them only if you run a Stable Diffusion WebUI, with SD_AUTH_USER and SD_AUTH_PASS only if it requires a login.