Skip to main content
Glama

remove_duplicate_playlist_items

Removes duplicate tracks from a Spotify playlist, keeping the first occurrence; optionally collapses same-song entries under different URIs. Supports dry-run preview and confirmation for large removals.

Instructions

Remove duplicate items from a playlist: keeps the first occurrence of each track and removes later repeats. Exact URI repeats are always cleaned; pass include_relinked=true to also collapse same-song entries that appear under different URIs (remasters/relinks). Supports dry_run; removals of 10+ items ask for confirmation via elicitation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dry_runNoPreview only: validate inputs and describe exactly what would change without performing it
playlist_idYesPlaylist ID
include_relinkedNoAlso collapse same-song duplicates under different URIs (relinks/remasters). Default false — only exact URI repeats are removed.
Behavior5/5

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

With no annotations, the description carries the full burden and does excellently: it discloses the mutation (removes later repeats), the exact-vs-relinked destinction, dry_run support, and the confirmation elicitation for 10+ removals. This is far beyond a generic description.

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 sentences, action first, then key distinctions, then dry_run and confirmation behavior. No filler or repetition; every clause adds operational information.

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 low-complexity tool, this is mostly complete: operation, option semantics, dry_run, and confirmation behavior are all present. Minor gap: with no output schema, it does not describe what the tool returns or how the dry_run result is reported, leaving the agent slightly in the dark about the response shape.

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 covers all parameters, so baseline is 3. The description adds meaningful semantics for include_relinked (remasters/relinks, same-song under different URIs) and clarifies dry_run as a preview. Only playlist_id gets no added meaning, but its schema description is sufficient.

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?

States a specific verb and resource: removes duplicate items from a playlist. Naming the algorithm (keeps first occurrence, removes later repeats) and the exact-vs-relink distinction makes it clearly distinguishable from sibling tools like remove_unavailable_playlist_items or find_duplicate_tracks_across_playlists.

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?

Implied usage is clear: use for cleaning duplicate playlist entries, with include_relinked and dry_run as behavior switches. However, it does not explicitly name alternative tools or say when not to use this one, despite many similar deduplication tools in the sibling list.

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