powerpoint-automation-mcp
If you are the rightful owner of powerpoint-automation-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcpreview.com.
This project demonstrates how to use MCP (Model Completion Protocol) to create a server that provides PowerPoint automation capabilities for Amazon Q.
MCP Server Demo - PowerPoint Automation
This project demonstrates how to use MCP (Model Completion Protocol) to create a server that provides PowerPoint automation capabilities for Amazon Q.
Demo
https://github.com/user-attachments/assets/3daf3bef-4d75-4639-a891-0e64b80b4807
Features
- Create, open, and save PowerPoint presentations
- Add and modify slides
- Add text boxes, images, tables, and charts
- Update text content and shape properties
- Retrieve table content
Running the Server
To run the server:
uv run --directory /path/to/mcp-ppt-server mcp-ppt-server
Usage
The server exposes various tools for PowerPoint automation that can be called via MCP. The server is designed to work with a single active presentation at a time, which simplifies the API by eliminating the need to track and specify presentation IDs.
Presentation Management
initialize_powerpoint()
: Initialize PowerPoint automationcreate_presentation(template=None)
: Create a new presentation, optionally using a template fileopen_presentation(file_path)
: Open an existing presentation from the specified pathget_presentation()
: Get information about the currently active presentationsave_presentation(path=None)
: Save the active presentation to disk (path is optional if presentation was previously saved)close_presentation()
: Close the active presentation
Slide Management
get_slides()
: Get a list of all slides in the active presentationadd_slide(layout_index=1)
: Add a new slide with specified layout (default is Title and Content)- Layout options: 0=Title slide, 1=Title and content, 2=Section header, 3=Two content, etc.
set_slide_title(slide_index, title)
: Set the title text of a slide
Content Management
get_slide_text(slide_index)
: Get all text content in a slideget_slide_shapes(slide_index)
: Get all shapes in a slide with their IDs and propertiesupdate_text(slide_index, shape_index, text)
: Update the text content of a shapeupdate_shape_by_id(slide_index, shape_id, text=None, left=None, top=None, width=None, height=None)
: Update a shape by its ID with new propertiesupdate_table_cell(slide_index, shape_index, row, col, text)
: Update the text in a table cell
Adding Content
add_textbox(slide_index, text, left=1, top=1, width=4, height=2)
: Add a text box to a slideadd_image(slide_index, image_path, left=1, top=1, width=None, height=None)
: Add an image to a slideadd_table(slide_index, rows, cols, left=1, top=1, width=8, height=4)
: Add a table to a slideget_table_content(slide_index, shape_index)
: Retrieve the content of a table in a slideadd_chart(slide_index, chart_type, categories, series_names, series_values, left=1, top=1, width=8, height=4, has_legend=True)
: Add a chart to a slide with multiple data series- Chart types: 'COLUMN', 'LINE', 'PIE', 'BAR'
categories
: List of category names (x-axis labels)series_names
: List of series names for the legendseries_values
: List of lists containing values for each series
Error Handling
Most functions return a dictionary with either success information or error details. Always check for the presence of an "error" key in the returned dictionary to handle errors appropriately.
Example error response:
{
"error": "No active presentation. Please open or create a presentation first."
}
MCP Config
{
"mcpServers": {
"ppt-mcp-server": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/mcp-ppt-server",
"mcp-ppt-server"
]
}
}
}
Related MCP Servers
View all browser_automation servers →Fetch
by modelcontextprotocol
A Model Context Protocol server that provides web content fetching capabilities, enabling LLMs to retrieve and process content from web pages.
markdownify-mcp
by zcaceres
Markdownify is a Model Context Protocol (MCP) server that converts various file types and web content to Markdown format.
deepwiki-mcp
by regenrek
This is an unofficial Deepwiki MCP Server that processes Deepwiki URLs, crawls pages, converts them to Markdown, and returns documents or lists by page.
mcp-playwright
by executeautomation
A Model Context Protocol server that provides browser automation capabilities using Playwright.
browser-use-mcp-server
by co-browser
An MCP server that enables AI agents to control web browsers using browser-use.
fetch-mcp
by zcaceres
This MCP server provides functionality to fetch web content in various formats, including HTML, JSON, plain text, and Markdown.
web-eval-agent
by Operative-Sh
operative.sh's MCP Server is a tool for autonomous debugging of web applications directly from your code editor.