Skip to main content
Glama

remove_duplicate_playlist_items

Remove duplicate tracks from a Spotify playlist by keeping the first occurrence and deleting later repeats. Optionally collapse same-song duplicates under different URIs, with dry-run preview.

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. Also covers: playlist_dedupe_advanced, dedupe_playlist_plan — See also: playlist_dedupe_advanced, dedupe_playlist_plan.

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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.26.1

TDQS

A3.7/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does it well. It discloses the destructive removal behavior, keep-first-occurrence semantics, the optional relinked collapse, the dry-run preview mode, and the confirmation elicitation threshold for large removals.

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

Conciseness2/5

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

The core information is front-loaded and dense, but the tail is redundant and confusing: 'Also covers: playlist_dedupe_advanced, dedupe_playlist_plan — See also: playlist_dedupe_advanced, dedupe_playlist_plan' repeats the same two names with no added value. This weakens an otherwise compact 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 mutation tool with no annotations and no output schema, the description covers the core behavior, destructive threshold, dry-run escape hatch, and the key include_relinked branch. It is slightly incomplete on clear routing among the dedupe-related siblings, but an agent can invoke this tool correctly with what is provided.

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 schema already documents all three parameters and their meanings. The description adds only minor elaboration around include_relinked and dry_run, not enough to raise it above the baseline for fully covered schemas.

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 states a specific verb and resource: remove duplicate items from a playlist, with the precise rule of keeping the first occurrence and removing later repeats. It also clarifies the exact-URI vs relinked behavior, but it does not explicitly differentiate this tool from similarly named siblings like playlist_dedupe_advanced or dedupe_playlist_plan.

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 gives useful invocation context: dry_run is supported, and removals of 10+ items trigger confirmation. However, it only names related tools via 'Also covers / See also' without saying when to choose this tool over playlist_dedupe_advanced or dedupe_playlist_plan, leaving the alternatives guidance mostly implicit.

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