Back to MCP Catalog

Spotify MCP Server

Art & CulturePython
Control Spotify playback and manage playlists from your LLM
Available Tools

play

Start playback of a specific track, album, artist, or playlist

pause

Pause the current playback

skip

Skip to the next track in the queue

search

Search for tracks, albums, artists, or playlists

get_info

Get information about a track, album, artist, or playlist

manage_queue

Add or remove items from the Spotify queue

manage_playlists

Create, update, or modify playlists

The Spotify MCP provides a seamless interface between your LLM and Spotify's music streaming service. Built on top of the spotipy-dev API, it enables comprehensive control over your Spotify experience directly through conversational AI. With this integration, you can search for music, control playback, manage queues, and organize playlists without leaving your AI assistant. The MCP requires Spotify Premium and proper API credentials to function, providing a powerful way to enhance your music listening experience through natural language.

Overview

The Spotify MCP allows you to control Spotify through your LLM, enabling a seamless music experience through natural language. This integration lets you search for music, control playback, manage your queue, and organize playlists without switching between applications.

Prerequisites

  • Spotify Premium account (required for the Spotify API)
  • Spotify Developer API credentials
  • Python environment with uv package manager (recommended version ≥0.54)

Setup Instructions

1. Get Spotify API Credentials

  1. Create an account on developer.spotify.com
  2. Navigate to the dashboard and create a new app
  3. Set the redirect URI to http://127.0.0.1:8080/callback (you can use a different port if needed)
  4. Note your Client ID and Client Secret for later configuration

2. Install the MCP

Clone the repository to your local machine:

git clone https://github.com/varunneal/spotify-mcp.git

3. Configure Your LLM Client

Add the Spotify MCP to your LLM client's configuration file:

For Claude Desktop on macOS:

Edit ~/Library/Application\ Support/Claude/claude_desktop_config.json

For Claude Desktop on Windows:

Edit %APPDATA%/Claude/claude_desktop_config.json

Add the following configuration, replacing the placeholders with your actual values:

"spotify": {
  "command": "uv",
  "args": [
    "--directory",
    "/path/to/spotify_mcp",
    "run",
    "spotify-mcp"
  ],
  "env": {
    "SPOTIFY_CLIENT_ID": "YOUR_CLIENT_ID",
    "SPOTIFY_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
    "SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8080/callback"
  }
}

4. Restart Your LLM Client

After configuring the MCP, restart your LLM client (e.g., Claude Desktop) to apply the changes.

Troubleshooting

If you encounter issues with the Spotify MCP:

  1. Ensure your uv package manager is updated to version 0.54 or newer
  2. Check that the project directory has proper execution permissions: chmod -R 755 /path/to/spotify_mcp
  3. Verify you have an active Spotify Premium subscription
  4. Check the logs for error messages:
    • On macOS: ~/Library/Logs/Claude
    • For other platforms, refer to the MCP documentation

You can also use the MCP Inspector for debugging:

npx @modelcontextprotocol/inspector uv --directory /path/to/spotify_mcp run spotify-mcp

If problems persist, consider opening an issue on the GitHub repository.

Usage Examples

Once configured, you can interact with Spotify through natural language commands like:

  • "Play 'Bohemian Rhapsody' by Queen"
  • "Pause the music"
  • "Skip to the next track"
  • "Search for jazz playlists"
  • "Add this song to my favorites playlist"
  • "Create a new playlist called 'Workout Mix'"

The MCP handles the translation between your natural language requests and the appropriate Spotify API calls.

Related MCPs

Video Jungle
Art & CulturePython

Upload, edit, search, and generate videos with AI assistance

Rijksmuseum
Art & CultureTypeScript

Access and explore the Rijksmuseum's art collection through natural language

AniList
Art & CultureTypeScript

Access and interact with anime, manga, character, and user data from AniList

About Model Context Protocol

Model Context Protocol (MCP) allows AI models to access external tools and services, extending their capabilities beyond their training data.

Generate Cursor Documentation

Save time on coding by generating custom documentation and prompts for Cursor IDE.