Skip to main content
Glama

ass_set_timing_info

Set or clear Aegisub subtitle timing source keys like FPS, Video File, and Timecodes File, or call with no arguments to read their current values.

Instructions

Set the timing source keys Aegisub stores in [Script Info].

fps writes FPS, video_file writes Video File and timecodes_file writes Timecodes File. Passing an empty string for a path removes that key. Calling the tool with no arguments at all changes nothing and just reports the three keys as they currently are (changes is then empty), which is the only way to read timing info.

Returns: {"doc_id", "fps", "video_file", "timecodes_file", "changes"} with the resulting values (None when a key is absent) and a changes map of key -> {"from", "to"}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fpsNo
doc_idNo
video_fileNo
timecodes_fileNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/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 well: it discloses that no-args is a no-op read, that empty strings destroy keys, and exactly what the return payload contains including None for absent keys. It is silent on whether changes are persisted to disk or require a save, and on error behavior for invalid fps values.

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 core action, then key mappings, then edge-case semantics, with returns in a structured block. Appropriately sized, though the final sentence about the changes map partially duplicates what the output schema already conveys.

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 four-parameter mutation tool with no annotations, the description covers the write path, the delete path, the read-only no-arg path, and the response shape, leaving no material gap for an agent to call it correctly.

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 must compensate, and it does for three of four parameters by mapping each to the concrete key it writes and defining the empty-string removal convention. doc_id is never explained, though its purpose is self-evident from the name.

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?

States a specific verb and resource: setting the timing source keys Aegisub stores in [Script Info], with the exact key mappings (FPS, Video File, Timecodes File). It does not name a sibling alternative such as ass_set_script_info or ass_write_timecodes, though it does implicitly distinguish itself by noting this is 'the only way to read timing info.'

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

Usage Guidelines4/5

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

Gives clear usage conditions for its three modes: pass fps/video_file/timecodes_file to write, pass an empty string to remove a key, and call with no arguments to read. It does not address when to prefer this over ass_set_script_info or ass_write_timecodes, so routing between similar tools is left to inference.

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