原始内容
<<<<<<< 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