Used for rendering PowerPoint slides as PNG images, enabling visual export of presentation content for preview or sharing purposes.
Leverages Python libraries like python-pptx for programmatically creating and manipulating PowerPoint presentations, enabling slide creation, content insertion, and presentation formatting.
Click on "Install 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., "@PPTX MCP Serveradd a slide with title 'Quarterly Results' and bullet points for revenue, expenses, and profit"
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.
PPTX MCP Server
A FastMCP-powered server for programmatically creating, editing, and rendering PowerPoint (PPTX) presentations. Supports slide creation, text and shape insertion, image embedding, and slide rendering to PNG (with LibreOffice).
Features
Create/Clear Presentations: Start new or reset existing PPTX files.
Add Slides: Insert slides with customizable layouts.
Text & Content: Add titles, content, and custom textboxes to slides.
Shapes: Insert a wide variety of PowerPoint shapes (including flowchart elements).
Images: Embed images into slides.
Slide Description: Get a textual summary of slide contents for verification.
Slide Rendering: Render slides as PNG images (requires LibreOffice).
Download PPTX: Download the generated presentation file.
Related MCP server: PowerPoint MCP Server
Requirements
Python 3.12+
LibreOffice (for slide image rendering; must be installed separately and available in your system PATH)
python-dotenv (for development environment configuration)
Installation
Install Python dependencies:
pip install .(Installs from
Optional: Install python-dotenv for development environment variables:
pip install python-dotenvInstall LibreOffice (for image rendering):
Linux:
sudo pacman -S libreoffice-freshorsudo apt install libreofficemacOS:
brew install --cask libreofficeWindows: Download from libreoffice.org
Usage
Start the server:
For development with environment variables:
You can set the server's host and port using environment variables:
HOST(default:127.0.0.1)PORT(default:8000)
For example, to run on all interfaces and port 9000:
OR
Create/edit the .env file in the project root:
For example, to run on all interfaces and port 9000:
Load the environment variables when starting the server:
Or (for development with FastMCP):
API Overview
The server exposes tools and resources via FastMCP, including:
create_or_clear_presentation(filename)add_slide(filename, layout_index)add_title_and_content(filename, slide_index, title, content)add_textbox(filename, slide_index, text, left_inches, top_inches, width_inches, height_inches, font_size_pt, bold)add_shape(filename, slide_index, shape_type_name, left_inches, top_inches, width_inches, height_inches, text)add_picture(filename, slide_index, image, left_inches, top_inches, width_inches, height_inches)get_slide_content_description(filename, slide_index)get_slide_image(filename, slide_index)(requires LibreOffice)get_pptx_file(filename)
See the code for full parameter details and available shape types.
Presentations & Templates
Presentations are saved in the
presentations/directory.You can add your own templates in
presentations/templates/.
License
See LICENSE for details.