Skip to main content
Glama
Stipe15

spotify-mcp

by Stipe15

taste_drift

Read-only

Compare your artist listening between two date ranges using play-count share. Identify artists you gained, lost, and held to see how your taste drifted based on your own listening data.

Instructions

Compare artist listening between two date periods (each [start, end] as YYYY-MM-DD) by share of total plays. Returns three lists: gained (no plays in period A, present in B), lost (present in A, none in B), held (present in both, ranked by the biggest change in share). This is how your taste drifted, by your own play counts — not an external trend signal.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
period_a_endYes
period_b_endYes
period_a_startYes
period_b_startYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
heldYes
lostYes
gainedYes
period_aYes
period_bYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations indicate readOnlyHint=true, and the description aligns with that by presenting this as a read-only comparison operation. It goes beyond annotations by detailing exact inclusion rules for each list, the ranking basis for held artists, and the data provenance ('by your own play counts — not an external trend signal'). No contradiction exists.

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?

Three dense sentences, zero filler. The core comparison is front-loaded, date format is given inline, and output semantics are enumerated without redundance.

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?

Given the tool's complexity and 0% schema coverage, the description is largely complete: date format, list semantics, ranking rule, and data source are all covered. With an output schema present and readOnly annotations, the main omission is the undefined behavior of the optional limit parameter, which prevents full completeness.

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?

Schema description coverage is 0%, so the description carries the burden for parameter meaning. It explicitly explains the four date parameters with the YYYY-MM-DD format and defines periods A and B conceptually. However, it does not clarify how the optional limit parameter applies—whether it caps each returned list or the total result—leaving a minor but real gap.

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 names a specific operation: comparing artist listening between two date periods by share of total plays, then defines the three output categories (gained, lost, held) precisely. The final sentence clarifies this is personal listening data, not an external trend signal, which helps distinguish it from other analytical tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear contextual guidance for when to use this tool: when you need to compare listening across two periods and understand gained, lost, or held artists. It does not explicitly name alternative tools or state when not to use it, but the purpose is obvious enough that an agent can select it appropriately.

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

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/Stipe15/spotify-mcp'

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