Skip to main content
Glama

audio_and_subtitle_info

Inspect a movie or episode's audio tracks and subtitles BEFORE playback, from Kodi's cached streamdetails (no playback). Name the item by type+id (a searchmedia movie/episode row) or by file.

Instructions

Inspect a movie or episode's audio tracks and subtitles BEFORE playback, from Kodi's cached streamdetails (no playback). Name the item by type+id (a searchmedia movie/episode row) or by file. Returns { "file", "audio":[{ "index", "codec", "channels", "language" }], "subtitle":[{ "index", "language" }], "video":[…] }. Embedded streams only: external .srt sidecars and files Kodi hasn't scanned come back as empty arrays; "index" maps to the audio/subtitle setters for embedded streams.

Input Schema

NameRequiredDescriptionDefault
idNoLibrary id of the item to inspect — the `movieid`/`episodeid` of a `searchmedia` result row, matching `type`. Give exactly one of `id` or `file`.
fileNoPath of the file to inspect — the `file` field of a `searchmedia` result row; any path Kodi can reach works. Streamdetails are only populated for files Kodi has scanned into its library. Give exactly one of `id` or `file`.
typeNoKind of library id passed in `id` — picks the item key (movieid/episodeid). Required with `id`; not used with `file`. Songs are not accepted: audio files carry no selectable audio-track or subtitle streams.
instanceNoTarget Kodi instance. Omitted uses the default ("(null)").

Output Schema

NameRequiredDescriptionDefault
fileYesThe resolved file path of the inspected item.
audioYesEmbedded audio tracks, in stream order.
videoYesVideo streams, in stream order.
subtitleYesEmbedded subtitle tracks, in stream order.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses the cached-source behavior (no playback), the embedded-only limitation, the failure mode where external .srt sidecars and unscanned files yield empty arrays, and the meaning of "index" as a handle for the setters. These are exactly the non-obvious traits an agent needs.

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 purpose and scope, then constraints, then return shape — every sentence earns its place. It is dense and information-packed, with the streamdetails limitation and index mapping packed into the tail, but nothing is wasted.

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?

Given a pre-playback read tool with an output schema, no annotations, and fully documented params, the description covers everything an agent needs: purpose, naming inputs, output shape, and the embedded-only caveat. Even though the output schema exists, restating the return shape harms nothing.

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 100%, so the baseline is 3. The description still adds value beyond the schema by tying id/file back to their origin (a searchmedia movie/episode row) and restating the mutually-exclusive naming choice, giving semantic grounding rather than duplicating field text.

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 (inspect audio tracks and subtitles) plus a precise scope: pre-playback, from Kodi's cached streamdetails. This cleanly separates it from the sibling setters (set_audio_and_subtitle) and the playback tools, so an agent can route correctly without opening a schema.

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?

It establishes the key usage context (inspect BEFORE playback, no playback triggered) and points at the relevant alternatives by referencing the audio/subtitle setters that consume the returned "index" and searchmedia rows that supply the id/file. It stops short of an explicit when-not-to-use or a named sibling, so it is clear context rather than full routing guidance.

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