wolf-ms-ppt-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_presentationC | Create a new PowerPoint presentation and make it the current one. Args: path: Optional file path where the presentation will be saved later. template_path: Optional .pptx or .potx template to base the deck on. When omitted, a blank 16:9 presentation is created. |
| open_presentationB | Open an existing .pptx file and make it the current presentation. Args: path: Path to the .pptx file to open. |
| save_presentationB | Save the current presentation to its current path. |
| save_asC | Save the current presentation to a new path. Args: path: Destination path for the .pptx file. |
| list_slidesA | List all slides in the current presentation. Returns the index, layout name, title, shape count and a short text preview for each slide. |
| inspect_slideA | Return detailed information about one slide. Includes each shape's id, name, type, placeholder status, position and size (in inches), plus text and image metadata when present. Args: index: Zero-based index of the slide. |
| add_slideA | Add a new slide to the current presentation. Args: layout_name: Name of the slide layout to use. Defaults to "Title and Content" when available, otherwise "Blank". index: Optional zero-based position to insert the slide at. When omitted, the slide is appended at the end. |
| duplicate_slideA | Duplicate a slide, copying its shapes, background and images. Args: index: Zero-based index of the slide to duplicate. new_index: Optional zero-based position for the copy. When omitted, the copy is appended at the end. |
| delete_slideB | Delete a slide from the current presentation. Args: index: Zero-based index of the slide to delete. |
| move_slideC | Move a slide to a new position. Args: from_index: Zero-based index of the slide to move. to_index: Zero-based destination index. |
| set_slide_textB | Set the text of a slide. Args: index: Zero-based index of the slide. content: Either a string (sets the slide title) or an object mapping targets to text. Targets can be "title", "subtitle", "body", "content", a placeholder index as a string, or a shape name. Values can be strings or lists of paragraphs. |
| add_text_boxB | Add a text box to a slide. Coordinates and size are in inches. Args: index: Zero-based index of the slide. text: Text content (use \n for multiple paragraphs). x: Left position in inches. y: Top position in inches. w: Width in inches. h: Height in inches. |
| replace_textC | Replace exact text in the current presentation. Args: find: Text to search for (must be non-empty). replace: Replacement text. scope: None or "all" for every slide, or a zero-based slide index. |
| add_imageB | Insert an image from a local path or an http(s) URL. Args: index: Zero-based index of the slide. source: Local file path or http(s) URL. x: Left position in inches. y: Top position in inches. w: Optional width in inches (keeps aspect ratio if h is omitted). h: Optional height in inches (keeps aspect ratio if w is omitted). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Tools are cleanly separated by object and action: presentation lifecycle, slide CRUD/reorder, and content insertion/replacement. The only mild overlap is set_slide_text vs replace_text vs add_text_box, but the descriptions make their scopes clear.
All tools use snake_case and start with an action verb, mostly following a verb_noun pattern such as create_presentation, list_slides, and add_image. save_as is a minor deviation from strict verb_noun naming but remains predictable.
Fourteen tools is well within the appropriate range for a PowerPoint authoring server. The set covers presentation, slide, and basic content operations without excessive fragmentation.
Core presentation and slide lifecycle is covered, plus text and image insertion. However, content editing is incomplete: there is no shape/image deletion or update, no table/chart/shape drawing, and no formatting or notes operations, creating dead ends for richer edits.