Skip to main content
Glama

ass_fonts_used

Identify every font required by an ASS subtitle script, including embedded attachments, and flag missing or substituted families via fontconfig.

Instructions

Every font the script asks for, plus embedded font attachments.

Styles contribute their Fontname (with the Bold/Italic flags that affect which face fontconfig resolves); the [Fonts] section contributes each fontname: attachment. Every family is resolved through fontconfig so families that are not installed and families that resolve to a substitute are flagged explicitly.

Returns {doc_id, families: [{family, installed, substituted, resolved, file, style, bold, italic, styles: [names], attachment}], attachments: [names], not_installed: [names], substituted: [names], used_count}.

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

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose meaningful behavior: names are resolved through fontconfig and both uninstalled families and substituted families are flagged explicitly. However it says nothing about error behavior, cost, or what doc_id=null means (presumably the active document), leaving the null-default contract unexplained.

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?

The text is front-loaded and information-dense: purpose first, then the resolution mechanics, then the return shape. The final sentence largely restates the output schema, which is a slight redundancy, but everything else earns its place.

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?

Because an output schema exists, the description does not need to spell out return fields, and the explicit statement that uninstalled/substituted families are flagged covers the main interpretive risk. The only real gap is the un-documented default behavior of doc_id.

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

Parameters2/5

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

Schema description coverage is 0% and the single doc_id parameter is nullable with default null. The description only mentions doc_id inside the return shape and never explains that omitting it falls back to the active/current document, which is the one semantic an agent most needs here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: enumerate 'every font the script asks for, plus embedded font attachments', and explains the two contributing sources (style Fontname fields and the [Fonts] section). It is clear in isolation but never distinguishes itself from close siblings such as ass_check_font_substitution or ass_list_fonts, so an agent must guess which of the font-related tools to pick.

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 guidance, no prerequisites, and no named alternative despite several overlapping siblings (ass_check_font_substitution, ass_list_fonts, ass_font_coverage, ass_match_font). The agent is left to infer selection criteria entirely.

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