mcp-spotify
Provides access to the Spotify Web API for searching tracks, albums, artists, and playlists; retrieving artist information, top tracks, related artists, and album tracks; managing playlists (modify, add/remove tracks); and accessing audiobook information and chapters.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-spotify search for 'Hotel California' by Eagles"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Spotify Server
A Model Context Protocol (MCP) server that provides access to the Spotify Web API. This server enables interaction with Spotify's music catalog, including searching for tracks, albums, and artists, as well as accessing artist-specific information like top tracks and related artists.
Prerequisites
Node.js (version 16 or higher)
Spotify API Credentials:
Create a new application
Get your Client ID and Client Secret
Related MCP server: Vulpes Spotify MCP Server
Installation
Clone the Repository:
git clone https://github.com/pashpashpash/mcp-spotify.git cd mcp-spotifyInstall Dependencies:
npm installBuild the Project:
npm run build
Configuration
Add to your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"spotify": {
"command": "node",
"args": ["path/to/mcp-spotify/dist/index.js"],
"env": {
"SPOTIFY_CLIENT_ID": "your_client_id",
"SPOTIFY_CLIENT_SECRET": "your_client_secret"
}
}
}
}Note: Replace "path/to/mcp-spotify" with the actual path to your cloned repository.
Features
Music Search and Discovery
Search for tracks, albums, artists, and playlists
Get artist information including top tracks and related artists
Get album information and tracks
Access new releases and recommendations
Audiobooks
Get audiobook information with market-specific content and chapters
Note: Audiobook endpoints may require additional authentication or market-specific access
Playlist Management
Get and modify playlist information (name, description, public/private status)
Access playlist tracks and items with pagination support
Add and remove tracks from playlists
Additional Features
Support for both Spotify IDs and URIs
Automatic token management with client credentials flow
Available Tools
Authentication
get_access_token: Get a valid Spotify access token
Search and Discovery
search: Search for tracks, albums, artists, or playlistsget_new_releases: Get new album releasesget_recommendations: Get track recommendations
Artist Information
get_artist: Get artist informationget_artist_top_tracks: Get an artist's top tracksget_artist_related_artists: Get artists similar to a given artistget_artist_albums: Get an artist's albums
Album and Track Information
get_album: Get album informationget_album_tracks: Get an album's tracksget_track: Get track information
Audiobook Access
get_audiobook: Get audiobook information with optional market parameterget_multiple_audiobooks: Get information for multiple audiobooks (max 50)get_audiobook_chapters: Get chapters of an audiobook with pagination support (1-50 chapters per request)
Playlist Management
get_playlist: Get a playlist owned by a Spotify userget_playlist_tracks: Get full details of the tracks of a playlist (1-100 tracks per request)get_playlist_items: Get full details of the items of a playlist (1-100 items per request)modify_playlist: Change playlist details (name, description, public/private state, collaborative status)add_tracks_to_playlist: Add one or more tracks to a playlist with optional positionremove_tracks_from_playlist: Remove one or more tracks from a playlist with optional positions and snapshot IDget_current_user_playlists: Get a list of the playlists owned or followed by the current Spotify user (1-50 playlists per request)
Debugging
If you run into issues, check Claude Desktop's MCP logs:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.logCommon issues:
Authentication Errors:
Verify your Spotify Client ID and Secret are correct
Check that your application is properly registered in the Spotify Developer Dashboard
Rate Limiting:
The server includes automatic token management
Be aware of Spotify API rate limits for different endpoints
Development
# Install dependencies
npm install
# Build the project
npm run build
# Development with auto-rebuild
npm run watchLicense
MIT License
Note: This is a fork of the original mcp-spotify repository
Available Tools
24 toolsadd_tracks_to_playlistC
Add one or more tracks to a playlist
Inputs: id (required), uris (required), position.
get_access_tokenB
Get a valid Spotify access token for API requests
Inputs: no named parameters.
get_albumC
Get Spotify catalog information for an album
Inputs: id (required).
get_album_tracksB
Get Spotify catalog information for an album's tracks
Inputs: id (required), limit, offset.
get_artistC
Get Spotify catalog information for an artist
Inputs: id (required).
get_artist_albumsC
Get Spotify catalog information about an artist's albums
Inputs: id (required), limit, offset, include_groups.
get_artist_top_tracksB
Get Spotify catalog information about an artist's top tracks
Inputs: id (required), market.
get_audiobookC
Get Spotify catalog information for an audiobook
Inputs: id (required), market.
get_audiobook_chaptersB
Get Spotify catalog information about an audiobook's chapters
Inputs: id (required), limit, market, offset.
get_available_genresA
Get a list of available genre seeds for recommendations
Inputs: no named parameters.
get_current_user_playlistsC
Get a list of the playlists owned or followed by the current Spotify user
Inputs: limit, offset.
get_multiple_albumsC
Get Spotify catalog information for multiple albums
Inputs: ids (required).
get_multiple_artistsC
Get Spotify catalog information for multiple artists
Inputs: ids (required).
get_multiple_audiobooksC
Get Spotify catalog information for multiple audiobooks
Inputs: ids (required), market.
get_new_releasesC
Get a list of new album releases featured in Spotify
Inputs: limit, offset, country.
get_playlistC
Get a playlist owned by a Spotify user
Inputs: id (required), market.
get_playlist_itemsC
Get full details of the items of a playlist
Inputs: id (required), limit, fields, market, +1 more.
get_playlist_tracksC
Get full details of the tracks of a playlist
Inputs: id (required), limit, fields, market, +1 more.
get_recommendationsB
Get track recommendations based on seed tracks, artists, or genres
Inputs: limit, seed_genres, seed_tracks, seed_artists.
get_trackC
Get Spotify catalog information for a track
Inputs: id (required).
modify_playlistC
Change a playlist's name and public/private state
Inputs: id (required), name, public, description, +1 more.
remove_tracks_from_playlistC
Remove one or more tracks from a playlist
Inputs: id (required), tracks (required), snapshot_id.
searchC
Search for tracks, albums, artists, or playlists
Inputs: type (required), query (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 24 tools
Most tools target distinct resources or actions, but get_playlist_tracks and get_playlist_items appear to overlap significantly. get_playlist also overlaps with those, creating some ambiguity between playlist detail-fetching operations.
Consistent verb_noun pattern throughout: get_*, add_*, remove_*, modify_*, search. The one bare 'search' is a minor deviation but universally understood in this domain.
24 tools is at the high end but justified by Spotify's broad catalog surface (tracks, albums, artists, playlists, audiobooks). A few tools like get_multiple_* variants could potentially be consolidated.
Strong read coverage across catalog entities and playlist lifecycle (create via modify? no create_playlist is missing). Playlist creation is a notable gap, as is user profile/playback control, but core browsing and playlist mutation workflows are covered.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for searching Airweave collections with natural language queries.
A Model Context Protocol server for Wix AI tools
An MCP server that provides tools to discover and retrieve podcast episodes transcripts.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables controlling Spotify playback through natural language commands in MCP clients like Cursor or Claude for Desktop.1-
- AlicenseNot gradedqualityDmaintenanceA 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.1ISC
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI assistants like Claude Desktop to interact with Spotify's music streaming service, supporting playback control, playlist management, music search, and user profile access.412MIT
- AlicenseNot gradedqualityDmaintenanceAn unofficial MCP server that provides access to Spotify's Web API through the Model Context Protocol, enabling AI assistants to search music, manage playlists, and control playback.30 npm9ISC