Skip to main content
Glama

ass_check_font_substitution

Identify ASS subtitle styles whose requested font is substituted by fontconfig, preventing them from rendering as intended.

Instructions

Compare every style's requested font with the family fontconfig resolves.

Args: doc_id: document id or None for the current document.

Returns: {"doc_id", "fontconfig", "checked", "substituted", "substitutions", "styles"}. Each entry of styles is {"name", "requested", "bold", "italic", "resolved", "resolved_style", "file", "substituted", "candidates", "available", "error"}; substitutions lists the style names whose request is substituted, which is exactly the set of styles that will not render in the font they ask for.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
doc_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does reasonably well: it discloses the mechanism (fontconfig resolution), the comparison semantics, and crucially what 'substitutions' means ('exactly the set of styles that will not render in the font they ask for'). It omits anything about cost/latency of calling fontconfig or whether it mutates anything, but the read-only nature is evident from the verb 'check'.

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

Conciseness3/5

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

The one-line summary is front-loaded and efficient, but the Args/Returns block duplicates the output schema field-by-field, which is redundant given has_output_schema=true. The verbose return enumeration crowds out guidance the tool actually lacks.

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?

For a single-parameter, read-only diagnostic with an output schema available, the definition covers the mechanism, parameter meaning, and result semantics well enough to call correctly. The missing piece is cost/performance context for a tool that walks every style through fontconfig.

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 0% and the single parameter is undocumented in the schema, but the description fully compensates: 'doc_id: document id or None for the current document.' That resolves the anyOf string/null ambiguity and explains the None default's effect.

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 and resource: comparing each style's requested font against what fontconfig resolves. This is distinct from siblings like ass_match_font (resolve a font) and ass_fonts_used (inventory fonts), so an agent can pick it without opening any schema.

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

Usage Guidelines2/5

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

There is no when-to-use / when-not guidance and no named alternative, even though ass_match_font, ass_font_coverage, and ass_glyph_check sit in the same font-diagnostic space. The description implies a diagnostic purpose via the output explanation but never instructs the agent when to reach for this over those siblings.

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

Deploy Server

Other Tools