Skip to main content
Glama

PowerPoint Shapes and Media

ppt_graphics
Destructive

Insert, edit, group, align, distribute, and restack shapes and connectors in PowerPoint; convert SVG to native shapes; manage diagrams, pictures, video, audio, equations, alt text, and reading order.

Instructions

Shapes and media: insert, edit, group, align, distribute and restack shapes; connectors; SVG to native shapes; diagrams; format and position painters; pictures, video and audio; equations; alt text and reading order. Slide text is ppt_edit. Every edit backs the file up first and saves atomically. Operations, one per line, as name: what it does:

  • insert_shape: Insert a native shape (a preset like rect or ellipse, or a freeform path) at a position in inches.

  • insert_connector: Draw a straight, elbow or curved connector; ends glued to shapes follow them when they move.

  • set_shape: Edit one shape by id or name, inside groups too: position, size, rotation, fill, line, effect, text or name; only the values given change.

  • set_shape_adjustments: Read or set a preset shape's adjust handles: an arc's start and end angles, a rounded corner, an arrow's head, an elbow's bend.

  • delete_shape: Delete one shape, group or connector by id; connectors glued to it are kept and unglued.

  • group_shapes: Group two or more shapes by id into one group, like Ctrl+G.

  • ungroup_shapes: Ungroup one group by id, keeping each member's position and size, like Ctrl+Shift+G.

  • align_shapes: Align shapes left, center, right, top, middle or bottom, to each other or to the slide.

  • distribute_shapes: Space three or more shapes evenly across or down; the outer two stay put.

  • set_z_order: Bring a shape to the front or back, or one step forward or backward.

  • svg_to_shapes: Turn SVG markup into a group of native, editable shapes (no images); unsupported features are reported.

  • set_diagram_text: Replace the text of nodes in an existing SmartArt diagram, leaving its layout and styling alone.

  • generate_diagram: Build a timeline, org chart, matrix, cycle or comparison diagram of editable shapes from one spec.

  • copy_format: Copy one shape's fill, line, effects and text style onto other shapes. More operations follow, in the same format, in the op parameter's description.

Input Schema

NameRequiredDescriptionDefault
opYesThe operation to run: one listed in this tool's description, or one of these, in the same format: - copy_position: Copy one shape's position and size onto the same-named shape on other slides. - copy_shape_between: Copy one shape or group from a slide of another deck (or this one) onto a slide, with its pictures and charts; drop members, resize, scale text. - insert_image: Place a picture (PNG, JPEG, GIF, BMP or TIFF) on a slide at a position in inches. - replace_image: Swap the picture in an image shape, keeping its position, size, crop and effects. - set_image: Move, resize, crop, rename or set alt text on a picture by shape id; only the values given change. - replace_image_everywhere: Swap every copy of one picture across slides, layouts and masters, keeping each one's geometry. - insert_video: Embed an MP4 video on a slide; other formats are refused. - insert_audio: Embed MP3, M4A or WAV audio on a slide; other formats are refused. - set_media_playback: Set how a video or audio plays: start, loop, rewind, mute, volume, full screen; only the values given change. - insert_equation: Insert a LaTeX equation as native, editable PowerPoint math in a new text box. - add_equation_to_shape: Add a LaTeX equation as a new math paragraph inside an existing shape's text. - set_alt_text: Set or clear the alt text screen readers read, on any shape by id. - set_reading_order: Set a slide's screen-reader order by listing every top-level shape id; this also changes stacking order.
argsNoThe operation's arguments as an object, including file_path unless the operation names other paths or reads no deck; unknown keys are refused. Slides count from 1 in slide_number and from 0 in slide: the user's slide 2 is slide_number 2 or slide 1. ppt_help lists every argument.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real behavioral context beyond the annotations: 'Every edit backs the file up first and saves atomically' tells the agent about rollback safety and write atomicity, which the destructiveHint=true flag alone does not convey. Per-op semantics also disclose side effects (delete_shape 'connectors glued to it are kept and unglued', set_reading_order 'also changes stacking order', svg_to_shapes 'unsupported features are reported') and partial-update behavior ('only the values given change').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with a scoping paragraph, then a uniform 'name: what it does' list that is easy to scan, with an explicit pointer that the rest continues in the op parameter. The list is long, but each line carries distinct information; the one inefficiency is splitting the op catalogue across description and schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 27-operation dispatch tool with no output schema, the description covers the operation catalogue, the safety model (backup plus atomic save), the slide-indexing convention, unknown-key rejection, and where to find argument detail. It does not describe what a successful op returns or any preconditions such as the file needing to exist, which is the main remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the op enum description carries the remaining 13 operations in the same format, so the enum values are fully self-documenting. The description also adds semantics the schema can't express, such as 'a position in inches' and the slide numbering convention, but the freeform args object is deferred entirely to ppt_help rather than per-op argument names, leaving a gap for a 27-op tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a concrete verb set and resource domain ('insert, edit, group, align, distribute and restack shapes... pictures, video and audio; equations; alt text'), then enumerates 14 named operations with one-line definitions. It also explicitly carves out the boundary 'Slide text is ppt_edit', so an agent can separate this tool from at least the nearest sibling without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Routing is stated for the main ambiguity ('Slide text is ppt_edit'), and each op line describes when that op is the right one (e.g. 'distribute_shapes: Space three or more shapes evenly...; the outer two stay put'). It lacks explicit when-not guidance for the media/equation/a11y ops and doesn't say to prefer this over ppt_design or ppt_tables, but the operational context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.