About Spotify MCP Server
Spotify MCP Server is a Python MCP server for controlling Spotify playback through the Spotify API. It is for MCP clients that need playback controls such as track selection, skipping, shuffle, and repeat.
Key features
- 01Play and pause playback
- 02Skip to the next track
- 03Shuffle and repeat playlists
- 04Play albums by name
- 05Play tracks by name
Use cases
- 01Control Spotify playback from an MCP client
- 02Start a named album or track
MCP support
It exposes Spotify playback controls as tools for MCP clients. The server runs over stdio and uses Spotify credentials configured in a .env file.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMESpotify MCP Server
The Spotify MCP Server is a Model Context Protocol (MCP) server designed to interact with the Spotify API. It provides tools to control Spotify playback, such as playing, pausing, skipping tracks, shuffling playlists, and more. This server is built using the mcp framework and spotipy library.
Features
- Play, pause, and skip tracks.
- Shuffle and repeat playlists.
- Play specific albums or tracks by name.
- Built-in tools for seamless Spotify playback control.
Prerequisites
Before setting up the server, ensure you have the following:
- Python 3.12 or higher.
- A Spotify Developer account with a registered application. You will need:
SPOTIFY_CLIENT_IDSPOTIFY_CLIENT_SECRET
- A
.envfile containing your Spotify credentials. - A premium spotify account
Installation
-
Clone the repository:
git clone <repository-url> cd spotify-mcp-server -
Create a virtual environment and activate it:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate -
Install
uvfor dependency management:pip install uvWindows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" -
Install dependencies using
uvfrom the pyproject.toml file:uv sync -
Create a
.envfile in the project root and add your Spotify credentials:SPOTIFY_CLIENT_ID=your_client_id SPOTIFY_CLIENT_SECRET=your_client_secret
Usage
-
Start the MCP server:
python server.py -
Use the provided tools to control Spotify playback. For example:
play(): Start playing the current track.pause(): Pause the current track.next_track(): Skip to the next track.play_album("album_name"): Play a specific album by name.play_track("track_name"): Play a specific track by name.
-
Add MCP tools to your MCP client. For example, if you're using Claude: Add this at the root of your project
uv mcp install server.py
Example Using Calude Desktop
Here is the JSON file
{
"mcpServers": {
"spotify-mcp-server": {
"command": "~path-to-project\\spotify-mcp-server\\.venv\\Scripts\\python.exe",
"args": [
"~path-to-project\\spotify-mcp-server\\server.py"
],
"transport": "stdio",
"env":{
"SPOTIFY_CLIENT_ID": "############",
"SPOTIFY_CLIENT_SECRET": "############",
"TRANSPORT": "stdio"
}
}
}
}
Troubleshooting
-
Spotify Authentication Failed: Ensure your
SPOTIFY_CLIENT_IDandSPOTIFY_CLIENT_SECRETare correctly set in the.envfile. -
Server Not Starting: Verify that the
__name__check inserver.pyis correctly set to__server__:if __name__ == "__server__": mcp.run()
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.