playLABSCO SUMMARY
The setup is heavier than the tools are — plan for that, not the other way round.
Six playback tools is about as simple as an MCP server gets, and it does what it says. The cost is entirely up front: a developer application, a redirect URI, an authorisation script, and tokens pasted by hand into a file. Premium is a hard requirement because the playback endpoints need it. Once past that, the useful pattern is search-then-play, since naming a track exactly is what makes playback land on the right thing.
What it is
A small MCP server over the Spotify Web API that drives playback on your account. Six tools cover the whole remote: start or resume something, pause, move between tracks, ask what is playing, and search the catalogue.
What you get
playstarts a track, album or playlist, or resumes what was paused — it also accepts a Spotify URI directlypausestops playbacknextandpreviousmove through the queueget_current_trackreturns what is playing right nowsearchlooks up tracks, albums, artists or playlists so the play call has something to name
Requirements
Bun version 1.0.0 or later, and a Spotify Premium account. You also need your own Spotify developer application: create it in the developer dashboard, take the client ID and secret, and add http://localhost:8888/callback to its redirect URIs. Put SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET and SPOTIFY_REDIRECT_URI in a .env, run bun run auth to complete the browser flow, and paste the returned SPOTIFY_ACCESS_TOKEN and SPOTIFY_REFRESH_TOKEN back into the file. The server runs with bun run start and must stay running while the client uses it.
Setup effort
Build from source — git clone https://github.com/obre10off/spotify-mcp.git
USE CASES
Changing the music without leaving what you are doing
Ask for a track by name and let it search and start playback.
Finding out what is playing
Get the current track back as text instead of switching to the app.
Skipping through a playlist
Move forward or back a track by asking.
Pausing for a call
Stop playback and resume where it left off afterwards.
6 tools
Listed in project docs. Your client may show a different list.
pausenextpreviousget_current_tracksearchBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
- SPOTIFY_CLIENT_ID in your environment
- SPOTIFY_CLIENT_SECRET in your environment
- SPOTIFY_ACCESS_TOKEN in your environment
- SPOTIFY_REFRESH_TOKEN in your environment
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
Clone the repository:
git clone https://github.com/obre10off/spotify-mcp.git
cd spotify-mcpInstall dependencies:
bun installCreate a file named .env in the root of the project directory with your Spotify credentials:
SPOTIFY_CLIENT_ID=<YOUR_SPOTIFY_CLIENT_ID>
SPOTIFY_CLIENT_SECRET=<YOUR_SPOTIFY_CLIENT_SECRET>
SPOTIFY_REDIRECT_URI=http://localhost:8888/callbackRun the authorization script:
bun run authCopy the printed SPOTIFY_ACCESS_TOKEN and SPOTIFY_REFRESH_TOKEN into your .env file and into the env block of your client configuration.
MCP Clients
Cursor, Claude Desktop
{
"mcpServers": {
"spotify": {
"command": "bun",
"args": [
"<YOUR_PATH_TO_SPOTIFY_MCP>/src/index.ts"
],
"env": {
"SPOTIFY_CLIENT_ID": "<YOUR_SPOTIFY_CLIENT_ID>",
"SPOTIFY_CLIENT_SECRET": "<YOUR_SPOTIFY_CLIENT_SECRET>",
"SPOTIFY_REDIRECT_URI": "http://localhost:8888/callback",
"SPOTIFY_ACCESS_TOKEN": "<YOUR_SPOTIFY_ACCESS_TOKEN>",
"SPOTIFY_REFRESH_TOKEN": "<YOUR_SPOTIFY_REFRESH_TOKEN>"
}
}
}
}