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. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

The description goes beyond the destructiveHint annotation by explaining that invalid or incomplete operations are rejected with a message naming the operation, and that nothing is silently skipped. It also discloses Google's alternative spellings are accepted, which is valuable behavioral detail not available from the schema or annotations.

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 front-loaded with the core purpose, then progresses logically from structured operations to raw mode. The operation list, examples, rejection behavior, and raw-mode note all earn their place; nothing feels redundant or padded.

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 tool with two modes and a destructive annotation, the description is remarkably complete: it covers accepted operations, alias handling, error behavior, example payloads, and raw-mode usage with documentation. The presence of an output schema means return values need no additional explanation, and the structured-mode rejection guarantees provide sufficient safety context.

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?

Even though schema coverage is 100%, the description substantially enriches parameter understanding: it lists all valid operations_json values, provides concrete examples for several operations, explains alias acceptance, and documents raw_requests as a BatchUpdatePresentationRequest body with a reference link. This is far more useful than the bare schema descriptions.

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 opens with 'Modify an existing Google Slides presentation,' a specific verb-action plus resource that clearly distinguishes it from creation, inspection, and preview siblings. It also enumerates the exact structured operations supported, making the tool's scope concrete.

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 the tool — modifying an existing presentation — and contrasts the two invocation modes: structured operations for common edits and raw mode for full API access. It does not explicitly name sibling alternatives or say 'use create_presentation for new presentations,' but the 'existing' qualifier provides adequate contextual guidance.

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.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools target a distinct resource and action, and the detailed descriptions separate similar-sounding ones. A few pairs could still be confused: access_file_by_url vs request_file_access, and create_document vs format_document, but their trigger conditions are described clearly enough to avoid frequent misselection.

Naming Consistency4/5

The set mostly follows a verb_noun pattern with consistent snake_case, e.g. create_document, update_spreadsheet, delete_file. Minor deviations like build_presentation instead of create_presentation, and format_document alongside create_document, break the pattern slightly but remain readable and predictable.

Tool Count3/5

25 tools is at the heavy end of the scale, though the domain spans Drive, Docs, Sheets, and Slides, which justifies a large surface. Some consolidation is possible — access_file_by_url and request_file_access overlap, as do create_document and format_document — so the count feels slightly bloated rather than tightly scoped.

Completeness4/5

The server covers the core file lifecycle well: create, read, update, delete, move, list, search, upload, and access control across all major Google Workspace document types. Minor gaps exist, such as no rename, copy, export, or direct sharing tool, but agents can work around these without major failures.

Resources