Skip to content

Complete Feature Reference

PowerPoint MCP Server exposes 32 MCP tools with 215 operations across 17 domains. The tool total includes 15 read-only aliases; the operation total counts each unique action once. 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", presentation_session_id="...", slide_index=2, ...).

The CLI mirrors the same domain model:

  • pptcli session <action> ... for the presentation domain's session/template/property work
  • pptcli <domain> <action> ... for all other domains, such as pptcli chart add-chart ...

Tool matrix

Tool Ops What it covers MCP call shape CLI shape
presentation 20 Session lifecycle, Save As/copy, templates, advisory Mark as Final, document properties, string tags presentation(action="...", ...) pptcli session <action> ...
slide 26 Slide lifecycle, visibility, backgrounds, sections, comments, import, string tags slide(action="...", presentation_session_id=..., ...) pptcli slide <action> -s <SESSION_ID> ...
shape 57 Shapes, free-floating and attached connectors, WordArt, 3D rotation, alignment/distribution, styling, grouping, boolean merging, hyperlinks, linked pictures, placeholders, duplication and cross-slide copying, string tags shape(action="...", presentation_session_id=..., ...) pptcli shape <action> -s <SESSION_ID> ...
textframe 22 Text content, find/replace, and text formatting textframe(action="...", presentation_session_id=..., ...) pptcli textframe <action> -s <SESSION_ID> ...
table 12 Table creation and cell editing/formatting table(action="...", presentation_session_id=..., ...) pptcli table <action> -s <SESSION_ID> ...
notes 2 Speaker notes notes(action="...", presentation_session_id=..., ...) pptcli notes <action> -s <SESSION_ID> ...
layout 4 Slide layouts layout(action="...", presentation_session_id=..., ...) pptcli layout <action> -s <SESSION_ID> ...
pagesetup 5 Slide size, numbering, footer, date/time pagesetup(action="...", presentation_session_id=..., ...) pptcli pagesetup <action> -s <SESSION_ID> ...
accessibility 3 Deterministic audit and reading order accessibility(action="...", presentation_session_id=..., ...) pptcli accessibility <action> -s <SESSION_ID> ...
master 12 Theme color/font inspection, slide master fonts and backgrounds master(action="...", presentation_session_id=..., ...) pptcli master <action> -s <SESSION_ID> ...
animation 5 Shape effects and slide transitions animation(action="...", presentation_session_id=..., ...) pptcli animation <action> -s <SESSION_ID> ...
image 16 Picture insertion, compression, crop frames, brightness/contrast, recoloring, and transparency image(action="...", presentation_session_id=..., ...) pptcli image <action> -s <SESSION_ID> ...
media 2 Embedded or linked audio/video insertion and native media metadata media(action="...", presentation_session_id=..., ...) pptcli media <action> -s <SESSION_ID> ...
chart 16 Native charts, titles, legend, data replacement, styles, colors, data tables chart(action="...", presentation_session_id=..., ...) pptcli chart <action> -s <SESSION_ID> ...
smartart 7 SmartArt diagrams and node editing smartart(action="...", presentation_session_id=..., ...) pptcli smartart <action> -s <SESSION_ID> ...
export 3 PDF delivery and export-to-verify image rendering export(action="...", presentation_session_id=..., ...) pptcli export <action> -s <SESSION_ID> ...
customshow 3 Named custom shows: curated, ordered subsets of a presentation's slides customshow(action="...", presentation_session_id=..., ...) pptcli customshow <action> -s <SESSION_ID> ...

Domain reference

presentation tool (20 operations)

Use presentation for session lifecycle, Save As/copy, templates/themes, Mark as Final, and document properties. create and open establish a session and return a presentation_session_id; the remaining edit/read actions use that presentation_session_id.

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.
close Close an open session, optionally saving first; PowerPoint shutdown continues in the background.
list List all currently open sessions.
test Check whether PowerPoint can open a file without retaining a live session.
save-as Save the active presentation under a new .pptx, .pptm, or .ppt path and update the session to that path. Existing files require overwrite=true.
save-copy-as Save a copy using the active presentation's current format without changing the active presentation or session path. Existing files require overwrite=true.
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.
get-final Read PowerPoint's advisory Mark as Final editing flag. It is not authentication, encryption, or access control.
set-final Save current changes, then set or clear PowerPoint's advisory Mark as Final editing flag.
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.
set-tag Create or update a case-insensitive presentation string tag.
get-tag Read a presentation string tag by case-insensitive name.
list-tags List presentation string tags in native 1-based order.
delete-tag Delete a presentation string tag by case-insensitive name.

