Skip to main content
Glama

Update Presentation

update_presentation
Destructive

Modify an existing Google Slides presentation.

Structured operations (operations_json): add_slide, insert_text, delete_text, delete_slide, replace_text, update_text_style, update_page_bg. Google's own spellings are accepted where the operation is identical — replace_all_text and create_slide both work. An unrecognised type, or one missing a required field, is REJECTED with a message naming the operation; nothing is silently skipped.

Examples:

  • delete_text: {"type":"delete_text","element_id":"id"}

  • replace_text: {"type":"replace_text","old_text":"foo","new_text":"bar"}

  • update_text_style: {"type":"update_text_style","element_id":"id","bold":true,"font_size":24,"color":"#1a56db"}

  • update_page_bg: {"type":"update_page_bg","slide_id":"id","bg_color":"#1a1a2e"}

Raw mode (raw_requests): Pass a Google Slides API BatchUpdatePresentationRequest body directly for full API access. Request shapes are documented at https://developers.google.com/slides/api/reference/rest/v1/presentations/batchUpdate

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
raw_requestsNoRaw Google Slides API BatchUpdatePresentationRequest JSON for full API access
operations_jsonNoJSON array of structured operations
presentation_idYesThe presentation ID

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
revision_idNoGoogle's revision ID after the write, if it reported one
presentation_idYes
requests_appliedYeshow many operations Google applied — compare against the number sent to confirm the whole batch landed

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / additionalProperties
      Removed value: -false
  2. First observed

TDQS

A5/5.0
Behavior5/5

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

Annotations already include destructiveHint=true and readOnlyHint=false, but the description goes beyond by detailing rejection behavior ('REJECTED with a message naming the operation; nothing is silently skipped'), the flexibility of Google's spellings, and the direct mapping to BatchUpdatePresentationRequest. This prepares the agent for edge cases.

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 well-structured with clear sections: purpose, operations list, examples, and raw mode. It is dense but efficient, with front-loaded purpose and examples that directly map to parameter usage. Every sentence adds value without redundancy.

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?

Given the tool's complexity (supporting multiple operations and raw API access), the description is complete. It covers operation types with examples, error handling, the raw request alternative with a link, and the required parameter. The output schema is present, so return format details are not needed in the description.

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 description coverage is 100%, so the baseline is 3, but the description enriches the parameters significantly. It explains the operations_json format with detailed examples for each operation, clarifies the raw_requests parameter with a link to official documentation, and the required presentation_id is contextually obvious from the description.

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 description states a specific verb ('Modify') and resource ('existing Google Slides presentation'), and lists the structured operations supported. It distinguishes from siblings like create_presentation and preview_slides by focusing on modification of existing presentations.

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?

The description explicitly explains the two modes of operation (structured operations_json vs raw_requests) and when to use each, including that raw mode is for 'full API access'. It provides clear guidance on how to structure calls and notes that unrecognized types are rejected, preventing silent failures.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources