
How to add Spotify MCP to Windsurf
Control Spotify playback, search, queue, and playlists from Claude or any MCP client. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 606★ · stdio · oauth
Windsurf config for Spotify MCP
{
"mcpServers": {
"spotify-mcp": {
"command": "uvx",
"args": [
"--python",
"3.12",
"--from",
"git+https://github.com/varunneal/spotify-mcp",
"spotify-mcp"
],
"env": {
"SPOTIFY_CLIENT_ID": "YOUR_CLIENT_ID",
"SPOTIFY_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8080/callback"
}
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Spotify MCP config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Spotify MCP's tools become available to Cascade.
Before you start
- Spotify Premium account
- Spotify developer app with CLIENT_ID and CLIENT_SECRET (from developer.spotify.com dashboard)
- Redirect URI configured as an explicit loopback http address, e.g. http://127.0.0.1:8080/callback
- uv / uvx installed (recommended version >= 0.54)
What Spotify MCP can do in Windsurf
SpotifyPlaybackManage current playback: start (play a new item or resume), pause, skip, and get information about the currently playing track.
SpotifySearchSearch Spotify for tracks, albums, artists, or playlists.
SpotifyQueueManage the playback queue — get the current queue or add a track to it.
SpotifyGetInfoGet detailed information about a Spotify item (track, album, artist, or playlist); for a playlist or album, returns its tracks.
SpotifyPlaylistManage playlists: get the user's playlists, get a playlist's tracks, add/remove tracks, change details, and create a new playlist.
Security
Requires a Spotify developer app (CLIENT_ID/CLIENT_SECRET) and a redirect URI using an explicit loopback address over http (e.g. http://127.0.0.1:8080/callback). Uses OAuth; credentials are passed as environment variables in the MCP config. A Spotify Premium account is required to use the developer API. Running via uvx will open the Spotify redirect URI on every tool call — run locally to avoid this.
Spotify MCP + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Spotify MCP config there under the "mcpServers" key and restart the client.
Is Spotify MCP safe to use with Windsurf?
Requires a Spotify developer app (CLIENT_ID/CLIENT_SECRET) and a redirect URI using an explicit loopback address over http (e.g. http://127.0.0.1:8080/callback). Uses OAuth; credentials are passed as environment variables in the MCP config. A Spotify Premium account is required to use the developer API. Running via uvx will open the Spotify redirect URI on every tool call — run locally to avoid this.
Do I need Spotify Premium?
Yes. A Spotify Premium account is required because the developer API used for playback control requires Premium.
How do I authenticate?
Create an app at developer.spotify.com, set the redirect URI to an explicit loopback http address (e.g. http://127.0.0.1:8080/callback), and pass SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET, and SPOTIFY_REDIRECT_URI as environment variables in your MCP config. The server uses OAuth.
Why does the Spotify login page open on every tool call?
That happens when running via uvx. To avoid it, clone the repo and run the project locally using uv with the --directory flag pointing at your clone.