create_presentationLABSCO SUMMARY
Deck building where the styling is a call, not a chore.
The consolidated tools are the difference: one text tool that adds, formats and checks fit; one image tool that adds and enhances; one design tool that themes a slide or the whole deck. The built-in slide templates with auto-sizing text keep the output from looking generated, and the extraction tools let an agent read an existing deck before touching it.
What it is
A python-pptx server for PowerPoint, organised into modules for presentations, content, templates, structural elements and professional design.
What you get
- Presentations: create_presentation, create_presentation_from_template with theme preservation, open_presentation, save_presentation, get_presentation_info, get_template_file_info and set_core_properties
- Content: add_slide with optional background styling, populate_placeholder, add_bullet_points, and manage_text which adds, formats, validates and refits text through one tool
- manage_image adds and enhances pictures; apply_picture_effects combines shadow, glow, reflection, bevel and rotation in a single call
- Structure: add_table, format_table_cell, add_shape, add_chart and update_chart_data
- Templates: list_slide_templates, get_template_info, apply_slide_template, create_slide_from_template, create_presentation_from_templates, auto_generate_presentation and optimize_slide_text
- Design: apply_professional_design themes a slide or a whole deck from the built-in colour schemes, and manage_fonts analyses, optimises and recommends typography
- Extras: manage_hyperlinks, manage_slide_masters, add_connector and manage_slide_transitions
- extract_slide_text and extract_presentation_text read a deck's text back out, per slide or across the whole file
Requirements
Python with python-pptx installed — a setup script or uvx will fetch it. Runs over stdio or as a streamable HTTP service, and a container image is included. Template files are found through configurable search directories. No account or key.
Setup effort
One command — npx -y @smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claude
USE CASES
Turning notes into a first-draft deck
Create the file, add slides on the layouts you want, and fill them with formatted bullet points.
Keeping a corporate template's look
Inspect the template's layouts first, build from it so the theme carries over, then apply a scheme across the deck.
Getting data onto a slide
Add the chart with its categories and series, refresh its data later, or lay the numbers out as a table.
Fixing text that overflows its box
Validate the fit and let it resize automatically within the bounds you set, or optimise a whole slide's text at once.
Reading an existing deck before editing it
Extract the text across every slide and check the deck's structure before deciding what to change.
Making the images look deliberate
Add the picture with enhancement applied, then combine shadow, glow and rotation in one effects call.
34 tools
Listed in project docs. Your client may show a different list.
create_presentation_from_templateopen_presentationsave_presentationget_presentation_infoget_template_file_infoset_core_propertiesadd_slideget_slide_infoextract_slide_textextract_presentation_textpopulate_placeholderadd_bullet_pointsmanage_textmanage_imagelist_slide_templatesapply_slide_templatecreate_slide_from_templatecreate_presentation_from_templatesget_template_infoauto_generate_presentationoptimize_slide_textadd_tableformat_table_celladd_shapeadd_chartapply_professional_designapply_picture_effectsmanage_fontsmanage_hyperlinksmanage_slide_mastersadd_connectorupdate_chart_datamanage_slide_transitionsBEFORE YOU INSTALL
What to know first
Tools you get
34 tools named in the project's documentation.
Requires
Python 3.6 or higher
INSTALLATION
Connect your client
Server setup
Claude Desktop — Smithery
npx -y @smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claudeMCP Clients
Any MCP client — local Python
git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git
cd Office-PowerPoint-MCP-Server
pip install -r requirements.txtAdd the block below; <YOUR_PATH_TO_PPT_MCP_SERVER> is the full path to ppt_mcp_server.py in your clone
{
"mcpServers": {
"ppt": {
"command": "python",
"args": [
"<YOUR_PATH_TO_PPT_MCP_SERVER>"
],
"env": {}
}
}
}Any MCP client — uvx
{
"mcpServers": {
"ppt": {
"command": "uvx",
"args": [
"--from",
"office-powerpoint-mcp-server",
"ppt_mcp_server"
],
"env": {}
}
}
}