Skip to main content
Glama

OffStereo

Play music or a story

make_playable

Create one playable OffStereo card for a direct standalone-song or narrated-story request. Discovery and Music Today already play their songs, so keep those results in their original card unless the listener asks for dedicated controls. experience=single_track returns exactly one recording with no narration or library save; pass artist plus track. experience=story progressively creates a sourced story; mode=fresh starts a new build. Pass artist plus album for an exact record and trackCount for an exact requested length. Spotify, Apple Music, and SoundCloud URLs are story seeds unless the listener requests only the recording. Playlist requests use create_playlist. existingSessionId opens a selected library story; get_session is reserved for card polling. The mounted card owns live progress and playback. Assistant prose should avoid restating transient stages such as building, recording, or still working because they become stale as the card updates, and should wait for Ready before stating final counts. A tool call opens the card without starting playback.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNofresh starts an explicitly new story; auto may reuse an exact strong match.
albumNoExact album or EP title, paired with artist when the listener names or shows a specific record.
titleNoShort canonical artist, track, album, or subject title for the card, especially useful for an identified image or a prompt that also contains workflow instructions.
trackNoExact song title, paired with artist for reliable single_track matching.
artistNoExact artist, paired with track for a one-song card or with album for an album-focused story.
lengthNoshort fits an explicitly quick, brief, or concise narrated story and targets three narration-and-record chapters; standard keeps the full editorial arc.
promptNoWhat the listening experience should explain.
tracksNoOptional: exact records the story should always include as playable tracks — e.g. every song a paired video names. They are pinned into the show in this order and curation fills the remaining slots up to trackCount, so a companion keeps the records the video discusses. Leave unset for normal curation.
sourceUrlNoAn http(s) article or source URL to adapt.
videoModeNoWhen true, the story opens on a third-person editorial hook with no DJ greeting or time-of-day welcome — for a companion story paired with a video. Pair with an explicit `title` so page title, URL, and register all match the video.
experienceNosingle_track means one immediate song card with no narration or story creation; story means the full progressive narrated experience.
sourceTextNoSource text or conversation context to adapt.
trackCountNoExact number of songs requested for a narrated story (2-12). Use 1 with experience=single_track.
personalizationNolibrary uses connected-listener taste as retrieval seeds; none is the default.
existingSessionIdNoThe chosen library story id for opening through the canonical player contract; get_session remains application polling.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesStable session id, reused for get_session and steer_session.
modeNo
queueNoOrdered narration and track items.
titleYes
objectYesplayable_session, lineage, or lineage_show.
statusYesLifecycle: building, partial, ready, failed, and similar.
thesisNo
webUrlNo
actionsNo
chaptersNo
progressNoCurrent build stage and message.
warningsNo
webLabelNo
citationsNo
storyScopeNoCount-level result assessment.
descriptionNo
queueUpdateNoMost recent model-authored queue change.
resumeStackNo
activeBranchNo
nowPlayingContextNo
playbackDirectiveNoOne-shot transport request the mounted card applies.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Discloses significant behavioral details beyond the minimal annotations: the tool call opens a card without starting playback, the card owns live progress, single_track returns exactly one recording with no narration or library save, and story progressively creates a sourced story. It also advises assistant prose to avoid stale statements, which is non-obvious context 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?

The description is lengthy but tightly packed; every sentence carries distinct guidance, and the core purpose is front-loaded. While not as terse as ideal, it remains structured and avoids redundancy, earning a slight penalty for length relative to the 10% weight.

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 tool with 15 parameters, 4 enums, a rich output schema, and many sibling tools, the description covers routing, parameter combinations, behavioral expectations, and assistant-specific instructions. An agent has all necessary context to call it correctly without external knowledge.

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 baseline is 3, but the description adds meaningful interplay: explains artist+track pairing for single_track, album pairing for exact records, trackCount usage, how source URLs act as seeds, and the videoMode requirement for a title. This goes beyond the individual parameter descriptions.

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: 'Create one playable OffStereo card for a direct standalone-song or narrated-story request.' It also distinguishes from siblings by noting Discovery and Music Today already play their songs and that playlist requests use create_playlist, so an agent can clearly tell when this tool applies.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: for direct standalone-song or narrated-story requests, keeps results from Discovery/Music Today in original cards unless dedicated controls are requested, routes playlist requests to create_playlist, assigns get_session to polling, and details how existingSessionId works. Conditions are spelled out precisely.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources