Skip to main content
Glama
ElBeldu

Spotify MCP Server

by ElBeldu

playMusic

Start playback of a Spotify track, album, artist, or playlist by providing its URI, with automatic device selection and optional device targeting.

Instructions

Start playing a Spotify track, album, artist, or playlist. Pass a Spotify URI (e.g. spotify:track:xxx, spotify:album:xxx) via "uri". For albums/playlists you can also use "context_uri". Device is selected automatically — "deviceId" or "device_id" are optional.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoSpotify ID of the item (use with type)
uriNoSpotify URI to play (e.g. spotify:track:xxx, spotify:album:xxx)
typeNoType of item (only needed with id)
offsetNoTrack offset within album/playlist (0-based)
deviceIdNoSpotify device ID to play on (auto-selected if omitted)
device_idNoAlias for deviceId
context_uriNoAlias for uri — Spotify context URI for albums/playlists

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries the full behavioral burden. It discloses one meaningful trait — the device is selected automatically unless deviceId/device_id is passed. It omits auth/scope requirements, Premium-only constraints, behavior when no active device exists, and what happens to the existing queue. Given zero annotation coverage, more was warranted.

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?

Three sentences, zero waste: purpose first, then parameter-shape guidance, then the device note. Well front-loaded and appropriately sized for a 7-parameter tool.

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

Completeness3/5

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

No annotations and no output schema, so the description is the only behavioral source. It documents the parameter shapes adequately but leaves preconditions (active device/session, account tier) and failure modes unstated for a tool whose whole job is issuing a playback command.

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 baseline is 3. The description restates the uri/context_uri and deviceId/device_id distinctions that the schema descriptions already give ('Alias for deviceId', 'Alias for uri'), adding only light clarification of which content types suit context_uri. It does not explain id+type interplay or offset usage.

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?

Clear specific verb+resource: 'Start playing a Spotify track, album, artist, or playlist.' An agent can immediately tell what it does. However it never contrasts with the close sibling resumePlayback, which also initiates audio output, so the boundary between 'start new playback' and 'resume existing playback' is left to inference.

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?

It tells the agent which parameter shape to use for which content type (uri for tracks, context_uri for albums/playlists) and notes device auto-selection, which is useful usage guidance. It does not say when to prefer this over resumePlayback, nor any precondition such as an active session or Premium account.

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