Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KS4P_FORBIDNoComma-separated tool or operation names to remove
KS4P_READ_ONLYNoSet to 1 to remove every tool that changes a file, leaving ppt_read, ppt_inspect and ppt_help
KS4P_ALLOWED_ROOTSNoOptional sandbox: tools refuse to touch files outside these folders

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ppt_readA

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.

ppt_inspectA

Audits and deck-level facts: accessibility, layout checks, font inventory, comment report, deck comparison, statistics, theme, brand, autofit, properties, footer support, masters, export engines, and PowerPoint status. Never changes a file. Slide content reads are ppt_read. Operations, one per line, as name: what it does:

  • audit_accessibility: Audit alt text, table headers, reading order, missing titles and contrast; each finding names the fixing call.

  • check_layout: Check slides for overlap, off-slide shapes, tiny text, contrast and more; findings name the fixing call.

  • font_inventory: List every font in use and where, plus fonts declared where no visible text uses them; run before replace_fonts.

  • comment_report: Report every comment thread by slide, with authors, dates, replies and resolved state, plus a markdown summary.

  • compare_decks: Compare two decks slide by slide (matched by id, title, then position): text, layout, shape and notes changes.

  • deck_statistics: Count slides, words in body and notes, shapes, images, tables and charts, and estimate speaking time.

  • diagnose: Check this environment and, optionally, one file; output leaves out local paths unless verbose=true.

  • extract_brand: Read a deck's theme colors, fonts and most-used literal fills, for apply_brand on another deck.

  • zombie_check: Count running PowerPoint processes to spot one left behind by automation; never ends any.

  • get_theme: Read a master's theme: its 12 color slots and its heading and body fonts.

  • get_autofit_state: Report each text shape's autofit mode and shrink level, to find crowded slides.

  • get_document_properties: Read the deck's document properties (title, author, dates, company and counters).

  • get_footer_support: Check whether a slide's design can show a footer, slide number and date; run before set_footer.

  • list_master_elements: List a master's layouts, placeholders, decoration shapes and backgrounds, with which slides use each layout. More operations follow, in the same format, in the op parameter's description.

ppt_editA

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.

ppt_graphicsA

Shapes and media: insert, edit, group, align, distribute and restack shapes; connectors; SVG to native shapes; diagrams; format and position painters; pictures, video and audio; equations; alt text and reading order. Slide text is ppt_edit. Every edit backs the file up first and saves atomically. Operations, one per line, as name: what it does:

  • insert_shape: Insert a native shape (a preset like rect or ellipse, or a freeform path) at a position in inches.

  • insert_connector: Draw a straight, elbow or curved connector; ends glued to shapes follow them when they move.

  • set_shape: Edit one shape by id or name, inside groups too: position, size, rotation, fill, line, effect, text or name; only the values given change.

  • set_shape_adjustments: Read or set a preset shape's adjust handles: an arc's start and end angles, a rounded corner, an arrow's head, an elbow's bend.

  • delete_shape: Delete one shape, group or connector by id; connectors glued to it are kept and unglued.

  • group_shapes: Group two or more shapes by id into one group, like Ctrl+G.

  • ungroup_shapes: Ungroup one group by id, keeping each member's position and size, like Ctrl+Shift+G.

  • align_shapes: Align shapes left, center, right, top, middle or bottom, to each other or to the slide.

  • distribute_shapes: Space three or more shapes evenly across or down; the outer two stay put.

  • set_z_order: Bring a shape to the front or back, or one step forward or backward.

  • svg_to_shapes: Turn SVG markup into a group of native, editable shapes (no images); unsupported features are reported.

  • set_diagram_text: Replace the text of nodes in an existing SmartArt diagram, leaving its layout and styling alone.

  • generate_diagram: Build a timeline, org chart, matrix, cycle or comparison diagram of editable shapes from one spec.

  • copy_format: Copy one shape's fill, line, effects and text style onto other shapes. More operations follow, in the same format, in the op parameter's description.

ppt_tablesA

Tables and charts: create, fill, merge, resize, style and import tables, and create, refill and format charts. Table and chart reads are ppt_read. Row and column addresses are 0-based. Every edit backs the file up first and saves atomically. Operations, one per line, as name: what it does:

  • create_table: Insert a native table at a position in inches, optionally filled from rows of data.

  • set_table_cells: Write many table cells in one save: text, and per-cell bold, size, color and fill.

  • merge_cells: Merge a rectangle of cells (0-based, inclusive); text from covered cells moves to the first cell.

  • unmerge_cells: Split one merged region back into cells; its text stays in the top-left cell.

  • insert_table_rows: Insert empty rows before a 0-based row (at = row count appends).

  • delete_table_rows: Delete rows starting at a 0-based row, with their content.

  • insert_table_cols: Insert empty columns before a 0-based column.

  • delete_table_cols: Delete columns starting at a 0-based column, with their content.

  • format_table_cells: Set borders, fill, margins and vertical alignment on a range of cells; text is left alone.

  • set_column_widths: Set table column widths in inches, for all columns or some.

  • set_row_heights: Set table row heights in inches; rows still grow to fit their text.

  • apply_table_style: Apply one of PowerPoint's built-in table styles by name, with its stripe and header options.

  • import_table: Build or refill a table from a CSV or JSON file.

  • create_chart: Insert a native, editable chart (bar, column, line, pie, scatter or combo) from categories and series.

  • update_chart_data: Replace a chart's data in place, keeping its type and styling; the series count must stay the same.

  • format_chart: Format a chart's titles, legend, number format, gridlines and data labels.

ppt_designA

