Skip to main content
Glama

play_favorites

Plays all favorite tracks by default or a single favorite when an index is provided, letting you control which saved music starts.

Instructions

Plays the user's favorite tracks. If index_to_play is not provided, plays all favorites. If an index is provided, plays only that specific favorite.

Input Schema

NameRequiredDescriptionDefault
index_to_playNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.1.0

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description does disclose the key behavioral fork: no index means the entire favorites list is played, an index means exactly one track. It does not say whether playback replaces the current queue, what happens to the currently playing track, or what it does when favorites are empty.

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?

Three short sentences, front-loaded with the action and then the conditional logic; each sentence carries information. Slight redundancy between sentence one and sentence two, but nothing is wasted.

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?

An output schema exists, so return values need no explanation, and with one optional parameter the surface is small. Still missing are the index origin, error/empty-favorites behavior, and the effect on current playback state — all of which an agent needs to invoke this reliably.

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 coverage is 0%, so the description must carry the parameter, and it does explain what index_to_play does functionally. However, it never says where the index comes from (presumably the ordering returned by list_favorites), whether it is 0- or 1-based, or what happens with an out-of-range value.

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?

"Plays the user's favorite tracks" is a specific verb + resource, and the two conditional branches make the operation concrete. It is distinguishable from list_favorites (read) and play_songs (arbitrary tracks), though the description never names those siblings explicitly.

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 implied rather than stated: the branch on whether index_to_play is present tells the agent how to call it, but nothing says when to prefer this over play_songs, dj_play_for_me, or list_favorites+play_search_result. No prerequisites or exclusions are given.

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