Skip to main content
Glama
llyfn

Spotify MCP Server

by llyfn

check_saved_in_library

Check if Spotify tracks, albums, episodes, shows, or audiobooks are saved in your library, or if artists, users, or playlists are followed. Handles up to 40 URIs per request.

Instructions

Check whether items are saved or artists/users/playlists are followed.

    Auto-chunks at 40 URIs per request.

    Args:
        uris: Spotify URIs: track, album, episode, show, audiobook, artist, user, or
            playlist (e.g. ["spotify:track:xxx", "spotify:artist:yyy"]).
    

Input Schema

NameRequiredDescriptionDefault
urisYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the auto-chunking threshold (40 URIs per request), which is genuine behavioral context beyond the schema, and the verb "check" implies a read-only operation. However, it does not state auth requirements, whether URI types can be mixed in one call, or ordering guarantees for the returned flags.

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?

Front-loaded purpose in the first sentence, followed by a chunking note and a structured Args block. Every element earns its place and there is no repetition. The Args formatting is slightly boilerplate-heavy for a single parameter but not wasteful.

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?

An output schema exists, so return values need not be explained, and the description covers purpose, chunking behavior, and accepted URI types. For a single-parameter read tool this is nearly sufficient; the only real gap is auth/scope requirements and whether a single call can mix resource types.

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 must compensate, and it largely does: it enumerates every accepted URI type (track, album, episode, show, audiobook, artist, user, playlist) and gives a concrete format example. This is meaningfully more than the bare "array of strings" schema. It stops short of stating whether types can be mixed or what the response maps to each input.

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+resource: checks saved status, with the dual scope of "saved" items vs "followed" artists/users/playlists. This clearly distinguishes it from get_saved_tracks/get_saved_albums (which list rather than check) and from save_to_library/remove_from_library. It does not name a sibling explicitly, so it lands at 4 rather than 5.

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?

No explicit when-to-use guidance or alternatives. The agent must infer that this is the membership-test counterpart to get_saved_tracks and save_to_library. No statement of when this is preferable to listing saved items or which resource types belong in which scenario.

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