Install
$ agentstack add mcp-samos123-pptx-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
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)
- python-dotenv (for development environment configuration)
Installation
- Install Python dependencies:
``bash pip install . ` *(Installs from pyproject.toml` for dependencies)*
- Optional: Install python-dotenv for development environment variables:
``bash pip install python-dotenv ``
- Install LibreOffice (for image rendering):
- Linux:
sudo pacman -S libreoffice-freshorsudo apt install libreoffice - macOS:
brew install --cask libreoffice - Windows: Download from libreoffice.org
Usage
Start the server:
python server.py
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:
HOST=0.0.0.0 PORT=9000 python server.py
OR
Create/edit the .env file in the project root: For example, to run on all interfaces and port 9000:
HOST=0.0.0.0
PORT=9000
Load the environment variables when starting the server: ``bash python server.py ``
Or (for development with FastMCP):
fastmcp dev server.py
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](LICENSE) for details.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: samos123
- Source: samos123/pptx-mcp
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.