Skip to main content
Glama

find_tracks

Filter and list unique tracks from loaded Spotify playlists by artist, album, genre, year, duration, popularity, or date added, with sorting and row limits.

Instructions

List unique tracks of the loaded playlists that pass the filters: track, artist, album, year, duration, popularity, first date added and the playlists it is in. Capped at limit rows (the header says how many match), so narrow the filters instead of asking for everything.

Args: filters: playlists, artist, album, genre (exact tag), genre_family, decade, year_from/to, popularity_min/max, added_from/to, duration_min/max (minutes), text (in the name). sort: popularity, year, added, duration, name or artist. Default order is descending (ascending for name and artist) unless ascending says otherwise. limit: rows to return (default 50, max 500). include_links: add each track's Spotify link (longer output).

Input Schema

NameRequiredDescriptionDefault
sortNopopularity
limitNo
filtersNo
ascendingNo
include_linksNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.1

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations at all, the description carries the burden well: it discloses de-duplication ('unique tracks'), the row cap and that the header reports total matches, default sort direction (descending, except ascending for name and artist), and that `include_links` makes output longer. Missing are error behavior, pagination beyond the cap, or whether loaded playlists are required.

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 one-sentence purpose, then a compact structured Args list that maps to the parameters. A few lines are redundant with schema descriptions, but nothing is padded or buried.

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?

An output schema exists, so return values need not be described, and the description still usefully notes that a header reports the match count against the cap. For a five-parameter read tool with defaulted, optional arguments, the coverage is nearly sufficient; only prerequisite state (playlists must be loaded) is left implicit.

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?

The Args block adds real meaning beyond the schema: enumerated sort keys, the non-obvious default ordering rules, limit default 50 and max 500, and the cost of include_links. It also flags that `genre` is an exact tag and duration is in minutes. Some entries merely restate schema descriptions (e.g. 'text (in the name)'), keeping it from a 5.

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 first sentence gives a specific verb and resource ('List unique tracks of the loaded playlists that pass the filters') plus the output fields, so the agent knows exactly what it returns. It does not name or distinguish itself from close siblings such as get_playlist_tracks, show_playlist or group_tracks, so it stops short of a 5.

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?

There is actionable usage advice: results are capped at `limit`, so 'narrow the filters instead of asking for everything', which tells the agent how to avoid truncated answers. However, there is no guidance on when to pick this over the sibling listing/grouping tools, so the when-to-use context is only implied.

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