MCP Catalogs
Homemcp-claude-spotify screenshot

mcp-claude-spotify

by imprvhub·35·Score 44

MCP server for Spotify integration with Claude Desktop, providing music control and playlist management capabilities.

mediaproductivitycommunication
15
Forks
2
Open issues
1 mo ago
Last commit
2d ago
Indexed

Overview

This MCP server enables Claude Desktop to interact with Spotify through the Model Context Protocol. It provides comprehensive functionality including authentication, searching for tracks/albums/artists/playlists, playback control, and full playlist management. The implementation uses TypeScript and provides both manual and automated installation methods with detailed setup instructions for different operating systems.

Try asking AI

After installing, here are 5 things you can ask your AI assistant:

you:Controlling Spotify playback through Claude Desktop voice commands
you:Creating and managing playlists programmatically
you:Getting music recommendations and discovering new tracks
you:How do I authenticate with Spotify?
you:What do I need to set up this MCP server?

When to choose this

Choose this MCP server if you want Claude Desktop to control your Spotify account through natural language commands and need full playlist management capabilities.

When NOT to choose this

Avoid if you're not using Claude Desktop or if you need to integrate with other AI assistants that don't support MCP.

Tools this server exposes

12 tools extracted from the README
  • auth-spotify

    Initiates the Spotify authentication process.

  • search-spotifysearch-spotify(query: string, type: string, limit: number)

    Searches for tracks, albums, artists, or playlists.

  • get-current-playback

    Gets information about the current playback state.

  • play-trackplay-track(trackId: string, deviceId: string)

    Plays a specific track on an active device.

  • pause-playback

    Pauses the current playback.

  • next-track

    Skips to the next track.

  • previous-track

    Returns to the previous track.

  • get-user-playlistsget-user-playlists(limit: number, offset: number)

    Gets a list of the user's playlists.

  • create-playlistcreate-playlist(name: string, description: string, public: boolean)

    Creates a new playlist for the current user.

  • update-playlistupdate-playlist(playlistId: string, name: string, description: string, public: boolean, collaborative: boolean)

    Updates a playlist's name, description, or settings.

  • get-recommendationsget-recommendations(seedTracks: string[], seedArtists: string[], seedGenres: string[], limit: number)

    Gets track recommendations based on seeds.

  • get-top-tracksget-top-tracks(limit: number, offset: number, time_range: string)

    Gets the user's most played tracks over a specified time range.

Comparable tools

spotify-web-apinode-spotify-apispotipy

Installation

Installation via Smithery

npx -y @smithery/cli install @imprvhub/mcp-claude-spotify --client claude

Manual Installation

  1. Clone the repository:
git clone https://github.com/imprvhub/mcp-claude-spotify
cd mcp-claude-spotify
npm install
npm run build

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "spotify": {
      "command": "node",
      "args": ["ABSOLUTE_PATH_TO_DIRECTORY/mcp-claude-spotify/build/index.js"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id_here",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}

FAQ

How do I authenticate with Spotify?
Use the 'auth-spotify' command in Claude Desktop after setting up the MCP configuration. A browser window will open for you to authorize the application with your Spotify account.
What do I need to set up this MCP server?
You need Node.js 16+, a Spotify account, Claude Desktop, and Spotify API credentials (Client ID and Client Secret) which can be obtained from the Spotify Developer Dashboard.

On Hacker News

Recent discussion from the developer community.

Compare mcp-claude-spotify with

GitHub →

Last updated · Auto-generated from public README + GitHub signals.