Spotify MCP server

Integrates with Spotify to enable music search, playlist creation, personalized recommendations, and profile management through secure OAuth authentication.
Back to servers
Setup instructions
Provider
Hrishi
Release date
Apr 07, 2025
Language
TypeScript
Stats
4 stars

This MCP server enables Claude to interact with your Spotify account, allowing you to search for songs, create playlists, get recommendations, and more through a simple interface.

Installation Options

Option 1: Use the HTTP Spotify MCP Server

  1. Navigate to Claude AI
  2. Click on "Add Connectors"
  3. Click on "Manage Connectors"
  4. Select "Add custom connector"
  5. Enter the HTTPS server link
  6. Contact [email protected] to whitelist your Spotify ID/email
  7. Your Claude instance will be ready to use Spotify (you'll be prompted to sign in using Spotify OAuth)

Option 2: Run Spotify MCP Locally

Prerequisites

  • Node.js v16 or higher
  • npm
  • A Spotify account
  • A registered Spotify Developer application

Create a Spotify Developer App

  1. Go to Spotify Developer Dashboard
  2. Log in with your Spotify account
  3. Click "Create an App"
  4. Fill in the app name and description
  5. Add http://localhost:8888/callback as a Redirect URI
  6. Note your Client ID and Client Secret

Install the Project

# Clone or download the project first
cd spotify-mcp-server

# Install dependencies
npm install

Get Your Spotify Tokens

Edit the spotify-auth.js file to include your Client ID and Client Secret:

// Replace these with your Spotify app credentials
const CLIENT_ID = "your_client_id_here";
const CLIENT_SECRET = "your_client_secret_here";

Then run the authentication script:

node spotify-auth.js

This will:

  1. Open a URL in your browser
  2. Prompt you to log in to Spotify
  3. Ask for your permission to access your account
  4. Save the tokens to secrets.json

Build the MCP Server

npm run build

Configure Claude Desktop

Edit your Claude Desktop configuration file:

  • On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • On Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the following configuration:

{
  "mcpServers": {
    "spotify": {
      "command": "node",
      "args": ["/full/path/to/spotify-mcp-server/build/spotify-mcp-server.js"]
    }
  }
}

Replace /full/path/to/spotify-mcp-server with the actual path to your project directory.

Restart Claude Desktop

Close and reopen Claude Desktop to load the new configuration.

Using the Spotify MCP Server

When starting a conversation with Claude, you'll need to set your Spotify credentials first:

  1. Check your secrets.json file to get your credentials
  2. Use the set-spotify-credentials tool to authenticate
  3. Then use any of the available Spotify tools

Available Tools

  • set-spotify-credentials - Set your Spotify authentication credentials
  • check-credentials-status - Check if your credentials are valid and who is logged in
  • search-tracks - Search for tracks by name, artist, or keywords
  • get-current-user - Get your Spotify profile information
  • create-playlist - Create a new playlist on your account
  • add-tracks-to-playlist - Add tracks to an existing playlist
  • get-recommendations - Get recommendations based on seed tracks

Example Commands

Setting Up Credentials

I want to connect to my Spotify account. Here are my credentials from secrets.json:

Tool: set-spotify-credentials
Parameters:
{
  "clientId": "your_client_id",
  "clientSecret": "your_client_secret",
  "accessToken": "your_access_token",
  "refreshToken": "your_refresh_token"
}

Checking Your Account

Can you check who I'm logged in as on Spotify?

Tool: get-current-user
Parameters: {}

Searching for Tracks

Search for songs by Weekend

Tool: search-tracks
Parameters:
{
  "query": "Taylor Swift",
  "limit": 5
}

Creating a Playlist

Create a new playlist called "My Pretty pretty girlfriend"

Tool: create-playlist
Parameters:
{
  "name": "My Pretty pretty girlfriend",
  "description": "For my girlfriend. Created with Claude and the Spotify MCP server"
}

Multi-Step Tasks

You can ask Claude to perform complex operations combining multiple tools:

I want to create a workout playlist with energetic songs. First, search for some high-energy songs. Then create a playlist called "Workout Mix" and add those songs to it.

Or:

I like the song "Blinding Lights" by The Weeknd. Can you search for it, then find similar songs, and create a playlist with those recommendations?

Troubleshooting

  • Error: No access token available: You need to set your credentials first using the set-spotify-credentials tool
  • Authentication failures: Your tokens may have expired. Run the auth script again to get fresh tokens
  • Invalid credentials: Double check that you're using the correct Client ID and Client Secret

Note that the server stores credentials in memory only, so you'll need to set credentials each time you start a new conversation or if Claude Desktop restarts.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "spotify" '{"command":"node","args":["/full/path/to/spotify-mcp-server/build/spotify-mcp-server.js"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "spotify": {
            "command": "node",
            "args": [
                "/full/path/to/spotify-mcp-server/build/spotify-mcp-server.js"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "spotify": {
            "command": "node",
            "args": [
                "/full/path/to/spotify-mcp-server/build/spotify-mcp-server.js"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later