Skip to main content
Glama
Spotify MCP Server

Spotify MCP Server

by jamiew

Remove Saved Episodes

remove_saved_episodes
DestructiveIdempotent

Remove up to 50 podcast episodes from a Spotify user's library by passing episode IDs or URIs, keeping saved content current and uncluttered.

Instructions

Remove podcast episodes from the user's library.

Args:
    episode_ids: Episode IDs or URIs (up to 50)

Input Schema

NameRequiredDescriptionDefault
episode_idsYes

Output Schema

NameRequiredDescriptionDefault
statusYes
messageYes
snapshot_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.8.1

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds a genuinely useful constraint, the 50-item cap, but says nothing about what happens with invalid or already-unsaved episode IDs, whether removal is reversible, or any rate limiting.

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

Conciseness4/5

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

The purpose statement is a single front-loaded sentence with no filler. The docstring-style 'Args:' block is slightly vestigial since it restates the parameter name, but the content it adds is substantive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. However, for a destructive library mutation, the definition omits guidance on partial failures, behavior with IDs not currently saved, and required authorization, leaving meaningful gaps.

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% and the schema only names the field 'Episode Ids'. The description compensates well by specifying that values may be episode IDs or URIs and that at most 50 may be passed, which the schema alone does not convey.

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?

States a specific verb and resource: 'Remove podcast episodes from the user's library.' This clearly distinguishes it from save_episodes and get_saved_episodes, though it never names those siblings explicitly. An agent can identify the operation without ambiguity.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites (e.g. user authorization/scopes required to modify a library), and no routing to alternatives such as check_saved_episodes to verify presence first. Usage is only implied by the purpose sentence.

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