Skip to main content
Glama

dead_library_finder

Find saved Spotify tracks that never appear in recent history and aren't in any playlists, then remove them from your library (dry-run by default).

Instructions

Find saved tracks that never appear in your recent history AND sit in none of your playlists — unsave candidates. Local compute over /me/tracks + playlists + history. dry_run defaults to true; disabling it actually removes the candidates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dry_runNoPlan only (default). Set false to remove the candidates from your library.
max_resultsNoMax items to return (default: SPOTIFY_MCP_MAX_ITEMS env or 50)
min_age_daysNoOnly consider tracks saved at least this long ago. Default 30.
max_playlistsNoBudget for playlist scans (each scan pages that playlist). Default 50.
response_formatNo'concise' = human prose, 'detailed' = more fields in prose, 'json' = raw API objectconcise
Behavior5/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. It explicitly discloses the destructive behavior when dry_run is disabled ('actually removes the candidates'), the default safety of dry_run, and the local compute nature. This goes beyond the schema by explaining the computation scope and the actual effect, which is critical for a mutation-capable tool.

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?

The description is two sentences, front-loaded with the core purpose, then adds the critical dry_run behavior. Every sentence earns its place without fluff. It is efficiently structured for quick comprehension.

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?

The tool has 5 optional parameters and no output schema. The description explains the criteria, the data sources, and the safety mechanism. It does not explicitly state the return format, but the response_format parameter and the clear 'find candidates' intent make it sufficient. The local compute note adds useful context for agents concerned about API costs.

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% for all 5 parameters, each with clear descriptions. The tool description does not add extra meaning beyond the schema; it only repeats dry_run's default. Per the baseline, with high coverage, a score of 3 is appropriate since the description doesn't need to compensate.

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 clearly states what the tool does: finds saved tracks never in recent history and not in any playlists, identifying them as unsave candidates. It uses a specific verb 'Find' and a precise resource, making it easily distinguishable from generic tools. The condition is explicit, and the sibling unsave_orphan_tracks does not overlap in purpose since this tool finds candidates while that may perform the removal.

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 description implies the usage context (finding dead tracks for unsaving) and mentions dry_run to avoid accidental removal, but it does not explicitly state when to use this tool over alternatives like unsave_orphan_tracks or other library hygiene tools. No exclusions or comparisons are provided, leaving the agent to infer the appropriate scenario.

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