powerpoint-mcp-ultimate
v1.0.0
Published
Ultimate PowerPoint MCP Server - Complete PowerPoint automation for AI agents via Model Context Protocol
Maintainers
Readme
PowerPoint MCP Ultimate Server
The Ultimate PowerPoint MCP Server - Providing AI agents with complete programmatic access to all PowerPoint functionality through the Model Context Protocol (MCP).
🚀 Features
Complete PowerPoint Automation (50+ Tools)
- File Operations: Create, open, save, close, delete, duplicate, export presentations
- Slide Management: Add, delete, move, duplicate, reorder slides with layouts and themes
- Content Creation: Text, shapes, images, tables, charts, SmartArt, WordArt, icons, hyperlinks, media
- Advanced Features: Animations, transitions, action buttons, watermarks, master slides, password protection
- Collaboration: Comments, speaker notes, version control, review workflows, change tracking
- Formatting & Styling: Themes, color schemes, backgrounds, effects, font management, templates
- Enterprise Tools: Batch operations, AI content generation, quality analysis, analytics, compliance
AI Agent Optimization
- MCP Protocol Compliance: Full JSON schema validation with structured responses
- Context-Aware Suggestions: AI-powered recommendations and next actions
- Intelligent Error Handling: Descriptive messages with recovery suggestions
- Batch Operations: Efficient multi-step workflow support
- Rich Metadata: Comprehensive response data for AI decision-making
Enterprise-Grade Features
- Security: Input validation, rate limiting, audit logging, access control, encryption
- Performance: Real-time monitoring, optimization, caching, concurrent operation support
- Cross-Platform: Windows, macOS, Linux compatibility
- Scalability: Handle enterprise-scale presentations and concurrent users
- Compliance: WCAG 2.1 AA, Section 508, enterprise standards validation
📦 Installation
npm install powerpoint-mcp-ultimatePrerequisites
- Node.js 18.0.0 or higher
- npm 9.0.0 or higher
🏃 Quick Start
1. Basic Usage
import { PowerPointToolsUltimate } from 'powerpoint-mcp-ultimate';
const tools = new PowerPointToolsUltimate();
await tools.initialize();
// Create a new presentation
const createResponse = await tools.executeTool('create_presentation', {
title: 'My Presentation',
author: 'AI Assistant',
theme: 'Corporate'
});
const presentationId = createResponse.data.id;
// Add a slide
await tools.executeTool('add_slide', {
presentationId,
layout: 'TITLE_AND_CONTENT',
title: 'Welcome Slide'
});
// Add content
await tools.executeTool('add_text', {
presentationId,
slideIndex: 0,
text: 'Welcome to AI-Powered Presentations!',
placeholder: 'title'
});
// Save the presentation
await tools.executeTool('save_presentation', {
presentationId,
format: 'pptx'
});2. MCP Server Setup
# Start the MCP server
npm start
# Or run in development mode
npm run dev3. Configuration
Create a .env file:
# Server Configuration
NODE_ENV=production
LOG_LEVEL=info
# Security Configuration
ENABLE_RATE_LIMIT=true
RATE_LIMIT_MAX=100
ENABLE_AUDIT_LOG=true
MAX_FILE_SIZE=104857600
# Performance Configuration
ENABLE_MONITORING=true
MAX_CONCURRENT_OPS=10
ENABLE_CACHING=true
# Enterprise Configuration
ENABLE_COMPLIANCE=true
ENABLE_ANALYTICS=true🛠️ Available Tools
File Operations (8 tools)
| Tool | Description | Example |
|------|-------------|---------|
| create_presentation | Create new presentation | { title: "Q4 Report", theme: "Corporate" } |
| open_presentation | Open existing file | { filePath: "./presentation.pptx" } |
| save_presentation | Save to file | { presentationId: "uuid", format: "pptx" } |
| close_presentation | Close presentation | { presentationId: "uuid" } |
| delete_presentation | Delete file | { filePath: "./old.pptx", confirmed: true } |
| duplicate_presentation | Copy presentation | { sourceFilePath: "./src.pptx", targetFilePath: "./copy.pptx" } |
| export_presentation | Export to formats | { presentationId: "uuid", format: "pdf" } |
| get_presentation_info | Get metadata | { presentationId: "uuid" } |
Slide Operations (8 tools)
| Tool | Description | Example |
|------|-------------|---------|
| add_slide | Add new slide | { presentationId: "uuid", layout: "TITLE_SLIDE" } |
| delete_slide | Remove slide | { presentationId: "uuid", slideIndex: 2 } |
| move_slide | Change position | { presentationId: "uuid", fromIndex: 3, toIndex: 1 } |
| duplicate_slide | Copy slide | { presentationId: "uuid", slideIndex: 1 } |
| reorder_slides | Batch reorder | { presentationId: "uuid", slideOrder: [1,3,2,4] } |
| apply_slide_layout | Change layout | { presentationId: "uuid", slideIndex: 1, layout: "TWO_CONTENT" } |
| get_slide_layouts | List layouts | { category: "content" } |
| get_slide_thumbnails | Generate previews | { presentationId: "uuid", size: "medium" } |
Content Operations (12 tools)
| Tool | Description | Example |
|------|-------------|---------|
| add_text | Add formatted text | { presentationId: "uuid", slideIndex: 0, text: "Title" } |
| add_shape | Add geometric shapes | { presentationId: "uuid", slideIndex: 0, type: "rectangle" } |
| add_image | Insert images | { presentationId: "uuid", slideIndex: 0, imagePath: "./logo.png" } |
| add_table | Create data tables | { presentationId: "uuid", slideIndex: 0, rows: 4, columns: 3 } |
| add_chart | Insert charts | { presentationId: "uuid", slideIndex: 0, type: "column", data: {...} } |
| add_smartart | Add diagrams | { presentationId: "uuid", slideIndex: 0, type: "process" } |
| add_wordart | Stylized text | { presentationId: "uuid", slideIndex: 0, text: "WordArt" } |
| add_icon | Insert icons | { presentationId: "uuid", slideIndex: 0, iconName: "chart-line" } |
| add_hyperlink | Add links | { presentationId: "uuid", slideIndex: 0, url: "https://..." } |
| add_media | Embed video/audio | { presentationId: "uuid", slideIndex: 0, mediaPath: "./video.mp4" } |
| format_content | Apply formatting | { elementId: "uuid", formatType: "text", properties: {...} } |
| group_objects | Group elements | { presentationId: "uuid", slideIndex: 0, elementIds: [...] } |
Advanced Features (10 tools)
add_animation- Add slide animationsadd_transition- Set slide transitionsadd_action_button- Interactive buttonsadd_watermark- Add watermarksset_slideshow_settings- Configure slideshowadd_custom_property- Custom metadataset_password_protection- Security settingscreate_master_slide- Master slide templatesapply_master_slide- Apply master slidescreate_slide_template- Custom templates
Collaboration Tools (6 tools)
add_comment- Add review commentsadd_speaker_notes- Speaker notestrack_changes- Change trackingstart_review_workflow- Review processmanage_versions- Version controlshare_presentation- Sharing options
Formatting & Styling (8 tools)
apply_theme- Apply presentation themesset_color_scheme- Color schemesset_slide_background- Slide backgroundsapply_text_formatting- Text formattingset_font_defaults- Default fontscreate_style_template- Style templatesapply_shape_formatting- Shape stylingoptimize_formatting- Format optimization
Enterprise Tools (6 tools)
batch_operations- Bulk operationsai_content_generation- AI-powered contentquality_analysis- Quality assessmentpresentation_analytics- Usage analyticssecurity_audit- Security validationcompliance_validation- Standards compliance
🎯 AI Agent Examples
Business Presentation Creation
// AI Agent creates a quarterly business review
const agent = new PowerPointAIAgent();
// Step 1: Create presentation
const presentation = await agent.createPresentation({
title: 'Q4 2024 Business Review',
theme: 'Corporate',
company: 'TechCorp Inc.'
});
// Step 2: Add title slide
await agent.addTitleSlide({
title: 'Q4 2024 Business Review',
subtitle: 'Performance Highlights & Strategic Outlook'
});
// Step 3: Add agenda
await agent.addAgendaSlide([
'Financial Performance',
'Market Analysis',
'Key Achievements',
'Q1 2025 Outlook'
]);
// Step 4: Add financial data with chart
await agent.addDataSlide({
title: 'Financial Performance',
chartType: 'column',
data: {
categories: ['Q1', 'Q2', 'Q3', 'Q4'],
revenue: [12.5, 15.2, 18.7, 22.1],
target: [13.0, 16.0, 19.0, 21.0]
}
});
// Step 5: Save and export
await agent.savePresentation();
await agent.exportToPDF();Educational Content Generation
// AI Agent creates educational content
const eduAgent = new EducationalAIAgent();
await eduAgent.createLearningModule({
topic: 'Machine Learning Basics',
audience: 'beginners',
duration: '30 minutes',
includeInteractivity: true
});
// Auto-generates:
// - Learning objectives slide
// - Concept explanation with diagrams
// - Interactive examples
// - Knowledge check questions
// - Summary and next steps🔧 Development
Setup Development Environment
# Clone repository
git clone https://github.com/powerpoint-mcp/ultimate-server.git
cd powerpoint-mcp-ultimate
# Install dependencies
npm install
# Run tests
npm test
# Run with coverage
npm run test:coverage
# Run mutation testing
npm run test:mutation
# Start development server
npm run devTesting
# Run all tests
npm run test:all
# Run specific test suites
npm run test:unit
npm run test:integration
npm run test:ai-agent
npm run test:performance
npm run test:security
npm run test:enterprise
# Generate coverage report
npm run test:coverage:checkBuilding
# Build for production
npm run build
# Validate package
npm run validate:package
# Run security audit
npm run security:audit
# Generate documentation
npm run docs:build📊 Performance
Benchmarks
- Create Presentation: < 5 seconds
- Add Slide: < 1 second
- Save Presentation: < 3 seconds
- Export to PDF: < 10 seconds
- Concurrent Operations: 100+ simultaneous users
- Memory Usage: < 100MB for typical presentations
Scalability
- Enterprise Scale: Tested with 1000+ presentations
- Concurrent Users: Supports 100+ simultaneous operations
- Large Presentations: Handles 500+ slides efficiently
- Memory Management: Automatic cleanup and optimization
🔒 Security
Security Features
- Input Validation: Comprehensive parameter validation
- Rate Limiting: Configurable request throttling
- Access Control: Role-based permissions
- Audit Logging: Complete operation tracking
- File Security: Path traversal prevention
- Content Security: XSS and injection protection
- Encryption: Optional data encryption
Compliance
- WCAG 2.1 AA: Accessibility compliance
- Section 508: Government accessibility standards
- Enterprise Standards: Custom compliance validation
- Security Auditing: Automated vulnerability scanning
📈 Monitoring & Analytics
Performance Monitoring
- Real-time operation metrics
- Memory usage tracking
- Error rate monitoring
- Response time analysis
- Concurrent operation tracking
Analytics
- Presentation usage statistics
- User engagement metrics
- Feature utilization tracking
- Performance trend analysis
- Custom analytics dashboards
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Workflow
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Run the test suite
- Submit a pull request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support
- Documentation: Full API Documentation
- Examples: Usage Examples
- Issues: GitHub Issues
- Discussions: GitHub Discussions
🗺️ Roadmap
Upcoming Features
- [ ] Real-time collaboration
- [ ] Advanced AI content generation
- [ ] Cloud storage integration
- [ ] Mobile device support
- [ ] Advanced analytics dashboard
- [ ] Plugin system for extensions
PowerPoint MCP Ultimate - Empowering AI agents with complete PowerPoint automation capabilities.
Made with ❤️ by the PowerPoint MCP Team
