Skip to main content

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

  1. Install Python dependencies:

    pip install .
    

    (Installs from pyproject.toml for dependencies)

  2. Optional: Install python-dotenv for development environment variables:

    pip install python-dotenv
    
  3. Install LibreOffice (for image rendering):

    • Linux: sudo pacman -S libreoffice-fresh or sudo 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:

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 for details.

Metadata

Release files for iflow-mcp_pptx-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_pptx-mcp-server 0.1.0
File Size Uploaded
iflow_mcp_pptx_mcp_server-0.1.0.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_pptx-mcp-server 0.1.0
File Interpreter ABI Platform
iflow_mcp_pptx_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.1 kB

Release files / iflow_mcp_pptx_mcp_server-0.1.0.tar.gz

Download URL iflow_mcp_pptx_mcp_server-0.1.0.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c0c5db6196725a619636c6197673c85c98fc5aaf83ef789c5440db44fee05fff
BLAKE2b-256 checksum
How to use checksums
49f28f8d313edef30a36956d20f5559802929a1a616682632e372e220dfe22ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_pptx_mcp_server-0.1.0-py3-none-any.whl

Download URL iflow_mcp_pptx_mcp_server-0.1.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fcaffee0fc70f8217fc4a529066867bd11cfa7d01d41436b7032ead620b50bbe
BLAKE2b-256 checksum
How to use checksums
2b0773382f71ea873b1bbd49da996e7eae19cb7d874c3f7977bbff269abe6be4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page