Skip to main content
Glama

PPTX Generator MCP Server

Model Context Protocol (MCP) server for generating professional PowerPoint presentations from Markdown.

Transform your lesson plans and documentation into beautiful PPTX presentations with support for:

  • Inline code with monospace formatting

  • Code blocks with syntax highlighting background

  • Tables with styled headers

  • Bold text and mixed formatting

  • Bullet lists with proper indentation

  • Mixed content slides (bullets + code + tables)

  • Custom branding (logos, colors, instructor info)


📋 Table of Contents


🔧 Requirements

  • Node.js 18.0 or higher (Download)

  • Claude Desktop (Download)

  • macOS, Linux, or Windows

Check your Node.js version:

node -v

📦 Installation

1. Clone the repository:

cd ~/Documents # or any directory you prefer git clone https://github.com/dmytro-ustynov/pptx-generator-mcp.git cd pptx-generator-mcp

2. Run the installation script:

./install.sh

The script will:

  • Install all dependencies

  • Install the command globally

  • Show you the Claude Desktop configuration

3. Configure Claude Desktop:

The installer will show you what to add. Copy the configuration to:

  • macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "pptx-generator": { "command": "pptx-generator-mcp" } } }

4. Restart Claude Desktop

✅ Done! The pptx-generator tools are now available in Claude.


Method 2: Manual Install

1. Clone and install dependencies:

# Change dmytro-ustynov to your username if you want to use your fork git clone https://github.com/dmytro-ustynov/pptx-generator-mcp.git cd pptx-generator-mcp npm install

2. Install globally:

npm install -g .

Or with sudo if needed:

sudo npm install -g .

3. Verify installation:

which pptx-generator-mcp # Should show: /usr/local/bin/pptx-generator-mcp (or similar)

4. Configure Claude Desktop (same as Method 1, step 3)


⚙️ Configuration

Claude Desktop Setup

After installation, configure Claude Desktop to use the MCP server.

macOS/Linux:

# Open the config file code ~/Library/Application\ Support/Claude/claude_desktop_config.json # or nano ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

notepad %APPDATA%\Claude\claude_desktop_config.json

Add this configuration:

{ "mcpServers": { "pptx-generator": { "command": "pptx-generator-mcp" } } }

If you have other MCP servers:

{ "mcpServers": { "pptx-generator": { "command": "pptx-generator-mcp" }, "other-server": { "command": "other-server-command" } } }

Restart Claude Desktop for changes to take effect.


Customization

Customize colors, fonts, and branding by editing config.json in the installation directory.

Find your installation:

npm list -g pptx-generator-mcp # Shows: /usr/local/lib/node_modules/pptx-generator-mcp

Edit config:

cd $(npm root -g)/pptx-generator-mcp nano config.json

Configuration options:

Instructor Information

{ "instructor": { "rank": "майор", "name": "Дмитро УСТИНОВ", "position": "викладач" } }

Institution Details

{ "institution": { "name": [ "Військовий інститут", "телекомунікацій та інформатизації", "імені Героїв Крут" ], "department": "кафедри Комп'ютерних наук та інтелектуальних технологій" } }

Colors

Colors are adjusted according to the official Armed Forces of Ukraine brandbook, and the logo is Armed Forces of Ukraine emblem.

