office-powerpoint-mcp-server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Office PowerPoint MCP Server (office-powerpoint-mcp-server)
A production-ready Model Context Protocol (MCP) server for automated PowerPoint (.pptx) generation, OpenXML-enhanced financial styling, and presentation inspection. Built with Python 3.12+, FastMCP v4, python-pptx, lxml, Pillow, and Pydantic v2.
Inspired by and functionally referencing GongRzhe/Office-PowerPoint-MCP-Server, upgraded to modern 2026 standards with path sandboxing, consolidated tool surface, hybrid state persistence, and native OpenXML table formatting.
Key Architectural Highlights
Feature | GongRzhe Reference (v2.0) | Office PowerPoint MCP Server (v4) |
MCP Framework | FastMCP v1 / MCP Python SDK v1 | FastMCP v4 ( |
Tool Surface | 32 scattered tools (context bloat) | 14 consolidated, action-dispatched tools with strict Pydantic schemas |
Path Security | Unrestricted filesystem access | Strict Path Sandbox ( |
State Model | In-memory only (lost if server restarts) | Hybrid State: In-memory sessions + direct disk auto-save ( |
Table Formatting | Basic python-pptx cells | Direct OpenXML ( |
Default Dimensions | Variable 4:3 / 16:9 | Widescreen 16:9 ( |
Package Management |
| Modern |
Related MCP server: PPTX MCP Server
Installation
Install using uv:
# Clone or navigate to the project directory
cd office-powerpoint-mcp-server
# Create virtual environment and sync dependencies
uv syncRunning the MCP Server
The server provides a standard CLI entry point ppt-mcp-server:
1. Standard I/O (Default for MCP Clients like Claude Desktop, Cursor, Antigravity)
# Sandboxed to current working directory
uv run ppt-mcp-server
# Sandboxed to specific directories
uv run ppt-mcp-server stdio --allow-dir /Users/username/decks --allow-dir /Volumes/Presentations2. HTTP Transport (Streamable HTTP / SSE)
uv run ppt-mcp-server http --host 127.0.0.1 --port 8000 --allow-dir /Users/username/decksClient Configuration
Claude Desktop / Antigravity (claude_desktop_config.json / mcp-config.json)
{
"mcpServers": {
"powerpoint": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/office-powerpoint-mcp-server",
"ppt-mcp-server",
"stdio",
"--allow-dir",
"/path/to/allowed/decks"
]
}
}
}Tool Reference (14 Consolidated Tools)
All tools expose MCP ToolAnnotations (read_only_hint, destructive_hint, idempotent_hint).
1. Lifecycle & Ingestion (tools/lifecycle.py)
manage_presentation: Actions:create,open,save,close,set_properties.Sets widescreen 16:9 (
13.333" x 7.5") by default.Supports hybrid in-memory IDs and direct disk paths with
auto_save: true.
inspect_presentation(Read-Only): Ingests an entire presentation in one call.Returns slide counts, layout names, speaker notes, all text frames, and table rows as structured JSON or publication Markdown.
2. Themes & Institutional Styling (tools/design.py & templates.json)
apply_theme: Applies institutional color schemes, slide background, and font hierarchies across slides or tables.Supported Themes:
institutional_navy,modern_blue,corporate_gray,elegant_green,warm_red.
format_master_footer: Adds institutional divider line, confidentiality notice, current date, and dynamic page numbers (Slide X of Y) across slides.
3. Template-Driven Slide Generation (tools/slides.py)
add_slide_from_template: Builds pre-calculated coordinate slides fromtemplates.json:title_slide: Authoritative title slide with decorative accent bar, subtitle, author, and date.executive_summary: Dual strategic cards for observations and recommendations.two_column_comparison: Side-by-side comparison cards (Option A vs Option B / Current vs Target).kpi_metrics_grid: 4 high-impact metric cards with prominent numbers, labels, and YoY trends.table_with_commentary: Left-side financial data table with right-side commentary card.chart_with_takeaways: Left-side native chart with right-side analyst takeaways card.
manage_slides: Slide operations:add,duplicate,delete,reorder,populate_placeholder.list_templates(Read-Only): Lists all available layout templates and color schemes.
4. Financial & Data Tables (tools/tables.py)
add_data_table: Creates publication-ready financial tables:Header row: Theme primary background (
#1B365D) with bold white text.Alternating rows: Slate gray zebra striping (
#F1F5F9).Subtle OpenXML horizontal borders (
#CBD5E1) vialxml.Left-aligned text in Column 0, right-aligned numbers in Columns $\ge 1$.
Optional bottom source / footnote line.
update_table_cells: Fine-grained cell updates (text, colors, bold, alignment, font sizes).
5. Text & Shape Management (tools/content.py)
manage_text: Add, update, or clear text boxes and multi-level bulleted lists (levels 0–4) with run-level overrides and auto-fit shrink-to-fit sizing.add_bullet_slide: Quick creation of institutional structured bullet slide with header and divider.manage_shapes: Create cards, callout containers, arrows, rectangles, and rounded containers.
6. Media & Charts (tools/media_charts.py)
add_native_chart: Creates native editable PowerPoint charts (COLUMN_CLUSTERED,LINE,PIE,BAR_CLUSTERED) usingCategoryChartData.add_image: Inserts images from a validated local file path or base64 string (e.g. frommatplotlib), locking aspect ratio within a bounding box(left, top, max_width, max_height).
Institutional Navy Palette Specifications
Primary Accent / Header: '#1B365D' (Muted Institutional Navy)
Secondary Accent: '#0F172A' (Slate Navy)
Zebra Row / Card Fill: '#F1F5F9' (Slate Gray)
Border Lines: '#CBD5E1' (Light Slate Border)
Body Text: '#1A1A1A' (Dark Charcoal)
Muted Subtext: '#64748B' (Muted Slate)
Background: '#FFFFFF' (Pure White)
Fonts:
Title: 'Helvetica'
Body: 'Arial'Quality & Automated Verification
Run tests and code formatting checks:
# Run full pytest test suite
uv run pytest -v
# Run Ruff linter and formatter checks
uv run ruff check .
uv run ruff format --check .License
MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate, edit, merge, translate and PDF-convert PowerPoint (.pptx) over MCP. 8 tools.
Create, edit, export and manage presentations. Requires a paid PPT.AI API merchant account.
Create consulting-style presentation decks (editable PowerPoint) from a topic or notes.
Deterministic, fully editable PowerPoint from typed slide intents. 200+ layouts, brand templates.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables creating, analyzing, and managing PowerPoint presentations using pure Node.js. Supports generating professional presentations with custom templates, reading existing files, and performing content analysis through natural language commands.427 npm6Apache 2.0
- FlicenseAqualityDmaintenanceEnables AI assistants to create, edit, and manipulate PowerPoint presentations programmatically with support for text styling, shapes, slide rearrangement, and direct Office XML access.81-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to programmatically create, manipulate, and analyze Microsoft PowerPoint presentations with advanced formatting and template management.5MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to create and manipulate PowerPoint presentations programmatically, including adding slides, exporting to PDF, and reading metadata.12 npm5MIT