Skip to main content
Glama

Fit Text

fit_text
Destructive

Shrinks overflowing text in PowerPoint shapes to fit, applying the largest uniform font scale down to a minimum size. Fits every overflowing shape on a slide and handles inherited sizes.

Instructions

Shrink overflowing text to fit: estimates the largest uniform font scale (floor min_size pt) via an average-glyph-width heuristic, rewrites explicit run sizes (or writes a normAutofit fontScale when sizes are inherited), and enables normAutofit. shape=None fits every overflowing text shape on the slide; one that cannot fit at min_size reports still_overflowing. An ESTIMATE (no font metrics): verify with export_slide_images (assembly-export pack). Saves atomically with two-slot backup; backup=False skips rotation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
shapeNo
slideYes
backupNo
min_sizeNo
file_pathYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.2.1
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / slide / title
      Removed value: -"Slide"
  2. First observedv1.0.0

TDQS

A4.5/5.0
Behavior5/5

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

The description richly discloses behavior beyond the annotations: it rewrites run sizes, writes normAutofit fontScale, enables normAutofit, reports still_overflowing for shapes that cannot fit, and explains atomic save/backup behavior. It also honestly warns that the heuristic is an ESTIMATE without font metrics. This goes well beyond the destructiveHint flag.

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?

Three dense, purposeful sentences deliver the core action, scope, failure mode, estimation caveat, verification path, and backup behavior. Nothing is wasted, and the most important behavior appears first.

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 mutating text-fitting tool with five parameters and an output schema, the description covers the algorithm, scope, minimum-size floor, failure reporting, precision caveat, verification path, and save behavior. The presence of an output schema makes the lack of a return-value explanation acceptable.

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 carries the burden, and it does compensate for several key parameters: shape=None semantics, min_size as a floor in pt, and backup=False skipping rotation. file_path and slide are not explicitly described, but their roles are inferable from context and their parameter names.

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 a specific verb and resource: 'Shrink overflowing text to fit,' and then details the mechanism, scope, and edge-case behavior. It is clearly differentiated from text-reading and editing siblings like get_text, find_text, and set_placeholder_text, so an agent can infer when this tool is the relevant one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use case is implied by 'overflowing text' and the explicit shape=None behavior, but there is no direct statement of when to choose fit_text over alternatives such as set_placeholder_text or search_and_replace. It does offer a verification suggestion with export_slide_images, which is useful, but it does not explain when not to use this tool.

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