Skip to main content
Glama

apply_edits

Apply multiple PowerPoint edits in one atomic batch, resolving all locations before any change and rejecting stale anchors to prevent partial updates.

Instructions

Batch editor: many edits, one lock, one backup, one atomic save. Each edit is {"op": name, ...params} addressed by a view "anchor" (from get_presentation_view) or explicit {"slide", "shape"/"table"} keys. Ops: set_text, set_shape, set_table_cells, search_and_replace, set_placeholder_text, format_text, delete_shape. Every location is resolved BEFORE anything mutates; any stale anchor refuses the whole batch listing every failed index, and result.changed maps op index to outcome. These ops EDIT existing content; nothing here inserts shapes, tables, or slides. Creation tools live in the packs (enable_tools). atomic must stay True: v1 has no partial-apply mode. Saves atomically with two-slot backup; backup=False skips rotation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
editsYes
atomicNo
backupNo
file_pathYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

With no annotations, the description carries the full disclosure burden and does so thoroughly. It reveals pre-resolution before mutation, whole-batch refusal on stale anchors with failed indices, result.changed mapping, no partial-apply mode, and two-slot backup behavior with backup=False skipping rotation. This gives an agent a realistic model of side effects and failure behavior.

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

Conciseness5/5

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

The description is dense but well-structured: it opens with the core promise, then gives the edit format, op whitelist, resolution/failure semantics, scope exclusion, and atomic/backup constraints. Every sentence earns its place and no content is wasted or repeated.

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?

This is a complex tool with nested dynamic edit objects, atomicity constraints, backup behavior, and failure modes, and the description covers all of these. It also directs the agent to the correct addressing source (get_presentation_view) and to creation tools in the packs, making it nearly self-sufficient. Since an output schema exists, the mention of result.changed is a bonus, not a required return-value exposition.

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 description coverage is 0%, so the description must compensate, and it does for the most complex parameter, edits: it defines the op/params structure, valid ops, and address anchors. It also clarifies atomic and backup semantics. file_path is only implied by its name, but the remaining parameters receive meaningful behavioral explanation beyond the bare JSON schema.

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 line 'Batch editor: many edits, one lock, one backup, one atomic save' states a specific action and resource: applying multiple edits to presentation content in one atomic operation. It names the supported ops, distinguishes itself from creation tools ('nothing here inserts shapes, tables, or slides. Creation tools live in the packs'), and is clearly separate from the single-operation siblings.

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?

The description clearly frames when to use this tool: for many edits batched atomically, and explicitly says creation tools belong in enable_tools, not here. It also states the required anchor/addressing model and warns that atomic must stay True because v1 has no partial-apply mode. It does not explicitly contrast single-edit scenarios against siblings like search_and_replace or set_placeholder_text, but the batch framing makes this largely implicit.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nometalalchemist/KitchenSink4PPT'

If you have feedback or need assistance with the MCP directory API, please join our Discord server