Skip to main content
Glama

ass_list_lines

List subtitle lines from an Aegisub/ASS document with paging, selection filtering, and optional plain text or tag summaries for review.

Instructions

List lines with paging.

Args: selection: selection spelling (see module docstring); None means all lines. doc_id: document to read; the current one when omitted. offset: number of selected lines to skip (0-based). limit: maximum number of lines to return; None returns the rest. include_tags_summary: add a tags_summary dict (tag counts, drawing flag, karaoke/clip/transform lists) per line. include_plain_text: include the plain_text field (tags stripped).

Returns {"doc_id", "total", "offset", "limit", "returned", "indices", "lines"} where lines are event_dict style dicts: index, kind, start, end, start_ms, end_ms, duration_ms, style, actor, effect, layer, margin_l/r/v, text (raw, tags included), plain_text, comment, drawing, cps. Indices are 0-based.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
doc_idNo
offsetNo
selectionNo
include_plain_textNo
include_tags_summaryNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/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 behavioral burden. It discloses useful traits: paging via offset/limit, that None returns the rest/all, and the shape of the returned payload. However, it says nothing about read-only safety, error behavior, or the cost of large selections, leaving gaps for a no-annotation tool.

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 purpose is front-loaded, and Args/Returns sections are cleanly separated. It is somewhat long because it enumerates every return field, but that structure is legible and each element 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?

Although an output schema exists (so return values need not be restated), the description goes further by enumerating the line dict fields and paging contract. Combined with full parameter documentation, an agent has enough to invoke it correctly; only error/edge-case behavior is unaddressed.

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 largely does, documenting all six parameters (offset 0-based, limit semantics, the two include flags, doc_id fallback to current document). The one weak spot is 'selection: selection spelling (see module docstring)', which defers rather than explaining.

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 opening line states a specific verb and resource ('List lines with paging'), so an agent immediately knows this is a bulk read of ASS lines. It does not explicitly name a sibling like ass_get_line or ass_get_selection to contrast with, so it stops short of full sibling differentiation.

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 only implied: the selection and paging args suggest this is for reading many lines rather than a single one, but there is no explicit when-to-use/when-not statement or named alternative. The reader must infer that ass_get_line handles single-line retrieval.

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