Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"pptx-mcp": {
"args": [
"python-dotenv"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
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).
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'python-dotenv' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
PYSEC-2026-2270
python-dotenv reads key-value pairs from a .env file and can set them as environment variables. Prior to version 1.2.2, `set_key()` and `unset_key()` in python-dotenv follow symbolic links when rewriting `.env` files, allowing a local attacker to overwrite arbitrary files via a crafted symlink when a cross-device rename fallback is triggered. Users should upgrade to v.1.2.2 or, as a workaround, apply the patch manually.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in productivity
Dynamic problem-solving through sequential thought chains
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
Persistent memory using a knowledge graph
MCP server for monday.com integration.
MCP Security Weekly
Get CVE alerts and security updates for Pptx Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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).
Install Python dependencies:
pip install .
(Installs from pyproject.toml for dependencies)
Optional: Install python-dotenv for development environment variables:
pip install python-dotenv
Install LibreOffice (for image rendering):
sudo pacman -S libreoffice-fresh or sudo apt install libreofficebrew install --cask libreofficeStart 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:
python server.py
Or (for development with FastMCP):
fastmcp dev server.py
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/ directory.presentations/templates/.See LICENSE for details.