Skip to main content
Glama

pptx_replace_fonts

Read-onlyIdempotent

Swap fonts across a PowerPoint (.pptx) from freedailypro and get the new .pptx (base64): slides, notes, layouts, masters, the theme's heading and body fonts, charts and SmartArt. mapping is {"Old font": "New font"}. Embedded copies of replaced fonts are removed. Errors (422) when none of the named fonts is used. Text is not resized, so a wider font can make a line wrap.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "fileBase64": "<fileBase64>",
      "mapping": "<mapping>"
    },
    "name": "pptx_replace_fonts"
  }
}

Input Schema

NameRequiredDescriptionDefault
mappingYesOld font name to new font name, for example {"Calibri": "Arial"}
fileBase64YesThe presentation (.pptx), base64 encoded. Up to 50 MB and 500 slides. Old .ppt files and password-protected files are not supported.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

Goes well past the annotations: discloses that embedded copies of replaced fonts are removed, that a 422 is raised when no named font is present, and that text is not resized so wider fonts can reflow lines. The 'get the new .pptx' framing is consistent with readOnlyHint=true (original input untouched, new file returned).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and coverage list, then constraints and side effects in short clauses; nearly every sentence carries information. The 'from freedailypro' attribution is the one piece of dead weight in an otherwise dense description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly states the return value (new .pptx as base64) and covers the main failure mode and a formatting caveat. It omits how unmapped/unknown fonts are handled beyond the 422 case, but that is a minor gap for a two-parameter transform tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are described in-schema with an example mapping. The description's 'mapping is {"Old font": "New font"}' largely restates the schema example, though it does reinforce directionality (old to new). Baseline 3 is appropriate.

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?

States a specific verb ('Swap fonts') and resource ('PowerPoint (.pptx)') and enumerates the exact scope where substitution applies: slides, notes, layouts, masters, theme heading/body fonts, charts and SmartArt. This clearly separates it from siblings like pptx_fonts (listing fonts) and pptx_find_replace (text replacement).

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?

Usage is implied by the name and the 'mapping is {Old: New}' line, and the description gives one useful precondition ('Errors (422) when none of the named fonts is used'). However, it never explicitly names alternatives such as pptx_fonts or pptx_find_replace, nor states when-not-to-use, so the agent must infer routing.

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