Skip to main content
Glama

track_rotation_report

Analyze your recently played tracks to count appearances and classify each track into heavy, regular, or light rotation, revealing listening patterns.

Instructions

Report how many times each track appears in recently-played history and bucket them into heavy/regular/light rotation (default 150 history items). Quota: GET /me/player/recently-played cursor walk.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
max_itemsNoMax recently-played items to walk (default 150; the API pages 50 per call).
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
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it does solid work: 'Quota: GET /me/player/recently-played cursor walk' discloses that the tool consumes API quota and paginates through history — the key behavioral trait an agent needs before invoking a possibly multi-call operation. It also states the default 150-item window. It stops short of explicitly noting the operation is non-mutating, though 'Report' implies read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero filler: the first front-loads the purpose and bucketing behavior, the second appends the quota/pagination warning that matters for agent decisions. Every word earns its place, and the most distinctive detail (heavy/regular/light buckets) leads the description.

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?

For a report tool with no output schema and no annotations, the description covers the essentials: data source (recently-played history), computation (per-track counts with rotation buckets), the default window, and the quota cost of execution. The main gaps are the lack of alternative-tool routing and no description of the returned shape beyond what response_format's enum values imply, but the schema compensates for the format dimension.

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 and the schema fully documents max_items, max_results, and response_format. The description merely reinforces the max_items default ('default 150 history items') without adding parameter meaning beyond the schema. The pagination hint 'the API pages 50 per call' already lives in the schema, so no extra credit is warranted.

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?

The description states a specific verb and resource: 'Report how many times each track appears in recently-played history and bucket them into heavy/regular/light rotation.' The heavy/regular/light bucketing is a distinctive behavior that separates it from plain history tools like get_recently_played and from weekly_rotation_report. An agent can understand exactly what computation this tool performs.

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?

The intended usage is implied — if you want rotation categorization of recently-played history, call this tool — but no alternatives are named and no when-not-to-use conditions are given. Siblings like get_recently_played, most_replayed, and weekly_rotation_report overlap in data source, yet nothing tells the agent how to route among them. The default-window and quota notes provide context but not decision criteria.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NovaLux12/spotify-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server