AgentStack
MCP verified Apache-2.0 Self-run

PPT MCP

mcp-guangxiangdebizi-ppt-mcp · by guangxiangdebizi

Pure Node.js PowerPoint MCP Server - Create, analyze, and manage PowerPoint presentations with AI assistance

No reviews yet
0 installs
12 views
0.0% view→install

Install

$ agentstack add mcp-guangxiangdebizi-ppt-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of PPT MCP? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

🎯 PPT-MCP

> Pure Node.js PowerPoint MCP Server - Create, analyze, and manage PowerPoint presentations with AI assistance

1 PPT-MCP is a Model Context Protocol (MCP) server that provides comprehensive PowerPoint presentation management capabilities using pure JavaScript/TypeScript. Built with PptxGenJS, the most popular PowerPoint library for Node.js with 3,500+ GitHub stars.

✨ Features

🚀 Pure Node.js Stack

  • Zero Python Dependencies - 100% JavaScript/TypeScript implementation
  • Cross-Platform - Works on Windows, macOS, and Linux
  • Modern Architecture - Built with latest Node.js and TypeScript
  • Lightweight - Minimal dependencies, fast startup

📊 Core Capabilities

  • 🎨 Create Presentations - Generate professional PowerPoint files with custom templates
  • ✏️ Edit Existing Files - Advanced editing capabilities with pptx-automizer for real PowerPoint modification
  • 📖 File Analysis - Analyze presentation structure and metadata
  • 🔧 Template Support - Basic, Professional, and Modern design templates
  • 📁 File Management - Smart file handling and directory management

🎯 AI-Powered Workflow

  • Claude Integration - Seamless integration with Claude Desktop
  • Natural Language - Create presentations using conversational commands
  • Intelligent Templates - AI-suggested layouts and designs
  • Batch Operations - Handle multiple presentations efficiently

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • Claude Desktop (for MCP integration)

Installation

Option 1: NPM Package (Recommended)
npm install -g ppt-mcp
Option 2: From Source
git clone https://github.com/guangxiangdebizi/PPT-MCP.git
cd PPT-MCP
npm install
npm run build

Claude Desktop Configuration

Add to your Claude Desktop config:

Stdio Mode (Local Development)
{
  "mcpServers": {
    "ppt-mcp": {
      "command": "node",
      "args": ["path/to/PPT-MCP/build/index.js"]
    }
  }
}
SSE Mode (Production)
# Install and run with Supergateway
npm install -g supergateway
npx supergateway --stdio "node build/index.js" --port 3100
{
  "mcpServers": {
    "ppt-mcp": {
      "type": "sse",
      "url": "http://localhost:3100/sse",
      "timeout": 600
    }
  }
}

🛠️ Available Tools

1. create_presentation

Create new PowerPoint presentations with customizable options.

Parameters:

  • title (required) - Presentation title
  • slides (optional) - Number of slides (default: 1)
  • output_path (optional) - Custom save location
  • template (optional) - Design template: basic, professional, modern

Example:

Create a presentation titled "Q4 Business Review" with 5 slides using the professional template

2. edit_presentation

Basic editing of existing presentations (Note: Limited by PptxGenJS library capabilities).

Parameters:

  • file_path (required) - Path to existing presentation
  • operation (required) - Edit type: add_slide, add_text, add_image, add_table
  • slide_index (optional) - Target slide number
  • content (optional) - Content to add

2.5. editpresentationenhanced 🆕

Enhanced PowerPoint editing with comprehensive guidance and step-by-step instructions for manual editing.

Parameters:

  • file_path (required) - Path to existing presentation
  • operation (required) - Operation type: get_guidance, add_slide, replace_text, extract_content
  • slide_index (optional) - Target slide number (1-based)
  • content (optional) - Content specifications

Features:

  • 📋 Step-by-step editing instructions
  • 🔧 Multiple solution approaches
  • 💡 Best practice recommendations
  • 🎯 Operation-specific guidance

Example:

Get guidance for editing "report.pptx" to replace text content

3. read_presentation

Analyze and extract information from PowerPoint files.

Parameters:

  • file_path (required) - Path to presentation file
  • output_format (optional) - Format: text, json, markdown
  • slide_range (optional) - Specific slides to read
  • include_notes (optional) - Include speaker notes

4. analyze_presentation

Perform comprehensive analysis of presentation structure and content.

Parameters:

  • file_path (required) - Path to presentation file
  • analysis_type (optional) - Analysis type: structure, content, statistics, readability, comprehensive
  • detailed (optional) - Enable detailed analysis

📁 Project Structure

PPT-MCP/
├── src/
│   ├── index.ts              # MCP server entry point
│   └── tools/
│       ├── ppt-creator.ts     # Creation & editing tools
│       └── ppt-reader.ts      # Reading & analysis tools
├── build/                     # Compiled JavaScript
├── package.json              # Dependencies & scripts
├── tsconfig.json             # TypeScript configuration
├── README.md                 # Documentation
└── LICENSE                   # Apache 2.0 License

🔧 Development

Build Commands

npm run build        # Compile TypeScript
npm run dev          # Watch mode compilation
npm start           # Run compiled server
npm run sse         # Start with Supergateway SSE

Testing

# Test server startup
node build/index.js

# Test presentation creation
# (Use Claude Desktop or MCP client)

🎨 Template Showcase

Basic Template

  • Clean, minimal design
  • Black text on white background
  • Perfect for academic or simple business presentations

Professional Template

  • Corporate color scheme (Dark Slate Gray)
  • Sophisticated typography
  • Ideal for business meetings and reports

Modern Template

  • Vibrant blue and green accents
  • Contemporary design elements
  • Great for creative and tech presentations

🚀 Technology Stack

  • Runtime: Node.js 18+
  • Language: TypeScript
  • PPT Engine: 1 PptxGenJS (3,500+ ⭐)
  • MCP SDK: @modelcontextprotocol/sdk
  • Build System: TypeScript Compiler
  • Package Manager: NPM

🔄 Migration from Python

This version represents a complete rewrite from Python to pure Node.js:

Advantages of Node.js Version:

  • Faster Startup - No Python interpreter overhead
  • Simpler Deployment - Single runtime environment
  • Better Integration - Native JavaScript ecosystem
  • Modern Tooling - TypeScript, ESM, and modern Node.js features
  • Cross-Platform - Consistent behavior across operating systems

Current Limitations:

  • ⚠️ Direct File Modification - PptxGenJS is creation-focused, not editing-focused
  • ⚠️ Complex Animations - Advanced animations not yet supported
  • ⚠️ Embedded Media - Video/audio embedding requires additional implementation

Solutions Provided:

  • Comprehensive Guidance - edit_presentation_enhanced tool provides step-by-step instructions
  • Multiple Approaches - Manual editing, hybrid workflows, and programmatic creation
  • Best Practices - Detailed recommendations for different editing scenarios

The edit_presentation_enhanced tool bridges the gap by providing expert guidance for PowerPoint editing workflows.

🤝 Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Add tests for new features
  • Update documentation
  • Ensure cross-platform compatibility

📄 License

This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.

👨‍💻 Author

Xingyu Chen

🙏 Acknowledgments

  • PptxGenJS Team - For the excellent PowerPoint generation library
  • Anthropic - For the Model Context Protocol specification
  • TypeScript Team - For the amazing type system
  • Node.js Community - For the robust runtime environment

⭐ Star this repo if you find it helpful!

🐛 Report Bug✨ Request Feature📖 Documentation

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.