Skip to main content
Glama

search_saved_tracks

Read-onlyIdempotent

Find tracks in your Liked Songs by searching track, artist, or album name, then filter by date, album, or artist and sort results to locate specific saved music.

Instructions

Search your Liked Songs (saved tracks) by text query and optional facets — client-side filter over a bounded walk of /me/tracks. For catalog-wide search use search. Reports walk truncation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
albumNoFilter to tracks where album name contains this substring
limitNoMax results to return
queryNoSubstring to match against track name, artist name, or album name (case-insensitive). Omit to list by facets/sort only.
artistNoFilter to tracks where any artist name contains this substring
sort_byNoSort orderadded_desc
max_itemsNoHow many saved tracks to walk (default SPOTIFY_MCP_FETCH_ALL_CAP)
added_afterNoISO date — only tracks added after this date
max_resultsNoMax items to return (default: SPOTIFY_MCP_MAX_ITEMS env or 50)
added_beforeNoISO date — only tracks added before this date
response_formatNo'concise' = human prose, 'detailed' = more fields in prose, 'json' = raw API objectconcise

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.31.0
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
  2. Addedv1.26.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds genuinely useful behavioral context beyond those: it discloses that filtering happens client-side over a bounded walk of /me/tracks and that walk truncation is reported. This tells the agent results may be incomplete for large libraries and that this condition is signaled — a meaningful operational caveat the annotations do not convey.

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 with zero waste. The core purpose is front-loaded, the client-side/bounded-walk mechanism is stated in the same breath, and the sibling disambiguation and truncation disclosure round it out. Every clause earns its place.

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 10-parameter tool with no output schema, the description covers the essentials: scope, mechanism, boundary condition (bounded walk), the truncation signal, and the main alternative. The response_format enum in the schema partially compensates for the missing output schema. Minor gaps: the relationship between limit and max_results is not explained in the description, and there is no guidance on how truncation affects trustworthiness of results beyond being reported.

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 fully documents all 10 parameters — baseline 3 is appropriate. The description adds a small amount of conceptual glue by framing the operation as 'text query and optional facets' and explaining the bounded-walk model, which clarifies why both max_items (walk cap) and max_results/limit (result caps) exist. But it does not go beyond the schema on parameter-level detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search your Liked Songs (saved tracks)'), names the mechanism ('client-side filter over a bounded walk of /me/tracks'), and distinguishes itself from the catalog-wide sibling ('For catalog-wide search use search'). An agent can immediately tell this from search, search_tracks, get_saved_tracks, and the other saved-search tools.

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

Usage Guidelines4/5

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

Explicitly names the key alternative and the condition that selects it: 'For catalog-wide search use search.' This resolves the highest-risk confusion. It does not enumerate exclusions for adjacent siblings like get_saved_tracks (plain list vs. filtered search) or search_saved_albums, but the scope is clear enough from the first sentence that an agent will infer when this tool is appropriate.

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