Skip to main content
Glama
vakandi
by vakandi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPOTIFY_BROWSERNoBrowser to read Spotify cookies from: edge (default), chrome, brave, vivaldi, opera. Must have an active open.spotify.com session.edge
SPOTIFY_USE_PROXYNoSet to 1 to send traffic through the system proxy (off by default).
SPOTIFY_COOKIES_FILENoPath to a JSON file of cookies (bypasses reading from the browser).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "subscribe": false,
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_docsA

Full usage guide for every tool of this server (one big text).

spotify_statusB

Account, token, library size, now playing and every Connect device.

list_devicesB

List every Spotify Connect device (Chromecast, MacBook, phones, TVs).

now_playingB

Current track, play/pause state and the active device.

list_liked_songsC

Read the Liked Songs playlist (free accounts included).

search_liked_songsA

Search the whole Liked Songs library for a title / artist / album.

search_spotifyA

Search the whole Spotify catalog (not only your library).

Same search box as the web player: tracks, artists, albums, playlists and profiles. Use it when the song is not in the Liked Songs.

play_liked_songC

Play a liked song, optionally on a specific Spotify Connect device.

play_trackB

Play a raw Spotify track URI on a device.

play_songA

Play a song by name - Liked Songs first, then the whole catalog.

This is the tool to use when the user says "play ": it looks the title/artist up in the Liked Songs and, if nothing matches, falls back to the Spotify catalog search.

chromecast_sentC

Shortcut: drive the Chromecast.

Always targets the device named "Chromecast" (falls back to a Google / Chromecast device if the name differs).

pause_playbackC

Pause playback ("" = the device that is currently playing).

resume_playbackC

Resume playback ("" = the device that is currently playing).

skip_nextC

Skip to the next track.

skip_previousC

Go back to the previous track.

set_volumeB

Set the volume of a device (0-100).

cleanup_devicesA

Remove the leftover "MCP Spotify Free" Connect devices of this server.

The server does not register a device of its own any more (it reuses the account's web-player device to send the commands), but earlier versions did - those entries are removed here, right away.

spotify_loginA

Capture a working Spotify session (free account is enough).

Tries, in order: the stored session, then the browser profile. If the browser keeps the session cookie in memory, the user is asked to quit the browser (Cmd+Q) so Chromium flushes it to disk - the tool keeps polling until the session is captured, then stores it on the filesystem so later runs work without the browser.

spotify_logoutA

Forget the stored session (does not log the account out of Spotify).

spotify_session_statusB

Diagnose the session: where the cookies come from and if they work.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 20 tools

Disambiguation3/5

The playback trio play_song / play_liked_song / play_track all ultimately start playback of a track, and an agent could easily misselect between them (play_song already falls back to catalog search and can target devices, so play_liked_song's niche is thin). Similarly search_liked_songs vs list_liked_songs vs search_spotify borders on overlapping, though descriptions do help distinguish library vs catalog. The rest (pause/resume/skip/volume/devices/session) are clearly distinct.

Naming Consistency4/5

Most tools follow a snake_case verb_noun pattern (play_song, list_devices, set_volume, search_spotify), with a consistent spotify_ prefix on session tools. Outliers are chromecast_sent (a noun/past-tense name that doesn't describe an action) and now_playing (noun phrase), but overall the convention is readable and predictable.

Tool Count3/5

At 20 tools this sits at the heavy end of the recommended 3-15 range for what is essentially a single-domain playback controller. Some of that weight comes from near-duplicate playback entries and a bulky get_docs tool that could be folded into status output.

Completeness4/5

Core lifecycle is covered: session login/logout/status, device listing and cleanup, play/pause/resume/skip forward-back, volume, search, library listing and now-playing. Minor gaps remain (no seek/position, no shuffle or repeat, no queue management, no playlist creation), but an agent can work around these for the stated free-account playback purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues