Skip to main content
Glama

Read PowerPoint Deck

ppt_read
Read-onlyIdempotent

Read PowerPoint content without changing the file: slide text, tables, chart data, notes, comments, links, equations, media, transitions and animations, with anchors for follow-up edits.

Instructions

Read slide content: the anchored deck view, deck and slide facts, text, find, elements, links, tables, chart data, notes, comments, equations, media, transitions and animations. Never changes a file. Audits and checks are ppt_inspect; to change anything use ppt_edit, ppt_graphics, ppt_tables, ppt_design, ppt_review or ppt_deck. Operations, one per line, as name: what it does:

  • get_presentation_view: Read the deck as an anchored markdown view with shape and table-cell anchors; the cheap first read, and apply_edits takes its anchors.

  • get_presentation_info: Read deck-level facts: slide count and size, slide order with ids and titles, masters, layouts and sections.

  • get_slide_info: Read one slide in depth: layout, hidden flag, and every shape with its id, kind, geometry and text preview.

  • get_text: Read the deck's text in reading order, optionally with speaker notes; pages in whole slides.

  • find_text: Find text deck-wide or in scope (slides, a range, or slide_numbers from 1), exact case unless match_case=false; each match gives its slide, shape, paragraph and character offsets for edits.

  • list_elements: List one kind of element (slides, shapes, placeholders, tables, charts, images, layouts, ...) with ids and locations.

  • list_hyperlinks: List every link and click action on shapes, text, tables, notes, SmartArt, layouts and masters, broken ones flagged.

  • get_table: Read one table in full: cell text, merge regions, column widths and row heights, with 0-based addresses.

  • get_chart_data: Read what a chart holds: series names, categories, values and axis titles, from the chart's cached values.

  • get_notes: Read one slide's speaker notes with their paragraph and run structure, to edit without losing formatting.

  • extract_text: Read all slide text and every slide's speaker notes in one call; pages by slide.

  • list_comments: List every comment, modern threads with replies and legacy comments, with the ids the comment operations take. 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: - list_equations: List every equation in slides, tables and notes with its location and characters. - get_media_playback: Read how an embedded video or audio plays: start, loop, rewind, mute, volume and full screen. - get_transitions: Read each slide's transition: kind, direction, speed, duration and advance settings. - list_animations: Read one slide's animations in play order, with effects this server does not write counted separately. - get_server_info: Report product, edition, version, tool and operation totals, platform and Python; needs no deck. - get_workflows: List task recipes, or return one recipe's ordered steps naming the exact tool and operation.
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?

Annotations already declare read-only, idempotent, non-destructive behavior, but the description adds substantial context beyond them. It discloses cached chart values, broken-link flagging, paging by whole slides, exact-case search behavior, unknown-key refusal, and that get_server_info needs no deck.

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 purpose and sibling routing, then uses a consistent one-line-per-operation format. Despite its length, each operation line adds relevant information and there is no filler.

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 multi-operation read tool, the definition is complete: it covers the operation set, distinguishes read-only use from inspection and editing, explains return shapes at a high level, and documents important caveats like cached chart values and slide indexing. No output schema exists, but the per-operation descriptions provide enough return context.

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%, so the structured fields already carry the argument details. The description still adds meaningful operation semantics for the first twelve ops, while the remaining six are described in the op parameter's schema description; the args object semantics are mostly handled by the 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 description states a specific verb and resource: read slide content from a PowerPoint deck. It enumerates the read operations and explicitly distinguishes this tool from siblings, naming ppt_inspect for audits and ppt_edit/ppt_graphics/ppt_tables/ppt_design/ppt_review/ppt_deck for changes.

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?

It gives explicit routing guidance: audits and checks belong to ppt_inspect, and any mutation belongs to one of the edit-family tools. It also adds operation-level usage cues, such as get_presentation_view being the cheap first read and find_text using exact case unless match_case=false.

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