Integrations
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.
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.
Requirements
- Python 3.12+
- python-pptx
- Pillow
- FastMCP
- LibreOffice (for slide image rendering; must be installed separately and available in your system PATH)
Installation
- Install Python dependencies:(Or seeCopy
pyproject.toml
for dependencies) - Install LibreOffice (for image rendering):
- Linux:
sudo pacman -S libreoffice-fresh
orsudo apt install libreoffice
- macOS:
brew install --cask libreoffice
- Windows: Download from libreoffice.org
- Linux:
Usage
Start the server:
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 (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.
This server cannot be installed
A FastMCP-powered server for programmatically creating, editing, and rendering PowerPoint (PPTX) presentations with features for slide creation, content insertion, and PNG rendering.
Related MCP Servers
- AsecurityAlicenseAqualityA powerful MCP server for fetching and transforming web content into various formats (HTML, JSON, Markdown, Plain Text) with ease.Last updated -414612TypeScriptMIT License
- AsecurityAlicenseAqualityCreates and manipulates PowerPoint presentations with capabilities for adding various slide types, generating images, and incorporating tables and charts through natural language commands.Last updated -1124PythonMIT License
- -securityAlicense-qualityA MCP server that provides browser automation tools, allowing users to navigate websites, take screenshots, click elements, fill forms, and execute JavaScript through Playwright.Last updated -PythonApache 2.0
- -securityAlicense-qualityA server that enables creating and editing PowerPoint presentations programmatically through the Model Context Protocol, supporting features like adding slides, images, textboxes, charts, and tables.Last updated -43PythonMIT License