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.
python-dotenv: Symlink following in set_key allows arbitrary file overwrite via cross-device rename fallback
### Summary `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. ### Details The `rewrite()` context manager in `dotenv/main.py` is used by both `set_key()` and `unset_key()` to safely modify `.env` files. It works by writing to a temporary file (created in the system's default temp directory, typically `/tmp`) and then us
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
Persistent memory using a knowledge graph
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
Official Miro MCP server - Supports context to code and creating diagrams, docs, and data tables.
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.