Skip to main content
Glama

get_top_tracks

Retrieve a user's most frequently played tracks, with options for time range, result limits, and response format.

Instructions

Get the user's most-played tracks

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo1–50. Default: 20
offsetNoStart position (0-based). Default: 0
time_rangeNo~4 weeks / ~6 months / all time. Default: medium_term
max_resultsNoMax items to return (default: SPOTIFY_MCP_MAX_ITEMS env or 50)
response_formatNo'concise' = human prose, 'detailed' = more fields in prose, 'json' = raw API objectconcise

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.26.1
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / max_results
      Added value: +{
      +  "description": "Max items to return (default: SPOTIFY_MCP_MAX_ITEMS env or 50)",
      +  "exclusiveMinimum": 0,
      +  "maximum": 2000,
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "description": "Start position (0-based). Default: 0",
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / response_format
      Added value: +{
      +  "default": "concise",
      +  "description": "'concise' = human prose, 'detailed' = more fields in prose, 'json' = raw API object",
      +  "enum": [
      +    "concise",
      +    "detailed",
      +    "json"
      +  ],
      +  "type": "string"
      +}
  2. First observedv1.0.1

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Get' and gives no details about output shape, how time_range affects results, what response_format does, pagination behavior, or any API caveats. The description adds no behavioral context beyond what the schema already implies.

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 a single efficient sentence with no filler or redundant information. It is front-loaded with the core purpose. While it is terse and missing usage guidance, as far as conciseness itself the wording is appropriately minimal.

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?

Given that all parameters are thoroughly documented in the schema and none are required, the minimal description is partially adequate for making a basic call. However, with no annotations and no output schema, the description does not clarify return value shape, how response_format changes the output, or how to choose among closely related sibling tools. More context would meaningfully improve selection and invocation.

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 100%, so the baseline is 3 even though the tool description provides no parameter information. The schema already documents limit, offset, time_range, max_results, and response_format with defaults and enum values. The description adds nothing beyond the schema, but does not need to because the schema is complete.

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 names a specific verb and resource: 'Get the user's most-played tracks'. It clearly conveys a read operation that returns the current user's personal top tracks, which distinguishes it from artist-centered tools like get_artist_top_tracks. However, it does not explicitly contrast it with related sibling tools such as get_top_artists or get_recently_played.

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?

There is no guidance on when to use this tool versus alternatives. The description only states what it does, leaving the agent to infer usage context from the name alone. It does not mention when get_top_artists, get_artist_top_tracks, or get_recently_played would be more appropriate.

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