Skip to main content
Glama
sickn33
by sickn33

Recommend TIDAL tracks

tidal_recommend_tracks
Read-only

Generate TIDAL track recommendations from seed tracks, deduplicate results, and enforce metadata filters for year, duration, explicitness, exclusions, and per-artist diversity.

Instructions

Get Track Radio candidates, deduplicate them, and apply deterministic metadata filters.

Mood or acoustic character are not claimed as API-level filters. The returned metadata can be assessed by the calling model, while year, duration, explicitness, exclusions, and per-artist diversity are enforced here.

Input Schema

NameRequiredDescriptionDefault
filtersNo
max_resultsNo
limit_per_seedNo
seed_track_idsYesOne to ten exact TIDAL track IDs.

Output Schema

NameRequiredDescriptionDefault
itemsYes
filtersYes
returned_countYes
seed_track_idsYes
candidate_countYes
filtered_out_countYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.1
    • addedOutput schema / $defs / Track / properties / isrc
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "International Standard Recording Code.",
      +  "title": "Isrc"
      +}
  2. First observedv1.0.1

TDQS

A3.6/5.0
Behavior4/5

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

With readOnlyHint and openWorldHint already covering the safety profile, the description adds real behavioral context: deduplication, deterministic filtering, an explicit split between what the API enforces versus what the calling model must assess, and the boundaries of filter support (mood/acoustic excluded). It does not mention rate limits or pagination/ordering behavior, so it falls short of a 5.

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 sentences, no filler, purpose front-loaded in the first clause. It is efficient and every sentence contributes, though the latter half is slightly abstract in phrasing.

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 not be explained, and annotations cover safety. The remaining gap is parameter semantics: for a tool with four top-level params and a nested filter object at 25% schema coverage, the description should clarify seed limits and how max_results interacts with limit_per_seed. Adequate but not complete.

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 25%, so the description carries the burden; it names the enforced filter categories (year, duration, explicitness, exclusions, per-artist diversity) which map onto the nested filter properties. But it does not explain max_results, limit_per_seed, or their interaction, nor the caps/defaults on the filters, so it only partially compensates for the coverage gap.

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 description states a specific compound action: get Track Radio candidates, deduplicate, and apply deterministic metadata filters. This is clear and distinguishable from the raw siblings (tidal_get_track_radio, tidal_get_track_radio_mix), though it never names those siblings directly. It stops short of a 5 because the differentiation is left to inference rather than stated.

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 by describing what gets enforced (year, duration, explicitness, exclusions, per-artist diversity) and by the negative constraint that mood/acoustic are not API-level filters. However, it never says when to choose this over tidal_get_track_radio or the radio-mix siblings, nor states prerequisites such as needing valid seed track IDs from TIDAL. Guidance is present but not routing-level.

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