Office-PowerPoint-MCP-Server
MCP ServerFreeA MCP (Model Context Protocol) server for PowerPoint manipulation using python-pptx. This server provides tools for creating, editing, and manipulating PowerPoint presentations through the MCP protocol.
Capabilities13 decomposed
mcp-compliant presentation creation and lifecycle management
Medium confidenceExposes PowerPoint presentation creation, opening, and persistence through the Model Context Protocol using FastMCP framework. The server maintains in-memory presentation state indexed by presentation_id, allowing clients to create new presentations or load existing .pptx files, then perform subsequent operations on the same instance without re-loading. Uses python-pptx library as the underlying abstraction layer for all PowerPoint object model interactions.
Uses FastMCP framework to standardize MCP server implementation with built-in request routing and tool registration, eliminating boilerplate protocol handling. Maintains presentation state in a dictionary keyed by presentation_id, enabling multi-presentation workflows without file I/O overhead between operations.
Simpler than building raw MCP servers because FastMCP handles protocol compliance; more lightweight than Office 365 API because it operates on local files without cloud dependencies or authentication overhead.
slide creation and layout-aware population
Medium confidenceProgrammatically adds slides to presentations using python-pptx's layout system, which maps to PowerPoint's built-in slide layouts (Title Slide, Title and Content, Blank, etc.). The server accepts layout selection and populates placeholder shapes (title, subtitle, content areas) with text or structured content. Abstracts the complexity of PowerPoint's shape hierarchy and placeholder indexing into simple tool parameters.
Leverages python-pptx's layout abstraction to hide PowerPoint's complex shape hierarchy and placeholder indexing. Provides a simple parameter-based interface (layout_name, placeholder_text dict) instead of requiring clients to navigate shape collections and understand placeholder IDs.
More intuitive than raw python-pptx because it pre-maps common layouts to named parameters; more flexible than template-based approaches because it allows dynamic content insertion without pre-designed templates.
slide duplication and content cloning
Medium confidenceDuplicates existing slides within a presentation, copying all content (text, images, shapes, tables, charts) and formatting. Uses python-pptx's slide cloning capabilities to create a deep copy of slide objects, including all child shapes and text formatting. Allows clients to create variations of slides without manually recreating content. Duplicated slides are inserted at a specified position in the presentation.
Provides deep copying of slides including all child shapes, text frames, and formatting through python-pptx's slide cloning. Enables efficient template-based presentation generation by duplicating complex layouts rather than recreating them.
More efficient than manual recreation because it copies all content and formatting atomically; more flexible than static templates because duplicated slides can be modified after creation.
slide deletion and presentation cleanup
Medium confidenceRemoves slides from presentations by index or range, allowing clients to delete unwanted slides or clean up presentations. Uses python-pptx's slide removal API to safely delete slides while maintaining slide index consistency. Supports single slide deletion or range-based deletion (e.g., delete slides 5-10). Deleted slides cannot be recovered — no undo capability.
Provides safe slide deletion through python-pptx's removal API while maintaining slide index consistency. Supports both single slide and range-based deletion in a single operation.
Simpler than manual slide removal because it handles index management automatically; more efficient than recreating presentations because it modifies existing presentations in-place.
text frame and shape property modification
Medium confidenceModifies properties of existing shapes and text frames after insertion, including text content, font properties (name, size, color, bold, italic), alignment, and fill colors. Uses python-pptx's shape and text frame APIs to access and modify properties. Allows clients to update content and styling without recreating shapes. Supports both shape-level properties (fill, line color) and text-level properties (font, color, alignment).
Provides unified access to both shape-level and text-level properties through a single parameter-based interface. Allows clients to modify existing content without recreating shapes, enabling efficient dynamic presentation updates.
More efficient than recreating shapes because it modifies properties in-place; more flexible than template-based approaches because it supports arbitrary property modifications.
text box and shape insertion with positioning
Medium confidenceAdds arbitrary text boxes and shapes (rectangles, circles, lines) to slides at specified coordinates with configurable dimensions, text content, and formatting properties. Uses python-pptx's shape factory to create shapes and text frames, accepting position (left, top) and size (width, height) in EMU (English Metric Units) or inches. Allows setting font properties, colors, and alignment on inserted text.
Abstracts python-pptx's EMU coordinate system and shape factory into a simple parameter-based interface. Provides unified handling of both shape creation and text frame population in a single operation, reducing the number of API calls required for custom layouts.
More flexible than template-based approaches because it allows arbitrary positioning; more accessible than raw python-pptx because it handles unit conversion and shape factory complexity internally.
image insertion with scaling and positioning
Medium confidenceEmbeds image files (PNG, JPEG, BMP, GIF) into slides at specified positions and dimensions. Accepts file paths or URLs, handles image loading through python-pptx's image handling, and applies scaling/sizing constraints. Supports maintaining aspect ratio and positioning relative to slide coordinates. Images are embedded directly into the .pptx file, making presentations self-contained without external image dependencies.
Handles both local file paths and remote URLs through python-pptx's image abstraction, automatically embedding images into the .pptx file for portability. Provides aspect ratio preservation and coordinate-based positioning without requiring clients to manage image objects directly.
More portable than linking external images because it embeds assets directly; simpler than raw python-pptx because it handles image loading and sizing in a single operation.
table creation and cell population with formatting
Medium confidenceInserts tables into slides with specified row and column counts, populates cells with text content, and applies formatting (cell colors, text alignment, font properties, borders). Uses python-pptx's table shape factory to create table objects, then iterates through cells to apply content and styling. Supports merged cells and cell-level formatting independent of row/column defaults.
Provides a unified interface for table creation, content population, and cell-level formatting in a single operation. Abstracts python-pptx's table shape factory and cell iteration patterns, allowing clients to specify 2D data and formatting rules without managing table objects directly.
More efficient than creating tables through multiple API calls because it handles creation and population atomically; more flexible than template-based tables because it supports dynamic row/column counts and cell-level formatting.
chart insertion with data binding
Medium confidenceCreates charts (bar, line, pie, area) on slides with data series and category labels. Uses python-pptx's chart API to define chart type, data ranges, and formatting. Accepts structured data (categories, series names, values) and maps them to chart data tables. Supports legend configuration, axis labels, and chart title. Charts are embedded as native PowerPoint chart objects, not images, allowing post-generation editing in PowerPoint.
Maps structured data (categories, series) directly to python-pptx's chart data table API, creating native PowerPoint chart objects that remain editable in PowerPoint desktop. Abstracts chart type selection and data binding, allowing clients to specify data and chart type without managing chart object hierarchies.
More editable than image-based charts because charts remain as native PowerPoint objects; simpler than raw python-pptx because it handles data table construction and chart type mapping internally.
bullet point and text formatting with hierarchy
Medium confidencePopulates text frames (typically in content placeholders) with bullet points organized in hierarchical levels. Supports multi-level bullet structures (parent-child relationships) with different bullet styles per level. Applies text formatting (font, size, color, bold, italic) at the paragraph level. Uses python-pptx's paragraph and run objects to manage text hierarchy and styling without requiring clients to understand the text frame object model.
Abstracts python-pptx's paragraph and run object hierarchy into a simple nested list structure. Automatically handles level-based indentation and bullet style application, allowing clients to specify hierarchical content without managing text frame objects directly.
More intuitive than raw python-pptx because it accepts nested lists instead of requiring paragraph-by-paragraph manipulation; more flexible than template-based approaches because it supports dynamic hierarchy depth and per-level formatting.
presentation metadata and document properties management
Medium confidenceSets and retrieves presentation-level metadata including title, subject, author, keywords, comments, and creation date. Uses python-pptx's core properties API to access the presentation's document properties XML. Allows clients to configure presentation metadata without accessing the underlying file structure. Metadata is embedded in the .pptx file and visible in PowerPoint's File Properties dialog.
Provides a simple key-value interface to python-pptx's core properties API, abstracting the underlying XML structure. Allows clients to set and retrieve metadata without understanding PowerPoint's document property schema.
Simpler than Office 365 API because it operates on local files without authentication; more accessible than raw python-pptx because it provides a straightforward parameter-based interface.
slide layout inspection and template discovery
Medium confidenceEnumerates available slide layouts in a presentation and provides information about each layout's placeholders (name, type, position, size). Uses python-pptx's slide layout API to inspect the slide master and available layouts. Allows clients to discover what placeholders are available before populating slides, enabling dynamic layout selection based on content requirements. Returns structured information about placeholder types (title, body, picture, table, etc.) and their positions.
Provides introspection of available slide layouts and placeholders without requiring clients to manually inspect the slide master. Returns structured placeholder information (name, type, position) enabling adaptive layout selection based on content type.
More discoverable than raw python-pptx because it aggregates layout and placeholder information; enables adaptive presentation generation that template-based approaches cannot support.
batch content insertion with multi-slide operations
Medium confidenceSupports adding multiple slides, populating content across slides, and applying consistent formatting in a single MCP request or sequence of requests. The server maintains presentation state between requests, allowing clients to build presentations incrementally without reloading the file. Enables efficient batch operations for generating large presentations by reducing round-trip overhead between client and server.
Maintains presentation state in memory across multiple MCP requests, enabling incremental presentation building without file I/O overhead between operations. Allows clients to add slides and content in sequence while the server keeps the presentation instance loaded.
More efficient than file-based approaches because it avoids repeated file I/O for each operation; more flexible than template-based generation because it supports truly incremental, adaptive presentation building.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with Office-PowerPoint-MCP-Server, ranked by overlap. Discovered automatically through the match graph.
SlideSpeak
** - Create presentations and PowerPoints using AI and SlideSpeak MCP
AutoSlide
Generate AI-generated presentations with...
Motionit.ai
AI automates slide design, enhances visuals, expedites...
presenton
Open-Source AI Presentation Generator and API (Gamma, Beautiful AI, Decktopus Alternative)
SlidesWizard
Create Presentations 10x faster. Generate PowerPoint and Google Slides presentations about any topic with...
google_workspace_mcp
Control Gmail, Google Calendar, Docs, Sheets, Slides, Chat, Forms, Tasks, Search & Drive with AI - Comprehensive Google Workspace / G Suite MCP Server & CLI Tool
Best For
- ✓AI assistants and LLM agents that need to generate presentations
- ✓Automation workflows that create reports or decks programmatically
- ✓Teams building MCP-compatible applications that require PowerPoint integration
- ✓Developers generating structured presentations with consistent layouts
- ✓LLM agents that need to create multi-slide decks with predictable structure
- ✓Automation pipelines that convert data into slide-based reports
- ✓Automation workflows creating presentations with repeated layouts and varying data
- ✓AI agents generating slide variations based on templates
Known Limitations
- ⚠No support for .ppt (legacy PowerPoint 97-2003) format — only .pptx
- ⚠In-memory state management means presentations are lost if server restarts without explicit save
- ⚠No concurrent editing — single server instance manages one presentation per ID sequentially
- ⚠Cannot directly interact with PowerPoint desktop application — only file-based I/O
- ⚠Limited to python-pptx's supported layouts — custom master slide layouts may not be accessible
- ⚠Placeholder population assumes standard PowerPoint placeholder naming conventions; custom shapes require different API
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
Repository Details
Last commit: Dec 31, 2025
About
A MCP (Model Context Protocol) server for PowerPoint manipulation using python-pptx. This server provides tools for creating, editing, and manipulating PowerPoint presentations through the MCP protocol.
Categories
Alternatives to Office-PowerPoint-MCP-Server
Are you the builder of Office-PowerPoint-MCP-Server?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →