Spotify MCP Server
This project implements a Model Context Protocol (MCP) server that allows you to control Spotify playback using natural language through an MCP client, such as Cursor or Claude for Desktop (macOS and Windows only).
Features
This server exposes the following tools:
play
: Play a track, album, or playlist, or resume playback.pause
: Pause playback.next
: Skip to the next track.previous
: Skip to the previous track.get_current_track
: Get information about the currently playing track.search
: Search for tracks, albums, artists, or playlists.
Prerequisites
- Bun (version 1.0.0 or later)
- A Spotify Premium account.
- A Spotify Developer application:
- Create one at the Spotify Developer Dashboard.
- Obtain your Client ID and Client Secret.
- Add
http://localhost:8888/callback
to the Redirect URIs in your app's settings.
- An MCP client (e.g., Cursor or Claude for Desktop).
Installation and Setup
- Clone the repository:
- Install dependencies:
- Create a
.env
file:Create a file named.env
in the root of the project directory. Add the following, replacing the placeholders with your actual Spotify credentials: - Run the authorization script:This script will open your browser, prompt you to log in to Spotify and grant permissions, and then retrieve your initial access and refresh tokens.The script will print the
SPOTIFY_ACCESS_TOKEN
andSPOTIFY_REFRESH_TOKEN
to the console. Copy these values into your.env
file. - Configure your MCP client:
- Cursor:
- Open Cursor's settings (Cmd+, or Ctrl+,).
- Search for "Model Context Protocol".
- Click "Edit in settings.json".
- Add the following to the
mcp.servers
array (replace/absolute/path/to/your/spotify-mcp
with the absolute path to yourspotify-mcp
directory):It is recommended to use a.env
file and only put the environment variables related to Spotify there, instead of adding the values to the settings.json file.
- Claude for Desktop (macOS/Windows):
- Open the Claude for Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Add the following to the
mcpServers
object (replace/absolute/path/to/your/spotify-mcp
with the absolute path to yourspotify-mcp
directory):
- Open the Claude for Desktop configuration file:
- Important: Always use absolute paths in your client configuration.
- Cursor:
- Restart your MCP ClientMake sure to restart your MCP client (Cursor/Claude) to apply the settings.
Running the Server
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
A Model Context Protocol server that enables controlling Spotify playback through natural language commands in MCP clients like Cursor or Claude for Desktop.
Related MCP Servers
- AsecurityFlicenseAqualityA FastMCP tool that enables control of Spotify through natural language commands in Cursor Composer, allowing users to manage playback, search for content, and interact with playlists.Last updated -211Python
- AsecurityFlicenseAqualityA lightweight Model Context Protocol server that enables AI assistants like Cursor & Claude to control Spotify playback and manage playlists.Last updated -1280TypeScript
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to interact with Spotify, allowing them to search for tracks, control playback, and manage playlists.Last updated -1TypeScript
- -securityFlicense-qualityA Model Context Protocol (MCP) server that provides access to the Beatport Developer API, allowing Claude to interact with music data from Beatport's electronic music catalog.Last updated -Python