Skip to main content
Glama
Stipe15

spotify-mcp

by Stipe15

add_playlist_items

Add tracks or episodes to a playlist using their Spotify URIs. Automatically chunks large lists to comply with Spotify's 100-URI limit, ensuring bulk additions work.

Instructions

Add tracks/episodes to a playlist by URI. Spotify accepts at most 100 URIs per request; this tool chunks automatically, so 250 tracks = 3 API calls under the hood (all covered by one confirmation). Append-only and does NOT deduplicate — check get_playlist_items first if duplicates matter. position (0-based) only guarantees exact placement for the first 100 URIs; any beyond that append at the end regardless of position. The preview shows the URIs verbatim: resolve them to human-readable names yourself first (e.g. via search_catalog) so you can show the user something readable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urisYes
positionNo
playlist_idYes
confirm_tokenNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes
resultNo
statusYes
previewNo
next_stepNo
expires_atNo
confirm_tokenNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

The description goes far beyond the minimal annotations (readOnlyHint=false, destructiveHint=false). It discloses automatic chunking, the confirmation behavior across multiple API calls, append-only semantics, lack of deduplication, the position guarantee limitation beyond 100 URIs, and the preview showing raw URIs. This is exactly the kind of behavioral context an agent needs.

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 dense but every sentence carries critical operational information. It is front-loaded with the core action, then covers limits, side effects, caveats, and preview behavior without wasted words. The structure makes the most important scoping and failure-mode information easy to scan.

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 that an output schema exists, the description reasonably focuses on behavior rather than return values. It covers chunking, deduplication, position limits, confirmation, and preview readability. The only notable omission is explicit guidance on confirm_token, though the mention of 'one confirmation' partially hints at it. Overall, an agent has most of what it needs to call the tool correctly.

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. It does explain important parameter-related semantics: URIs are passed by URI, position is 0-based and only reliable for the first 100 items, and chunking affects behavior. However, confirm_token is not explained and playlist_id is only implicitly obvious, so there is still a small gap.

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 opens with a specific verb and resource combination: 'Add tracks/episodes to a playlist by URI.' It clearly differentiates this from related mutation tools by calling out append-only behavior, no deduplication, and a position caveat, which helps an agent select it over reorder, replace, or remove 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?

The description provides actionable usage guidance: it explicitly warns to check get_playlist_items first if duplicates matter, and explains how chunking affects API calls and confirmation. It does not explicitly name alternatives like replace_playlist_items or reorder_playlist_items, but the append-only and position limitations imply 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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Stipe15/spotify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server