Skip to main content
Glama
Spotify MCP Server

Spotify MCP Server

by jamiew

Check Saved Shows

check_saved_shows
Read-onlyIdempotent

Check which Spotify podcast shows are already saved by submitting up to 50 show IDs or URIs; returns a true/false mapping for each show.

Instructions

Check which podcast shows are already saved, in upstream chunks of 40.

Args:
    show_ids: Show IDs or URIs (up to 50)
Returns:
    MembershipStatus.results maps each Spotify show id to true if saved

Input Schema

NameRequiredDescriptionDefault
show_idsYes

Output Schema

NameRequiredDescriptionDefault
checkedYes
resultsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.8.1

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already cover the safety profile (readOnly, idempotent, openWorld), so the description's job is to add operational detail -- and it does, disclosing that requests are split 'in upstream chunks of 40' and that the return maps each show id to a boolean. It stops short of saying what happens on partial failures or invalid IDs within a chunk.

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?

Two sentences plus a compact Args/Returns block, front-loaded with the core action. Every line contributes either purpose, input contract, or return shape; nothing is padded.

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 one-parameter read tool with an output schema, the definition covers purpose, input format, batch limit, and the shape of the result mapping. The only gap is behavioral edge cases (invalid IDs, partial chunk failures), which the output schema may partially resolve.

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 and largely meets it: it names the parameter, states that both IDs and URIs are accepted, and caps input at 50. The relationship between the 50-item cap and the 40-item internal chunking is left unexplained, which is the only real ambiguity.

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 -- 'Check which podcast shows are already saved' -- which distinguishes it from the sibling mutations save_shows/remove_saved_shows and from the episode/audiobook check variants. It never explicitly contrasts itself with get_saved_shows, which returns the saved set rather than testing membership, so routing between those two still requires inference.

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?

Usage is only implied: passing a list of IDs to test membership suggests batch verification scenarios, but the description never says when to prefer this over get_saved_shows or what to do when more than 50 IDs are known. No prerequisites or exclusions are stated.

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