{ "colors": { "step": "#6A653A", // Dividers and table headers "titleText": "#003366", // Slide titles "bodyText": "#333333" // Regular text } }

Fonts

{ "fonts": { "title": "Raleway", "body": "Open Sans", "code": "JetBrains Mono" // For inline code and code blocks } }

Font Sizes

{ "sizes": { "slideTitle": 28, "body": 18, "code": 14 } }

After editing config.json:

  • No need to restart Claude Desktop

  • Changes apply to next generated presentation


🎯 Usage

In Claude Desktop

Once installed and configured, you can use these tools in Claude:

1. Generate a presentation:

Create a presentation about Docker basics with 5 slides

Claude will use the pptx-generator:generate_presentation tool automatically.

2. Get a template:

Show me the markdown template for presentations

Uses pptx-generator:get_template tool.

3. View configuration:

What are the current presentation settings?

Uses pptx-generator:get_config tool.

4. Update instructor:

Change the instructor to "капітан Іван ПЕТРЕНКО"

Uses pptx-generator:update_instructor tool.


Markdown Format

Presentations are created from Markdown with special syntax:

Frontmatter (Required)

--- discipline: Веб-розробка type: practical module: "3: Docker та контейнеризація" lesson: "3.1: Основи Docker" ---

Types:

  • practical - Практичне заняття

  • lecture - Лекційне заняття

  • group - Групове заняття

Slide Types

Plan Slide:

## [plan] План заняття - Topic 1 - Topic 2 - Topic 3

Divider Slide:

## [divider] 🔹 ЧАСТИНА 1. Introduction

Content Slide:

## [content] Slide Title Regular text with **bold** and `inline code`. Bullet points: - First point with **bold** - Second point with `code` - Third point with **bold** and `code` mixed Code block: ```bash docker ps docker images

Table:

Column 1

Column 2

value1

Description 1

value2

Description 2

#### Formatting - **Bold text:** `**text**` - **Inline code:** `` `code` `` - **Code blocks:** Triple backticks with optional language - **Tables:** Standard Markdown table syntax - **Bullets:** `-` or `*` with optional indentation --- ## 📚 Examples ### Simple Presentation ```markdown --- discipline: Programming Basics type: lecture module: "1: Introduction" lesson: "1.1: Hello World" --- ## [plan] План заняття - What is programming - First program - Variables and types ## [divider] 🔹 Getting Started ## [content] What is Programming? **Programming** is giving instructions to computers. Key concepts: - Variables store data - Functions perform actions - Loops repeat tasks Example: ```python print("Hello, World!")
### Advanced Features ```markdown ## [content] Docker Commands Common commands: | Command | Description | |---------|-------------| | `docker ps` | List running containers | | `docker images` | List images | | `docker run` | Run a container | Example usage: ```bash docker run -d -p 80:80 nginx

The -d flag runs in detached mode.

--- ## 🐛 Troubleshooting ### Command not found: pptx-generator-mcp **Solution 1:** Check if installed globally ```bash npm list -g pptx-generator-mcp

Solution 2: Add npm global bin to PATH

# Find npm global bin path npm config get prefix # Add to PATH (add to ~/.bashrc or ~/.zshrc) export PATH=$(npm config get prefix)/bin:$PATH

Solution 3: Reinstall

cd /path/to/pptx-generator-mcp npm install -g .

Tools not showing in Claude

  1. Check Claude Desktop config:

    cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
  2. Verify JSON syntax (use JSONLint)

  3. Restart Claude Desktop completely:

    • Quit Claude Desktop (Cmd+Q on macOS)

    • Reopen Claude Desktop

  4. Check MCP server logs (if available in Claude Desktop)


Permission denied when installing

Solution: Use sudo

sudo npm install -g .

Or install without sudo by configuring npm:

mkdir ~/.npm-global npm config set prefix '~/.npm-global' echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc source ~/.bashrc

Fonts not displaying correctly

Issue: Custom fonts like JetBrains Mono not showing

Solution: Install the font on your system:

  1. Download JetBrains Mono

  2. Install the font

  3. Restart PowerPoint/Keynote


🔄 Updating

To update to the latest version:

# Navigate to repository cd /path/to/pptx-generator-mcp # Pull latest changes git pull # Reinstall npm install npm install -g .

No need to restart Claude Desktop - changes take effect immediately for new presentations.


🗑️ Uninstalling

# Uninstall global command npm uninstall -g pptx-generator-mcp # Remove repository rm -rf /path/to/pptx-generator-mcp # Remove from Claude Desktop config # Edit: ~/Library/Application Support/Claude/claude_desktop_config.json # Remove the "pptx-generator" section

📖 Additional Resources


📝 License

MIT License - See LICENSE file for details


🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository

  2. Create a feature branch

  3. Submit a pull request


💬 Support

For issues or questions:


Made with ❤️ for VITI education

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dmytro-ustynov/pptx-generator-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server