Skip to main content
Glama

Get HLS media playlist

immich_get_media_playlist
Read-onlyIdempotent

Retrieve the HLS media playlist for one variant of an Immich video streaming session using asset ID, session ID, and variant index.

Instructions

Get HLS media playlist

Returns an HLS media playlist for one variant of the streaming session.

Immich operation: GET /assets/{id}/video/stream/{sessionId}/{variantIndex}/playlist.m3u8 · tag: Assets

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesformat: uuid
keyNo
slugNo
sessionIdYesformat: uuid
variantIndexYes
x-immich-hls-posNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered. The description adds that the return is an HLS media playlist for a single variant, which is useful context, but says nothing about response format (m3u8), auth requirements, or how variantIndex relates to the parent/master playlist. With annotations carrying the safety burden, a 3 is appropriate.

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 purpose in the first line, then a return-value sentence and the raw endpoint for reference. No filler, though the title is duplicated verbatim in the first line, which is slightly redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of describing returns; it says the output is an HLS media playlist but not the m3u8 text format or how it links back to a master playlist. For a niche streaming endpoint with six parameters and one third schema coverage, the definition is adequate but leaves gaps.

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

Parameters3/5

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

Schema description coverage is only 33%, so the description must compensate. It partially does: the operation URL template maps id, sessionId and variantIndex to concrete path segments, clarifying their roles. However, key, slug and x-immich-hls-pos remain undocumented in both schema and description, and variantIndex's acceptable range/meaning is not explained.

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 (Get) and resource (HLS media playlist) and scopes it to 'one variant of the streaming session', which is more precise than a bare restatement of the title. It does not, however, distinguish itself from the adjacent sibling immich_get_main_playlist or immich_get_segment, so an agent still has to infer which playlist endpoint 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?

No guidance on when to call this versus the main playlist or segment endpoints, and no mention of prerequisites such as an existing streaming session. The 'streaming session' phrasing implies a playback context, but the agent is left to infer it.

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