Complete Feature Reference¶
PowerPoint MCP Server exposes 13 MCP tools with 141 operations across 13 domains. Every domain is a single action-dispatch tool that takes an action parameter — for example presentation(action="open", filePath="C:\\Decks\\q4.pptx") or chart(action="add-chart", session_id="...", slide_index=2, ...).
The CLI mirrors the same domain model:
pptcli session <action> ...for thepresentationdomain's session/template/property workpptcli <domain> <action> ...for all other domains, such aspptcli chart add-chart ...
Tool matrix¶
| Tool | Ops | What it covers | MCP call shape | CLI shape |
|---|---|---|---|---|
presentation | 12 | Session lifecycle, template application, built-in/custom document properties | presentation(action="...", ...) | pptcli session <action> ... |
slide | 14 | Slide lifecycle, slide backgrounds, sections | slide(action="...", session_id=..., ...) | pptcli slide <action> -s <SESSION_ID> ... |
shape | 36 | Shapes, geometry, styling, effects, grouping, naming, hyperlinks | shape(action="...", session_id=..., ...) | pptcli shape <action> -s <SESSION_ID> ... |
textframe | 20 | Text content and text formatting | textframe(action="...", session_id=..., ...) | pptcli textframe <action> -s <SESSION_ID> ... |
table | 12 | Table creation and cell editing/formatting | table(action="...", session_id=..., ...) | pptcli table <action> -s <SESSION_ID> ... |
notes | 2 | Speaker notes | notes(action="...", session_id=..., ...) | pptcli notes <action> -s <SESSION_ID> ... |
layout | 4 | Slide layouts | layout(action="...", session_id=..., ...) | pptcli layout <action> -s <SESSION_ID> ... |
master | 10 | Slide master fonts and backgrounds | master(action="...", session_id=..., ...) | pptcli master <action> -s <SESSION_ID> ... |
animation | 5 | Shape effects and slide transitions | animation(action="...", session_id=..., ...) | pptcli animation <action> -s <SESSION_ID> ... |
image | 7 | Picture insertion and picture adjustments (brightness/contrast, recolor, crop) | image(action="...", session_id=..., ...) | pptcli image <action> -s <SESSION_ID> ... |
chart | 10 | Native charts, titles, axes, legend, data replacement | chart(action="...", session_id=..., ...) | pptcli chart <action> -s <SESSION_ID> ... |
smartart | 7 | SmartArt diagrams and node editing | smartart(action="...", session_id=..., ...) | pptcli smartart <action> -s <SESSION_ID> ... |
export | 2 | Export-to-verify image rendering | export(action="...", session_id=..., ...) | pptcli export <action> -s <SESSION_ID> ... |
Domain reference¶
presentation tool (12 operations)¶
Use presentation for session lifecycle, templates/themes, and document properties. create and open establish a session and return a sessionId; the remaining edit/read actions use that sessionId.
| Action | What it does |
|---|---|
create | Create a new presentation file, save it immediately, and leave the session open. |
open | Open an existing presentation file and start a session. |
save | Save the presentation for an open session. |
close | Close an open session; PowerPoint shutdown continues in the background. |
list | List all currently open sessions. |
apply-template | Apply a .potx/.potm/.pot or .pptx/.pptm template source while preserving slide content. |
get-theme-name | Read the currently applied design/theme name. |
set-document-property | Set a built-in document metadata property such as Title or Author. |
get-document-property | Read a built-in document metadata property. |
set-custom-property | Create or update a custom document property. |
get-custom-property | Read a custom document property. |
remove-custom-property | Remove a custom document property. |
Exact action order: create, open, save, close, list, apply-template, get-theme-name, set-document-property, get-document-property, set-custom-property, get-custom-property, remove-custom-property
slide tool (14 operations)¶
| Action | What it does |
|---|---|
add-blank | Add a blank slide. |
get-count | Return the slide count. |
delete | Delete a slide by 1-based index. |
duplicate | Duplicate a slide. |
move-to | Move a slide to a new 1-based position. |
set-background-color | Set a slide's solid background color. |
get-background-color | Read a slide's solid background color / master-follow state. |
set-gradient-background | Set a slide's gradient background. |
get-gradient-background | Read a slide's gradient background. |
add-section | Add a section. |
rename-section | Rename a section. |
delete-section | Delete a section. |
get-section-count | Return the section count. |
get-section-name | Read a section name. |
Exact action order: add-blank, get-count, delete, duplicate, move-to, set-background-color, get-background-color, set-gradient-background, get-gradient-background, add-section, rename-section, delete-section, get-section-count, get-section-name
shape tool (36 operations)¶
Use shape for shape creation, geometry, styling, effects, grouping, naming, alt text, and hyperlinks.
Exact action order: add-rectangle, add-text-box, add-auto-shape, add-line, add-connector, get-count, delete, set-position, set-size, set-fill, get-fill, set-line, get-line, set-rotation, get-rotation, flip, set-z-order, set-shadow, get-shadow, set-glow, get-glow, set-reflection, get-reflection, set-soft-edge, get-soft-edge, set-bevel, get-bevel, group, ungroup, set-name, get-name, set-alt-text, get-alt-text, set-hyperlink, get-hyperlink, remove-hyperlink
textframe tool (20 operations)¶
Use textframe for text content and font/paragraph formatting on a shape's text frame.
Exact action order: set-text, get-text, set-font-size, get-font-size, set-bold, get-bold, set-font-color, get-font-color, set-italic, get-italic, set-underline, get-underline, set-font-name, get-font-name, set-alignment, get-alignment, set-bullet, get-bullet, set-auto-size, get-auto-size
table tool (12 operations)¶
Use table for native PowerPoint tables.
Exact action order: add-table, set-cell-text, get-cell-text, insert-row, delete-row, insert-column, delete-column, set-cell-fill, get-cell-fill, set-cell-border, get-cell-border, merge-cells
notes tool (2 operations)¶
Exact action order: set-notes-text, get-notes-text
layout tool (2 operations)¶
Exact action order: set-layout, get-layout
master tool (8 operations)¶
Use master for deck-wide master placeholder fonts and master backgrounds.
Exact action order: get-title-font, set-title-font, get-body-font, set-body-font, get-background-color, set-background-color, set-gradient-background, get-gradient-background
animation tool (5 operations)¶
Exact action order: add-effect, get-effect-count, delete-effect, get-transition, set-transition
image tool (7 operations)¶
Use image for inserting and adjusting pictures.
Exact action order: add-picture, set-brightness-contrast, get-brightness-contrast, set-recolor, get-recolor, set-crop, get-crop
chart tool (10 operations)¶
Use chart for native PowerPoint charts.
Exact action order: add-chart, get-chart-data, add-series, set-chart-title, get-chart-title, set-axis-title, get-axis-title, set-legend-visibility, get-legend-visibility, replace-chart-data
smartart tool (7 operations)¶
Use smartart for SmartArt diagrams and node editing.
Exact action order: add-smart-art, add-node, add-child-node, set-node-text, get-node-text, delete-node, get-node-count
export tool (2 operations)¶
Use export for the project's export-to-verify loop.
Exact action order: export-slide-to-image, export-all-slides-to-images
Why export-to-verify matters
Because the tools drive a real PowerPoint desktop instance, every visual edit can be rendered to an image and checked by a vision-capable AI assistant before the deck is declared done.
Design principles¶
- Single action-dispatch tool per domain — fewer MCP tools, clearer schemas, same total power.
action, notoperation— every MCP domain tool selects its behavior with anactionenum parameter.- 1-based indexing everywhere — slides, shapes, rows, and columns all match PowerPoint's own object model.
- Sessions are explicit — open/create once, do the work, save, then close.
- Export to verify — when a change is visual, render it and inspect the image.