About MCP_Server_Spotify
MCP_Server_Spotify is a Python MCP server for controlling Spotify playback from Claude Desktop. It supports playback commands, track search, and current-track lookup, with token refresh and error logging.
Key features
- 01Play, pause, skip, and go back
- 02Search for tracks
- 03Retrieve current track information
- 04Automatic token refresh
- 05Error handling and logging
Use cases
- 01Controlling Spotify playback by command
- 02Finding tracks in Spotify
- 03Checking the currently playing track
MCP support
The MCP server exposes Spotify playback controls, track search, and current-track information to Claude Desktop.
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 README<<<<<<< HEAD
Spotify MCP Server for Claude Desktop
A Message Control Protocol (MCP) server that enables Claude Desktop to control Spotify playback through natural language commands.
Features
- Control Spotify playback (play, pause, next, previous)
- Search for tracks
- Get current track information
- Automatic token refresh
- Robust error handling and logging
- Easy authentication process
Prerequisites
- Python 3.7 or higher
- Spotify Premium account
- Spotify Developer account
- Claude Desktop
Installation
- Clone the repository:
git clone https://github.com/yourusername/spotify-mcp-server.git
cd spotify-mcp-server
- Install dependencies:
pip install -r requirements.txt
-
Set up Spotify Developer credentials:
- Go to Spotify Developer Dashboard
- Create a new application
- Add
http://localhost:8888/callbackas a redirect URI - Copy your Client ID and Client Secret
-
Create a
.envfile:
cp .env.example .env
Then edit .env and add your Spotify credentials:
SPOTIFY_CLIENT_ID=your_client_id_here
SPOTIFY_CLIENT_SECRET=your_client_secret_here
Usage
- Authenticate with Spotify:
python authenticate_spotify.py
Follow the prompts to complete authentication.
- Start the MCP server:
python run_spotify_server.py
-
Configure Claude Desktop:
- Copy
claude_mcp_config.jsonto Claude Desktop's MCP configuration directory:- Windows:
%APPDATA%\Claude Desktop\mcp\ - macOS:
~/Library/Application Support/Claude Desktop/mcp/ - Linux:
~/.config/Claude Desktop/mcp/
- Windows:
- Restart Claude Desktop
- Copy
-
Use Claude Desktop to control Spotify with commands like:
- "Play Bohemian Rhapsody on Spotify"
- "Pause the music"
- "Skip to next track"
- "What song is currently playing?"
Testing
Run the test script to verify the server is working:
python test_spotify_server.py
Project Structure
spotify-mcp-server/
├── README.md
├── requirements.txt
├── .env.example
├── claude_mcp_config.json
├── spotify_mcp_server.py # Main server implementation
├── run_spotify_server.py # Server wrapper script
├── authenticate_spotify.py # Authentication helper
└── test_spotify_server.py # Test script
Logging
The server generates several log files:
spotify_mcp_server.log: Main server logsserver_output.log: Server stdout/stderrwrapper_error.log: Wrapper script errors
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Spotipy - Python library for the Spotify Web API
- Flask - Web framework
- Claude Desktop - AI assistant =======
MCP_Server_Spotify
5288f1d010d9cb20435bde5e0798226500eb0489
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.