Deck design: slide size, layouts, theme colors and fonts, brand transfer, backgrounds, masters and layout placeholders, deck-wide font and color replacement, transitions and entrance animations. Theme and master reads are ppt_inspect. Every edit backs the file up first and saves atomically. Operations, one per line, as name: what it does:

  • set_slide_size: Change the slide size (16:9, 4:3, A4, Letter or inches); content is not rescaled.

  • apply_layout: Switch a slide to another layout; matching placeholders keep their content, others are reported.

  • set_theme_colors: Set any of a master's 12 theme color slots to hex colors.

  • set_theme_fonts: Set a master's theme heading and body fonts.

  • apply_brand: Apply an extract_brand result (theme colors and fonts) to every master of this deck.

  • set_slide_background: Set or clear one slide's background: a color, gradient or picture.

  • set_master_placeholder: Set a master placeholder's position, size and text defaults, which every slide inherits.

  • set_layout_placeholder: Set a layout placeholder's position, size and text defaults, for slides using that layout.

  • add_layout_placeholder: Add a placeholder to a layout; existing slides do not gain it, new slides do.

  • remove_layout_placeholder: Remove a placeholder from a layout; refuses while slides use it unless force=true.

  • insert_master_shape: Put a decoration shape (logo box, footer bar, rule line) on a master or one layout.

  • delete_master_shape: Delete a decoration shape from a master or layout by id; placeholders are refused.

  • create_layout: Create a new layout under a master, copied from an existing layout or blank.

  • set_master_background: Set the background of a master or one layout: a color or a gradient.

  • replace_fonts: Replace typefaces across the whole deck, including charts, SmartArt and unused declarations.

  • replace_colors: Replace literal colors across the deck, optionally with theme colors that follow later theme edits. More operations follow, in the same format, in the op parameter's description.

ppt_reviewA

Review: add, reply to, resolve and delete modern threaded comments, and anonymize authors. Reading comments is ppt_read list_comments or ppt_inspect comment_report. anonymize_deck saves a snapshot automatically before changing anything, because the change cannot be undone in the file. Operations, one per line, as name: what it does:

  • add_comment: Add a modern threaded comment to a slide; a deck with legacy comments is refused. Leave author out to sign with the user's own name, or pass author="assistant" to sign as "AI Assistant via KS4PPT".

  • reply_to_comment: Reply to a modern comment thread (reply to the thread root, not to a reply). Leave author out to sign with the user's own name, or pass author="assistant" to sign as "AI Assistant via KS4PPT".

  • resolve_comment: Mark a modern comment thread resolved, or reopen it.

  • delete_comment: Delete a comment thread, or one reply; a thread with replies needs cascade_replies=true.

  • anonymize_deck: Replace author names in properties and comments throughout the deck; a snapshot is saved first because this cannot be undone in the file.

  • update_now: Install the newer version the update notice named; call only when the user asks or agrees.

  • update_notices: Turn update notices on or off, or show their status (action).

ppt_deckA

Whole decks and PowerPoint itself: create, copy, snapshot, backups, copy slides between decks, merge, split, export to PDF, images, handouts or tables, document properties, agenda slides, compression, show settings, custom shows, footers, the opens-clean check (validate), and saving or scrolling a deck open in PowerPoint. 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:

  • create_presentation: Create a new .pptx, blank or from a template deck; an existing file is refused.

  • copy_presentation: Copy a deck byte for byte to dest_path; an existing destination is refused unless overwrite=true.

  • create_snapshot: Save a permanent copy of the deck in its hidden backup folder, or a visible one in dest_dir; never pruned or overwritten.

  • manage_backups: List, restore or purge the automatic backups (prev and anchor slots); purge is a dry run unless dry_run=false.

  • copy_slide_between: Copy one slide from another deck into this one; the source deck is not changed.

  • merge_decks: Append whole decks onto this deck, in order.

  • split_deck: Split a deck into files by section or slide range; the source is not changed.

  • export_pdf: Export the deck to PDF through PowerPoint, or LibreOffice when PowerPoint is absent.

  • export_slide_image: Render slides to PNG files to check them: slides counts from 0 (or send slide_numbers, from 1) and width sets the pixels (default 1280); the deck is not changed.

  • export_shape_image: Render one shape or group to a PNG at a set width; needs PowerPoint.

  • export_handout: Export a handout or notes-page PDF; needs PowerPoint.

  • export_table: Export a table's content as CSV or JSON, to a file or inline.

  • set_document_properties: Set the deck's document properties; an empty string clears a field.

  • generate_agenda_slide: Insert an agenda slide listing the sections, each linked to its first slide. More operations follow, in the same format, in the op parameter's description.

ppt_helpA

Read-only help. With no arguments it lists every tool and its operations; with op it returns that operation's full arguments, an example call and its tool. Call it when arguments are unclear or after a BAD_ARGS refusal. Reads no deck.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.6/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct domain, and the descriptions explicitly cross-reference boundaries (e.g. ppt_read vs ppt_inspect, ppt_edit vs ppt_graphics vs ppt_tables). While ppt_read and ppt_inspect are both read-only, the split between slide content reads and audits/deck-level facts is well defined and reinforced.

Naming Consistency5/5

All tools use a consistent ppt_<category> prefix, with no mixing of camelCase, hyphens, or unrelated verb styles. The naming is predictable and readable across the entire set.

Tool Count5/5

Nine tools is well within a reasonable range for a PowerPoint automation server, and each tool maps to a coherent functional area rather than being redundant. The heavy operation count is internal to each tool and does not inflate the tool-level count.

Completeness5/5

The surface covers the full PowerPoint lifecycle: reading, auditing, editing text and slides, graphics and media, tables and charts, design and themes, review comments, deck-level operations and export, plus help. No obvious CRUD or workflow gap is apparent from the tool set.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues