Spotify
Control Spotify playback using natural language commands.
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/callbackto the Redirect URIs in your app's settings.
- An MCP client (e.g., Cursor or Claude for Desktop).
Installation and Setup
-
Clone the repository:
git clone https://github.com/obre10off/spotify-mcp.git cd spotify-mcp -
Install dependencies:
bun install -
Create a
.envfile:Create a file named
.envin the root of the project directory. Add the following, replacing the placeholders with your actual Spotify credentials:SPOTIFY_CLIENT_ID=your_spotify_client_id SPOTIFY_CLIENT_SECRET=your_spotify_client_secret SPOTIFY_REDIRECT_URI=http://localhost:8888/callback # These will be filled in after running the auth script: SPOTIFY_ACCESS_TOKEN= SPOTIFY_REFRESH_TOKEN= -
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.
bun run authThe script will print the
SPOTIFY_ACCESS_TOKENandSPOTIFY_REFRESH_TOKENto the console. Copy these values into your.envfile. -
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.serversarray (replace/absolute/path/to/your/spotify-mcpwith the absolute path to yourspotify-mcpdirectory):{ "mcp.servers": [ { "spotify": { "command": "bun", "args": ["/absolute/path/to/your/spotify-mcp/src/index.ts"], "env": { "SPOTIFY_CLIENT_ID": "your_spotify_client_id", "SPOTIFY_CLIENT_SECRET": "your_spotify_client_secret", "SPOTIFY_REDIRECT_URI": "http://localhost:8888/callback", "SPOTIFY_ACCESS_TOKEN": "your_spotify_access_token", "SPOTIFY_REFRESH_TOKEN": "your_spotify_refresh_token" } } } ] }It is recommended to use a
.envfile 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
mcpServersobject (replace/absolute/path/to/your/spotify-mcpwith the absolute path to yourspotify-mcpdirectory):
{ "mcpServers": { "spotify": { "command": "bun", "args": ["/absolute/path/to/your/spotify-mcp/src/index.ts"] } } } ``` 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 `claude_desktop_config.json` file. - Open the Claude for Desktop configuration file:
-
Important: Always use absolute paths in your client configuration.
-
-
Restart your MCP Client
Make sure to restart your MCP client (Cursor/Claude) to apply the settings.
Running the Server
bun run start
This command starts the server with automatic reloading on file changes (thanks to Bun's --watch flag). Keep this terminal window open while you're using the server.
## Usage
Once the server is running and your MCP client is configured, you can start using natural language commands to control Spotify. Examples:
"Play Bohemian Rhapsody"
"Pause the music"
"What song is playing?"
"Search for Taylor Swift albums"
"Next track"
"Play spotify:track:4uLU6hMCjMI75M1A2tKUQC"
Verwandte Server
pfx MCP - Model Context Protocol Forterro Proffix Px5
The universal link AI/KI-Integration with Proffix Px5 ERP
Cloudflare MCP Server
Deploy a remote, authentication-free MCP server on Cloudflare Workers.
fal.ai Ideogram v3
Advanced text-to-image generation model with superior quality and text rendering via the fal.ai API.
CData Zuora MCP Server
An MCP server for Zuora, powered by the CData JDBC Driver. Requires a separate driver and configuration file for connection.
Cloud Analyzer
A server for analyzing cloud infrastructure and services, with local testing support via Localstack.
CORTEX MCP Extensions
Provides direct access to CORTEX infrastructure for orchestration, monitoring, AI flow management, model routing, and Docker administration.
China Weather
Query weather information and meteorological warnings for Chinese cities using the QWeather API.
MCP SSH Server
Provides SSH access to remote servers, allowing AI tools to securely connect to your VPS for management.
Oracle EPM Cloud MCP Server
Connect AI agents to Oracle EPM Cloud (Planning, PBCS, EPBCS) via REST APIs. Automate month-end close, run business rules, manage substitution variables, refresh databases, export data slices, and monitor job status through natural language. Built by Fred Mamadjanov, Oracle ACE and EPM Solution Architect.
CloudStack MCP Server
Integrate with Apache CloudStack to manage cloud resources directly from your desktop.