musix-box
Provides direct access to the Spotify Web API, enabling agents to search tracks, artists, albums, and playlists, and to page through a user's complete liked-songs library, followed artists, saved albums, owned/followed playlists, and the full track listing of any playlist.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@musix-boxwhat bands do I like?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
hurdy-gurdy
An MCP server giving an agent real Spotify Web API access — full paginated library, following, and search — instead of the capped, fuzzy first-party connector.
Why this exists
The built-in Spotify connector's tools return at most 5 results per search call, with no pagination, and have no tool at all for listing your full liked-songs library, followed artists, saved albums, or playlists. Asking "what bands do I like" cannot be answered completely by a connector that can only return 5 results.
hurdy-gurdy calls the real Spotify Web API directly, with tools that page
through complete lists rather than returning a capped snapshot.
Related MCP server: MCP Spotify Server
Architecture
Built on the same pattern as other-memory: a Cloudflare Worker running an
MCP agent (agents/mcp), with @cloudflare/workers-oauth-provider as the
outer OAuth layer between the MCP client and this server, and Spotify as
the identity and data-access provider.
The one structural difference from other-memory: GitHub there is used
only to answer "who is this," against a token this server never stores or
reuses. Spotify here is also the source every tool actually calls, so the
tokens from the OAuth exchange are persisted (in SPOTIFY_TOKENS, a KV
namespace) and refreshed on every call that needs one — see
src/providers/spotify/spotify_session.ts.
src/providers/media_provider.ts defines a provider-agnostic interface
(MediaProvider) that src/providers/spotify/ implements. Adding YouTube
Music or Apple Music later is a matter of writing a new file under
providers/, not touching the tools or the MCP wiring.
Tools
search_media— search tracks, artists, albums, playlists (up to 10 per type per call, paginated)get_liked_tracks— the user's full liked-songs library, paginatedget_followed_artists— every artist the user follows, paginatedget_saved_albums— the user's saved albums, paginatedget_playlists— playlists the user owns or follows, paginatedget_playlist_tracks— every track in one playlist, paginated
Setup
Create a Spotify app at https://developer.spotify.com/dashboard to get a
Client ID. This flow uses PKCE, so no client secret is needed.Add
https://<your-worker>.workers.dev/callbackas a Redirect URI on the app.npx wrangler kv namespace create OAUTH_KVandnpx wrangler kv namespace create SPOTIFY_TOKENS, then copywrangler.example.jsonctowrangler.jsoncand fill in the returned ids plus your Spotify user id.Set secrets:
printf %s "$SPOTIFY_CLIENT_ID" | npx wrangler secret put SPOTIFY_CLIENT_ID openssl rand -hex 32 | npx wrangler secret put COOKIE_ENCRYPTION_KEYnpm run deploy.
Testing
npm test # worker + repository projectsNo integration project yet — those would exercise the real Spotify API
and need a test account and app configured, which this package does not
have set up.
This server cannot be deployed
Maintenance
Related MCP Connectors
Full Spotify Web API coverage - albums, artists, playlists, player controls, and more.
Spotify: Spotify Data API for Millions of songs & podcasts, artists, albums, playlists and more.
The media memory layer for AI agents and their humans. Your AI client gets 29 tools to search your collection, add items, update ratings, preview music, and find patterns across everything you've read, watched, and listened to.
Spotify MCP — Web API via client_credentials OAuth
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Spotify's music catalog through natural language conversations. Search for tracks and artists, get recommendations, explore playlists, and browse artist discographies using the Spotify Web API.-
- AlicenseAqualityDmaintenanceEnables interaction with Spotify through LLMs using OAuth2 authentication. Supports music search, playback control, playlist management, and device management through natural language commands.142MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search Spotify, inspect playback state, manage devices, and control music through the official Spotify Web API using OAuth authentication.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying Spotify data such as tracks, artists, albums, and top tracks through the Spotify Web API. Integrates with Pipeworx gateway for AI agent access.7 npmMIT