MCP ExplorerExplorer

Spotify Mcp

@254binaryninjaon 10 months ago
1 MIT
FreeCommunity
AI Systems
A simple python spotify mcp server

Overview

What is Spotify Mcp

The Spotify MCP Server is a Model Context Protocol (MCP) server designed to interact with the Spotify API, allowing users to control Spotify playback functionalities.

Use cases

Use cases include creating a custom music player that integrates with Spotify, automating music playback in smart home setups, or developing a web application that provides Spotify playback functionalities.

How to use

To use the Spotify MCP Server, clone the repository, set up a virtual environment, install dependencies, configure your Spotify credentials in a .env file, and start the server using the command ‘python server.py’.

Key features

Key features include playing, pausing, and skipping tracks, shuffling and repeating playlists, and the ability to play specific albums or tracks by name.

Where to use

The Spotify MCP Server can be used in applications that require Spotify playback control, such as personal music management tools, home automation systems, or custom media players.

Content

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

  1. Python 3.12 or higher.
  2. A Spotify Developer account with a registered application. You will need:
    • SPOTIFY_CLIENT_ID
    • SPOTIFY_CLIENT_SECRET
  3. A .env file containing your Spotify credentials.
  4. A premium spotify account

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd spotify-mcp-server
    
  2. Create a virtual environment and activate it:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. Install uv for dependency management:

    pip install uv
    

    Windows

    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    
  4. Install dependencies using uv from the pyproject.toml file:

    uv sync
    
  5. Create a .env file in the project root and add your Spotify credentials:

    SPOTIFY_CLIENT_ID=your_client_id
    SPOTIFY_CLIENT_SECRET=your_client_secret
    

Usage

  1. Start the MCP server:

    python server.py
    
  2. 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.
  3. 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_ID and SPOTIFY_CLIENT_SECRET are correctly set in the .env file.

  • Server Not Starting: Verify that the __name__ check in server.py is correctly set to __server__:

     if __name__ == "__server__":
      mcp.run()
    

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers