Skip to main content
Glama

Fetch a Spotify record

fetch
Read-onlyIdempotent

The full record behind a search result: a track (play count, album, release date, genres, moods, BPM, credits), an artist (monthly listeners, followers, world rank, top cities, top tracks), an album (every track with play counts) or a playlist (details and its first 50 tracks with play counts). Takes an id from the search results (track:, artist:, album:, playlist:), a spotify: URI or an open.spotify.com URL.

Input Schema

NameRequiredDescriptionDefault
idYestrack:<id>, artist:<id>, album:<id> or playlist:<id> from search, a spotify: URI or an open.spotify.com URL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, openWorld and non-destructive, so the safety profile is settled. The description still adds real behavioral value by disclosing scope and truncation — notably that a playlist returns only 'its first 50 tracks', which an agent could not infer from annotations or schema. It omits error behavior for malformed ids, which caps it below 5.

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?

Two front-loaded sentences: the payoff (full record with rich fields) comes first, and the accepted id formats come second. The per-type field enumeration is dense but each element tells the agent something about the return payload, so little is wasted.

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

Completeness5/5

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

With one required parameter, full schema coverage, no output schema and rich annotations, the description covers the remaining gaps an agent needs: what each record type yields and the 50-track playlist cap. Nothing required to call it correctly is missing.

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?

There is a single parameter with 100% schema coverage, and the description's id-format text nearly duplicates the schema's own description ('track:<id>, artist:<id>, album:<id> or playlist:<id>... spotify: URI or open.spotify.com URL'). The only marginal addition is tying the id to search results, so this sits at the documented baseline.

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 opens with a specific framing ('full record behind a search result') and enumerates exactly what each record type returns — track, artist, album, playlist — so the agent knows this is a polymorphic detail lookup. It does not explicitly distinguish itself from overlapping siblings like get_album, get_artist_overview or get_playlist, which is the only thing keeping it from a 5.

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 phrase 'Takes an id from the search results' implies the intended workflow (search first, then fetch), which is useful. However, there is no explicit when-to-use versus get_album/get_artist_overview/get_playlist, and no statement of when not to use it or what happens with an invalid id.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.