PPTX MCP Server

by samos123
Apache 2.0
7
  • Linux
  • Apple

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

  1. Install Python dependencies:
    pip install -r requirements.txt
    (Or see pyproject.toml for dependencies)
  2. 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

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 (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.

-
security - not tested
A
license - permissive license
-
quality - not tested

A FastMCP-powered server for programmatically creating, editing, and rendering PowerPoint (PPTX) presentations with features for slide creation, content insertion, and PNG rendering.

  1. Features
    1. Requirements
      1. Installation
        1. Usage
          1. API Overview
            1. Presentations & Templates
              1. License

                Related MCP Servers

                • A
                  security
                  A
                  license
                  A
                  quality
                  A powerful MCP server for fetching and transforming web content into various formats (HTML, JSON, Markdown, Plain Text) with ease.
                  Last updated -
                  4
                  146
                  12
                  TypeScript
                  MIT License
                  • Apple
                  • Linux
                • A
                  security
                  A
                  license
                  A
                  quality
                  Creates and manipulates PowerPoint presentations with capabilities for adding various slide types, generating images, and incorporating tables and charts through natural language commands.
                  Last updated -
                  11
                  24
                  Python
                  MIT License
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  A 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 -
                  Python
                  Apache 2.0
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  A 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 -
                  43
                  Python
                  MIT License
                  • Linux
                  • Apple

                View all related MCP servers

                ID: p6bie4tj1u