Skip to main content
Glama

like_tracks

Save one or more tracks to your Spotify Liked Songs using track IDs obtained from search, playlist, or top tracks.

Instructions

Save one or more tracks to the user's Liked Songs. track_ids come from search_track / playlist_tracks / top_tracks. Note: Spotify restricts this endpoint to apps with "Extended Quota Mode" approval — it may fail with a permissions error on apps that don't have it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
track_idsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the mutation (saving) and a critical behavioral trait: the endpoint may fail with a permissions error for apps without Extended Quota Mode. However, it does not mention side effects like idempotency, partial success handling, rate limits, or the need for authentication. The disclosure is useful but not comprehensive.

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?

The description is three sentences with no wasted words. The action is front-loaded, the source of IDs is given in the second sentence, and a critical permission warning is included last. Every sentence contributes meaningful information.

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?

Given the tool's simplicity (one parameter, no nested objects) and the existence of an output schema, the description covers the essential points: what it does, where parameters come from, and a key operational caveat. It does not explain the return value (covered by output schema) or mention authentication, but for a single-action tool this is reasonably complete. Missing details like error handling on invalid IDs are minor.

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 0%, so the description must compensate. It adds meaning by stating track_ids come from specific tools (search_track, playlist_tracks, top_tracks), which clarifies the expected format (Spotify track IDs). However, it does not specify constraints like maximum array length, whether duplicate IDs are allowed, or whether an empty array is valid. It adds some value but leaves gaps.

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?

The description clearly states the action ('Save one or more tracks to the user's Liked Songs'), identifying the verb and resource. It distinguishes from sibling tools like unlike_tracks (removing) and add_tracks (adding to a playlist) by naming the target as Liked Songs. It also specifies the source of track_ids, which further clarifies the tool's role.

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 description provides context by indicating where track_ids come from (search_track / playlist_tracks / top_tracks), which implicitly tells the agent when to use this tool. However, it does not explicitly compare to alternatives like add_tracks or unlike_tracks, nor does it state when not to use it. The permission caveat adds a practical constraint but does not replace clear usage guidance.

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