Skip to main content

A MCP server project that creates powerpoint presentations

Project description

powerpoint MCP server

A MCP server project that creates powerpoint presentations

Powerpoint Server MCP server

Components

Tools

The server implements multiple tools:

  • create-presentation: Starts a presentation
    • Takes "name" as required string arguments
    • Creates a presentation object
  • add-slide-title-only: Adds a title slide to the presentation
    • Takes "presentation_name" and "title" as required string arguments
    • Creates a title slide with "title" and adds it to presentation
  • add-slide-section-header: Adds a section header slide to the presentation
    • Takes "presentation_name" and "header" as required string arguments
    • Creates a section header slide with "header" (and optionally "subtitle") and adds it to the presentation
  • add-slide-title-content: Adds a title with content slide to the presentation
    • Takes "presentation_name", "title", "content" as required string arguments
    • Creates a title with content slide with "title" and "content" and adds it to presentation
  • add-slide-title-with-table: Adds a title slide with a table
    • Takes "presentation_name", "title", "data" as required string and array arguments
    • Creates a title slide with "title" and adds a table dynamically built from data
  • add-slide-title-with-chart: Adds a title slide with a chart
    • Takes "presentation_name", "title", "data" as required string and object arguments
    • Creates a title slide with "title" and adds a chart dynamically built from data. Attempts to figure out the best type of chart from the data source.
  • add-slide-picture-with-caption: Adds a picture with caption slide
    • Takes "presentation_name", "title", "caption", "image_path" as required string arguments
    • Creates a picture with caption slide using the supplied "title", "caption", and "image_path". Can either use images created via the "generate-and-save-image" tool or use an "image_path" supplied by the user (image must exist in folder_path)
  • open-presentation: Opens a presentation for editing
    • Takes "presentation_name" as required arguments
    • Opens the given presentation and automatically saves a backup of it as "backup.pptx"
    • This tool allows the client to work with existing pptx files and add slides to them. Just make sure the client calls "save-presentation" tool at the end.
  • save-presentation: Saves the presentation to a file.
    • Takes "presentation_name" as required arguments.
    • Saves the presentation to the folder_path. The client must call this tool to finalize the process.
  • generate-and-save-image: Generates an image for the presentation using a FLUX model
    • Takes "prompt" and "file_name" as required string arguments
    • Creates an image using the free FLUX model on TogetherAI (requires an API key)

Configuration

An environment variable is required for image generation via TogetherAI Register for an account: https://api.together.xyz/settings/api-keys

"env": {
        "TOGETHER_API_KEY": "api_key"
      }

A folder_path is required. All presentations and images will be saved to this folder.

"--folder-path",
        "/path/to/decks_folder"

Quickstart

Install

Make sure you have UV installed

MacOS/Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Clone the repo

git clone https://github.com/supercurses/powerpoint.git

Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

  • --directory: the path where you cloned the repo above
  • --folder-path: the path where powerpoint decks and images will be saved to. Also the path where you should place any images you want the MCP server to use.
  # Add the server to your claude_desktop_config.json
  "mcpServers": {
    "powerpoint": {
      "command": "uv",
      "env": {
        "TOGETHER_API_KEY": "api_key"
      },
      "args": [
        "--directory",
        "/path/to/powerpoint",
        "run",
        "powerpoint",
        "--folder-path",
        "/path/to/decks_folder"
      ]
    }

Usage Examples

Create a presentation about fish, create some images and include tables and charts
Create a presentation about the attached paper. Please use the following images in the presentation:
author.jpeg

Assuming you have SQLite MCP Server installed.

Review 2024 Sales Data table. Create a presentation showing current trends, use tables and charts as appropriate

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mseep_powerpoint-0.1.1.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mseep_powerpoint-0.1.1-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file mseep_powerpoint-0.1.1.tar.gz.

File metadata

  • Download URL: mseep_powerpoint-0.1.1.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for mseep_powerpoint-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3a47f2d2c38da00002f4374885c2ad0a04198ab942121647e9d2c1e1ca02b8ac
MD5 6287e84cca0d7fdea5b2abe980d65435
BLAKE2b-256 c93e2f14aaecbebb838557146b569d0efaefa362931acbd374e1acaacf096050

See more details on using hashes here.

File details

Details for the file mseep_powerpoint-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mseep_powerpoint-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b6e080966220db6e9662b8ec6be33ace95de016e33def199baa5d3c625c63483
MD5 34d94f1916a2f351172d06bfb0e91d24
BLAKE2b-256 c73a045a2651006c484aa27fde73d38e35bfe8a99611eab9503c0c3d4eeb3110

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page