MCP server for Microsoft PowerPoint with live COM automation on Windows.
32 cross-platform tools (python-pptx) work everywhere. 26 Windows-only live tools use COM automation to work with presentations while they're open in PowerPoint — picture effects, shape formatting, transitions, PDF/image export, and more that python-pptx simply cannot do.
This project builds on GongRzhe/Office-PowerPoint-MCP-Server (32 tools) and adds 26 Windows COM tools:
| Category | New Tools | What They Do |
|---|---|---|
| Read (COM) | ppt_live_get_info, ppt_live_get_text, ppt_live_get_slide_info, ppt_live_find_text, ppt_live_get_notes, ppt_live_list_comments, ppt_live_list_open |
Read from open presentations |
| Edit (COM) | ppt_live_insert_text, ppt_live_replace_text, ppt_live_add_slide, ppt_live_delete_slide, ppt_live_set_notes, ppt_live_add_image, ppt_live_add_comment, ppt_live_delete_comment |
Edit open presentations |
| Format (COM) | ppt_live_format_picture, ppt_live_format_shape, ppt_live_arrange_shapes, ppt_live_set_transition, ppt_live_set_header_footer, ppt_live_manage_sections, ppt_live_modify_table |
Effects and formatting python-pptx can't do |
| Export (COM) | ppt_live_export_pdf, ppt_live_export_slide_image, ppt_live_export_shape_image |
PDF and image export |
| Screen capture | ppt_screen_capture |
Screenshot of the PowerPoint window |
These features are only possible via COM — python-pptx has no support:
- Picture formatting (brightness, contrast, crop, transparency)
- Shape effects (shadow, glow, reflection, soft edge, 3D)
- Slide transitions and timing
- Presentation sections
- Table modification (add/delete rows/columns, merge cells)
- PDF and image export
- Arrange shapes (group, align, distribute, z-order)
- Headers, footers, and slide numbers
These work on Windows, macOS, and Linux using python-pptx.
Presentation Management (7)
| Tool | Description |
|---|---|
create_presentation |
Create a new presentation |
create_presentation_from_template |
Create from a template file |
open_presentation |
Open an existing presentation |
save_presentation |
Save to file |
get_presentation_info |
Get presentation metadata |
get_template_file_info |
Get template layouts and properties |
set_core_properties |
Set document properties |
Content (8)
| Tool | Description |
|---|---|
add_slide |
Add a new slide with optional background |
get_slide_info |
Get slide shape information |
extract_slide_text |
Extract text from a slide |
extract_presentation_text |
Extract text from all slides |
populate_placeholder |
Fill a placeholder with text |
add_bullet_points |
Add bullet points to a placeholder |
manage_text |
Unified text management (add, format, validate) |
manage_image |
Unified image management (add, enhance) |
Structural Elements (4)
| Tool | Description |
|---|---|
add_table |
Add a table with formatting options |
format_table_cell |
Format a specific table cell |
add_shape |
Add an auto shape with options |
add_chart |
Add a chart with comprehensive formatting |
Professional Design (3)
| Tool | Description |
|---|---|
apply_professional_design |
Themes, slides, and visual enhancements |
apply_picture_effects |
Apply multiple picture effects |
manage_fonts |
Font analysis, optimization, recommendations |
Templates (7)
| Tool | Description |
|---|---|
list_slide_templates |
List available layout templates |
apply_slide_template |
Apply a template to an existing slide |
create_slide_from_template |
Create slide from a template |
create_presentation_from_templates |
Create presentation from template sequence |
get_template_info |
Get template details |
auto_generate_presentation |
Auto-generate from topic and preferences |
optimize_slide_text |
Optimize text for readability |
Advanced Features (5)
| Tool | Description |
|---|---|
manage_hyperlinks |
Add, remove, list, update hyperlinks |
update_chart_data |
Replace chart data |
add_connector |
Add connector lines between shapes |
manage_slide_masters |
Access and manage slide masters |
manage_slide_transitions |
Basic transition support |
Utility (3)
| Tool | Description |
|---|---|
list_presentations |
List loaded presentations |
switch_presentation |
Switch active presentation |
get_server_info |
Server information |
These require Windows with Microsoft PowerPoint installed. They operate on currently open presentations via COM automation.
| Tool | Description |
|---|---|
| Read | |
ppt_live_get_info |
Presentation metadata (name, slides, dimensions) |
ppt_live_get_text |
Extract all text and speaker notes |
ppt_live_get_slide_info |
Detailed shape info for a slide |
ppt_live_find_text |
Search text across all slides |
ppt_live_get_notes |
Get speaker notes |
ppt_live_list_comments |
List all comments |
ppt_live_list_open |
List open presentations |
| Edit | |
ppt_live_insert_text |
Insert text into a shape |
ppt_live_replace_text |
Find and replace text |
ppt_live_add_slide |
Add a new slide |
ppt_live_delete_slide |
Delete a slide |
ppt_live_set_notes |
Set speaker notes |
ppt_live_add_image |
Add an image |
ppt_live_add_comment |
Add a comment |
ppt_live_delete_comment |
Delete a comment |
| Format | |
ppt_live_format_picture |
Brightness, contrast, crop, transparency |
ppt_live_format_shape |
Shadow, glow, reflection, 3D, fill, line |
ppt_live_arrange_shapes |
Group, align, distribute, z-order, flip |
ppt_live_set_transition |
Slide transitions and timing |
ppt_live_set_header_footer |
Slide numbers, date, footer |
ppt_live_manage_sections |
List, add, rename, delete sections |
ppt_live_modify_table |
Add/delete rows/columns, merge cells |
| Export | |
ppt_live_export_pdf |
Export to PDF |
ppt_live_export_slide_image |
Export slide as PNG/JPG |
ppt_live_export_shape_image |
Export a shape as image |
| Screen Capture | |
ppt_screen_capture |
Screenshot of the PowerPoint window |
{
"mcpServers": {
"pptx": {
"command": "python",
"args": ["path/to/ppt_mcp_server.py"],
"env": {
"MCP_AUTHOR": "Your Name",
"MCP_AUTHOR_INITIALS": "YN"
}
}
}
}{
"mcpServers": {
"pptx": {
"command": "uvx",
"args": ["--from", "pptx-mcp-live", "ppt_mcp_server"]
}
}
}git clone https://github.com/ykarapazar/pptx-mcp-live.git
cd pptx-mcp-live
pip install -r requirements.txt
python ppt_mcp_server.py- Python 3.10+
python-pptx,mcp[cli],Pillow,fonttools(seerequirements.txt)- Windows Live tools only: Windows 10/11 + Microsoft PowerPoint +
pywin32
Built on top of GongRzhe/Office-PowerPoint-MCP-Server (MIT License).
Additional libraries: python-pptx, pywin32.
MIT License — see LICENSE for details.