Automate PowerPoint Creation & Management via Free Node.js Tool
A Leading Open Source Node.js Tool to Programmatically Create and Manage PowerPoint PPTX Presentation. It Supports Creating New Presenations via Templates, Add Images and Text inside Node.js Apps.
What is PPT-MCP?
Creating PowerPoint presentations is a ubiquitous but often tedious task. From business reports to academic lectures, we spend countless hours formatting slides, aligning text boxes, and searching for the right charts. What if you could automate this entire process? Enter PPT-MCP, an innovative AI-powered tool that acts as a bridge between your ideas and a finished PowerPoint file. By leveraging a simple scripting language, PPT-MCP allows developers, data analysts, and power users to generate dynamic, data-driven presentations programmatically. The server works consistently across Windows, macOS, and Linux operating systems, ensuring teams using different platforms can collaborate seamlessly.
PPT-MCP (PowerPoint Model Context Protocol) is an open-source project available on GitHub that provides a structured way to create PowerPoint (.pptx) files through code. Instead of using the graphical interface of Microsoft PowerPoint, you write instructions in a specific format that the tool interprets to generate slides, add content, and apply formatting automatically. Think of it as a "headless" or "programmatic" approach to PowerPoint creation, perfect for automating reports, generating personalized presentations from a database, or integrating presentation generation into a larger software pipeline.
Getting Started with PPT-MCP
The recommend way to install PPT-MCP is using npm. Please use the following command for a smooth installation.
Install PPT-MCP via npm
npm install -g ppt-mcpYou can also download it directly from Aspose product release page.PPTX Presentation Creation inside Node.js
The open source PPT-MCP excels at generating new PowerPoint presentations with sophisticated customization options. The creation tool accepts multiple parameters to tailor presentations to specific needs. The tool automatically generates a fully formatted presentation with the specified number of slides, applies the chosen template's color scheme and typography, and saves it to the designated location. The following example shows how to create a new PowerPoint presentation inside Node.js applications.
How to Create PowerPoint Presentation inside Node.js
// Natural language command in Claude Desktop:
"Create a presentation titled 'Q4 Business Review' with 5 slides using the professional template"
// This translates to the create_presentation tool with:
{
title: "Q4 Business Review",
slides: 5,
template: "professional",
output_path: "./presentations/Q4_Review.pptx"
}
Add Dynamic Images to Slides inside Node.js
A presentation is often visual. PPT-MCP makes it easy for software developers to programmatically add images to your slides by specifying their file paths or URLs. You can include an images property in your slide content, which is a list of image sources. The tool will automatically place them on the slide, typically respecting the chosen layout. This feature is incredibly powerful for automating data reports where charts are generated on the fly by libraries like Matplotlib or Plotly and then directly inserted into the final presentation.
How to Add Images to Presentation’s Slide inside Node.js Apps?
slide_content = {
"layout": "Title and Content",
"content": {
"title": "Marketing Campaign Reach",
"body": [
"Our recent campaign achieved a record number of impressions.",
"Demographic breakdown is shown below:"
],
"images": [
"./assets/campaign_reach_chart.png",
"https://example.com/demographic_pie_chart.jpg"
]
}
}
Built-in Template System
PPT-MCP includes three professional templates: Basic with clean minimal design and black text on white background perfect for academic presentations, Professional featuring a corporate color scheme with Dark Slate Gray and sophisticated typography ideal for business meetings, and Modern with vibrant blue and green accents and contemporary design elements great for creative and tech presentations.
How to Create Presenation using built-in Templates inside Node.js?
PPT-MCP includes three professional templates: Basic with clean minimal design and black text on white background perfect for academic presentations, Professional featuring a corporate color scheme with Dark Slate Gray and sophisticated typography ideal for business meetings, and Modern with vibrant blue and green accents and contemporary design elements great for creative and tech presentations.
How to Create Presenation using built-in Templates inside Node.js?
// Basic Template Configuration
const basicTemplate = {
background: { color: 'FFFFFF' },
titleStyle: {
fontSize: 44,
color: '000000',
fontFace: 'Calibri',
bold: true
},
bodyStyle: {
fontSize: 18,
color: '333333',
fontFace: 'Calibri'
}
};
// Professional Template Configuration
const professionalTemplate = {
background: { color: '2F4F4F' },
titleStyle: {
fontSize: 40,
color: 'FFFFFF',
fontFace: 'Arial',
bold: true
},
accentColor: '4682B4'
};
// Modern Template Configuration
const modernTemplate = {
background: {
gradient: {
type: 'linear',
colors: ['1E90FF', '32CD32']
}
},
titleStyle: {
fontSize: 48,
color: 'FFFFFF',
fontFace: 'Segoe UI',
bold: true
}
};
Edit PPTX Presentations inside Node.js
PPT-MCP provides two distinct editing approaches to handle different use cases effectively. The edit_presentation tool offers straightforward modifications to existing presentations with limited capabilities due to PptxGenJS's creation-focused nature. The edit_presentation_enhanced tool provides comprehensive guidance with step-by-step editing instructions, multiple solution approaches, best practice recommendations, and operation-specific guidance. This innovative feature bridges the gap between programmatic limitations and user needs by offering expert guidance for complex editing scenarios.
How to Edit Existing PowerPoint Presentations inside Node.js Apps?
// Request guidance for replacing text
{
file_path: "./presentations/annual_report.pptx",
operation: "get_guidance",
slide_index: 2,
content: {
task: "replace_all_instances",
search_text: "2024",
replace_text: "2025"
}
}
// Server response includes:
{
status: "success",
guidance: {
manual_approach: [
"1. Open the presentation in PowerPoint",
"2. Press Ctrl+H (Cmd+H on Mac) to open Find & Replace",
"3. Enter '2024' in Find field and '2025' in Replace field",
"4. Click 'Replace All' button",
"5. Save the file"
],
programmatic_approach: [
"1. Use pptx-automizer library for text replacement",
"2. Iterate through all slides and shapes",
"3. Replace text while preserving formatting"
],
best_practices: [
"Always backup the original file before modifications",
"Test on a copy first",
"Verify changes across all slides"
],
estimated_time: "2-5 minutes manually, instant programmatically"
}
}