mcp-server-spotify

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

<<<<<<< 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

  1. Clone the repository:
git clone https://github.com/yourusername/spotify-mcp-server.git
cd spotify-mcp-server
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up Spotify Developer credentials:

    • Go to Spotify Developer Dashboard
    • Create a new application
    • Add http://localhost:8888/callback as a redirect URI
    • Copy your Client ID and Client Secret
  2. Create a .env file:

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

  1. Authenticate with Spotify:
python authenticate_spotify.py

Follow the prompts to complete authentication.

  1. Start the MCP server:
python run_spotify_server.py
  1. Configure Claude Desktop:

    • Copy claude_mcp_config.json to Claude Desktop's MCP configuration directory:
      • Windows: %APPDATA%\Claude Desktop\mcp\
      • macOS: ~/Library/Application Support/Claude Desktop/mcp/
      • Linux: ~/.config/Claude Desktop/mcp/
    • Restart Claude Desktop
  2. 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 logs
  • server_output.log: Server stdout/stderr
  • wrapper_error.log: Wrapper script errors

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

MCP_Server_Spotify

5288f1d010d9cb20435bde5e0798226500eb0489