
Spotify MCP
A 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.
ashwanth1109
Tools
get_my_playlists
FastMCP tool to get user playlists using SpotifyClient.
start_playback
FastMCP tool to resume playback on the currently active Spotify device.
pause_playback
FastMCP tool to pause playback on spotify.
search_spotify
Search Spotify for tracks, artists, albums, or playlists. Args: query: Search term type: One of 'track', 'artist', 'album', 'playlist' limit: Max number of results
next_track
Skip to next track in queue
previous_track
Go back to previous track
seek_position
Seek to position in current track Args: position_ms: Position in milliseconds
get_playback_state
Get current playback information
get_recommendations
Get Spotify recommendations based on seeds Args: seed_artists: Comma-separated artist IDs seed_tracks: Comma-separated track IDs seed_genres: Comma-separated genres limit: Number of recommendations
get_item_info
Get detailed information about a Spotify item Args: item_id: Spotify ID type: One of 'track', 'album', 'artist', 'playlist'
start_playback_track
Start playback of a specific track on Spotify Args: track_uri: Spotify URI of the track (e.g. 'spotify:track:1234...') device_id: Optional device to play on
get_top_artists
Get user's top artists from Spotify Args: limit: Number of artists (max 50) time_range: One of 'short_term' (4 weeks), 'medium_term' (6 months), 'long_term' (all time)
get_queue
Get the current queue of tracks
add_to_queue
Add a track to the queue Args: track_id: Spotify track ID to add
skip_tracks
Skip multiple tracks at once Args: num_skips: Number of tracks to skip (default: 1)
set_repeat_mode
Set repeat mode for playback Args: state: One of 'track', 'context', or 'off'
get_current_track
Get information about the currently playing track
start_playlist_playback
Start playback of a specific playlist Args: playlist_id: Spotify playlist ID device_id: Optional device to play on
get_artist_top_tracks
Get top tracks for an artist Args: artist_id: Spotify artist ID
add_to_playlist
Add tracks to a playlist Args: playlist_id: Spotify playlist ID track_ids: List of track IDs to add
reorder_queue
Reorder tracks in queue by moving a track to a different position Args: range_start: Position of track to move insert_before: Position to insert the track
README
Spotify MCP
A FastMCP tool for Spotify.
Demo
Link: https://drive.google.com/file/d/1jGGQBzeXSKSJijeUwFZLdvrKPmPuogGd/
Pre-requisites
Installation
- Clone this repository
- Create a
.env
file in the root of the repository and add your Spotify API credentials (copy over from.env.example
) - You can get your credentials by going to the Spotify Developer Dashboard and creating an app.
- Go to Cursor Settings > Features > MCP Servers > + Add new MCP server
- Name: Spotify, Type: command, Command: uv --directory <path-to-repository/mcp-spotify> run main.py
You should see the tool installed now.
Trying it out
- Open
Composer
in "agent" mode and voila, you can have cursor control your Spotify player. (make sure you have spotify open on an active device)
Features
Below is an example conversation showcasing how you can interact with the Spotify MCP tool through Cursor Composer:
-
User: "Show me my playlists."
Response: "Here are your playlists: Chill Vibes, Workout Mix, Top Hits." -
User: "Play my 'Chill Vibes' playlist."
-
User: "Pause song."
Response: "Playback paused." -
User: "Resume song."
Response: "Resuming playback..." -
User: "What song is this?"
Response: "You're listening to 'Faded' by Alan Walker." -
User: "Tell me about this artist and show me some popular tracks."
Response: "Artist Info: Alan Walker." -
User: "Show me my top artists from the last 6 months."
Response: "Here are your most played artists..." -
User: "Search for Coldplay."
Response: "Found artist: Coldplay. Here are their top tracks..." -
User: "Play song 'Fix You'."
Response: "Starting playback for 'Fix You'..." -
User: "Show me my queue."
Response: "Current queue: Track 1, Track 2, Track 3..." -
User: "Add 'Paradise' to my queue."
Response: "Added 'Paradise' by Coldplay to your queue." -
User: "Move 'Paradise' up in the queue."
-
User: "Set it on repeat."
-
User: "I like this song. Recommend some similar tracks."
Response: "Here are some recommendations based on this track..." -
User: "Add this track to my 'Chill Vibes' playlist."
Additional Available Features:
- Seek to specific position in track
- View detailed playback state
- Skip multiple tracks at once
If you want more features to be supported, feel free to raise an issue!
Recommended Servers
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
YouTube Transcript MCP Server
This server retrieves transcripts for given YouTube video URLs, enabling integration with Goose CLI or Goose Desktop for transcript extraction and processing.
The Verge News MCP Server
Provides tools to fetch and search news from The Verge's RSS feed, allowing users to get today's news, retrieve random articles from the past week, and search for specific keywords in recent Verge content.
MCP Spotify Server
Enables interaction with Spotify's music catalog via the Spotify Web API, supporting searches, artist information retrieval, playlist management, and automatic token handling.
mcp-server-youtube-transcript
A Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video captions and subtitles through a simple interface.
Beamlit MCP Server
An MCP server implementation that enables seamless integration between Beamlit CLI and AI models using the Model Context Protocol standard.
ThingsPanel MCP
An integration server that connects AI models with ThingsPanel IoT platform, allowing AI assistants to interact with IoT devices through natural language for device control, data retrieval, and management operations.

systemd-coredump MCP Server
Enables MCP-capable applications to access, manage, and analyze system core dumps through integration with systemd-coredump functionality.
Terminal Controller for MCP
An MCP server that enables secure terminal command execution, directory navigation, and file system operations through a standardized interface for LLMs.