Skip to main content
Glama

Edit PowerPoint Slides and Text

ppt_edit
Destructive

Batch-edit PowerPoint slide text and slides: find/replace, format text, manage bullets, notes, hyperlinks, and insert, delete, duplicate, reorder, hide, or section slides with automatic backups.

Instructions

Slide text and slides: the batch editor (apply_edits), find and replace, placeholders, fit, text formatting, bullets, text boxes, notes, hyperlinks, and inserting, deleting, duplicating, ordering, hiding and sectioning slides. Shapes and pictures are ppt_graphics; tables and charts are ppt_tables. Every edit backs the file up first and saves atomically. Edits to a deck open in PowerPoint stay unsaved for the user to review and save; call live_save only when the user asks. Operations, one per line, as name: what it does:

  • apply_edits: Apply many edits (text, paragraphs, shapes, tables, speaker notes) in one call: one backup and one save; one stale anchor refuses all.

  • search_and_replace: Find and replace across the deck, SmartArt text included, keeping each run's formatting.

  • set_placeholder_text: Fill a layout placeholder (title, subtitle, body) with text that takes the layout's styling.

  • fit_text: Shrink overflowing text to fit its box; this is an estimate, so check with export_slide_image.

  • format_text: Format existing text in one shape: whole shape, one paragraph, or a character range (start/end from find_text, file-mode only).

  • set_bullets: Set character, numbered or no bullets on a text shape's paragraphs.

  • insert_textbox: Add a free text box at a position in inches, for labels and callouts.

  • set_notes: Replace one slide's speaker notes, or many in one save with notes; dropping bold, bullets or links needs flatten=true.

  • delete_notes: Remove one slide's speaker notes entirely.

  • set_hyperlink: Set a hyperlink (a URL or a jump to a slide) on a shape or text range, replacing any link there.

  • remove_hyperlink: Remove hyperlinks from a shape or text range.

  • insert_slide: Add a slide from a layout (by name or index), with the layout's placeholders ready to fill.

  • delete_slide: Delete a slide and everything only it used; links to it are disabled. set_slide_hidden keeps it instead. 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: - duplicate_slide: Copy a slide with its notes, charts and embedded objects; the copy lands after the original by default. - reorder_slides: Put every slide in a new order in one call; the order must list every slide exactly once. - move_slide: Move one slide to a new 0-based position. - set_slide_hidden: Hide or unhide a slide; hidden slides keep their content but are skipped in the show. - manage_section: Create, rename or delete a section, or move a slide into one (action); slides are never deleted. - set_language: Set the proofing language on every text run across slides, layouts, masters, notes and charts.
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.9/5.0
Behavior5/5

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

Adds substantial context beyond annotations: every edit backs the file up first and saves atomically, edits to a deck open in PowerPoint stay unsaved for review, and a single stale anchor refuses the entire apply_edits batch. It also discloses side effects of specific ops (links to a deleted slide are disabled, delete_slide removes only it used) — all far beyond destructiveHint=true.

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?

Well front-loaded: routing summary, then behavioral guarantees, then a one-line-per-operation list with a pointer to the op description for the rest. Dense but nearly every clause carries information; the length is justified by 19 operations, though the boundary between description and op schema could be tighter.

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

Completeness5/5

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

For a destructive, multi-operation batch editor with nested args and no output schema, the definition covers safety (backup/atomic save), side effects, op selection, argument shape, and a route to ppt_help for full argument listings. Nothing an agent needs in order to invoke it correctly is missing.

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

Parameters5/5

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

Schema coverage is 100%, but the description goes further: it documents the op discriminator by giving ~13 named operations with concrete semantics and defers the remainder to the op param's description. It also clarifies slide numbering (slide_number is 1-based, slide is 0-based) and that args requires file_path and rejects unknown keys — meaning the schema alone does not convey.

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?

Opens with a specific verb+resource ('Slide text and slides: the batch editor') and immediately scopes what is in and out, naming ppt_graphics for shapes/pictures and ppt_tables for tables/charts. An agent can separate this tool from every sibling without opening a schema.

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

Usage Guidelines5/5

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

Gives explicit routing rules ('Shapes and pictures are ppt_graphics'), per-operation choice guidance ('set_slide_hidden keeps it instead'), a batching recommendation via apply_edits, and a concrete when-to-use condition for live_save ('only when the user asks'). Alternatives and exclusions are both stated.

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