Exact action order: create, open, close, list, test, save-as, save-copy-as, apply-template, get-theme-name, get-final, set-final, set-document-property, get-document-property, set-custom-property, get-custom-property, remove-custom-property, set-tag, get-tag, list-tags, delete-tag

slide tool (26 operations)

Action What it does
add-blank Add a blank slide.
get-count Return the slide count.
inspect Return bounded slide metadata and text previews.
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.
set-hidden Include or exclude a slide from slide-show playback.
set-display-master-shapes Show or hide shapes inherited from the slide master.
rename-section Rename a section.
delete-section Delete a section.
get-section-count Return the section count.
get-section-name Read a section name.
list-comments List legacy slide comments exposed by the native PowerPoint COM API.
add-comment Add a legacy comment to a slide.
delete-comment Delete a legacy comment by 1-based index.
clear-comments Remove all legacy comments from a slide.
import-from-file Insert a 1-based source slide range after a destination slide.

Exact action order: add-blank, get-count, inspect, 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, list-comments, add-comment, delete-comment, clear-comments, set-hidden, set-display-master-shapes, import-from-file, set-tag, get-tag, list-tags, delete-tag

shape tool (57 operations)

Use shape for shape creation, WordArt, geometry, alignment/distribution, styling, 3D effects, grouping and boolean merging, naming, alt text, hyperlinks, linked pictures, placeholders, same-slide duplication, and cross-slide copying.

Exact action order: add-rectangle, add-text-box, add-text-effect, add-auto-shape, add-line, add-connector, add-attached-connector, get-count, delete, set-position, set-size, set-fill, get-fill, set-line, get-line, copy-formatting, duplicate, copy-to-slide, set-rotation, get-rotation, set-3d-rotation, get-3d-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, align, distribute, ungroup, merge, set-name, get-name, set-alt-text, get-alt-text, set-hyperlink, get-hyperlink, remove-hyperlink, get-link-info, update-link, break-link, set-link-auto-update, list-placeholders, set-placeholder-text, set-placeholder-image, set-tag, get-tag, list-tags, delete-tag

textframe tool (22 operations)

Use textframe for text content and font/paragraph formatting on a shape's text frame. find-text and replace-text perform literal, non-overlapping matching within the selected shape, with optional case and whole-word matching. Replacement can delete matches with an explicit empty string and preserves character formatting outside the matched ranges.

Exact action order: set-text, get-text, find-text, replace-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 (4 operations)

Exact action order: set-layout, get-layout, list-layouts, delete-layout

pagesetup tool (5 operations)

Use pagesetup for presentation-wide slide dimensions, numbering, and footer settings.

Exact action order: get-settings, set-size, set-first-slide-number, get-footer, set-footer

accessibility tool (3 operations)

Use accessibility for deterministic checks and slide reading order. The audit covers missing alternative text on visual content and empty title placeholders; it is not an AI writing review.

Exact action order: audit, get-reading-order, set-reading-order

master tool (12 operations)

Use master for theme color/font inspection, 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, list-masters, get-theme-colors, get-theme-fonts, delete-master

animation tool (5 operations)

Exact action order: add-effect, get-effect-count, delete-effect, get-transition, set-transition

image tool (16 operations)

Use image to insert pictures, adjust color and transparency, set crop geometry, and compress one picture, a slide, or the full presentation.

Exact action order: add-picture, set-brightness-contrast, get-brightness-contrast, increment-brightness, increment-contrast, set-recolor, get-recolor, set-transparency-color, get-transparency-color, set-transparent-background, get-transparent-background, set-crop, get-crop, set-crop-frame, get-crop-frame, compress-pictures

media tool (2 operations)

Use media to insert embedded or linked audio/video and inspect PowerPoint's native media type.

Exact action order: add-media, get-media-info

chart tool (16 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, get-style, set-style, get-color-style, set-color-style, get-data-table, set-data-table

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 (3 operations)

Use export for the project's export-to-verify loop.

Exact action order: export-to-pdf, export-slide-to-image, export-all-slides-to-images

customshow tool (3 operations)

Use customshow for named custom shows: curated, ordered subsets of a presentation's slides, used to reuse one deck for different audiences. A custom show may repeat a slide and does not need to include every slide.

Action What it does
list List all custom shows, each with its current 1-based slide indices in playback order.
create Create a named custom show from an ordered list of 1-based slide indices.
delete Delete a custom show by name.

Exact action order: list, create, delete

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, not operation — every MCP domain tool selects its behavior with an action enum 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, then close with the chosen save behavior.
  • Export to verify — when a change is visual, render it and inspect the image.