mcp-spotify
A Model Context Protocol server that enables searching and managing Spotify music, playlists, artists, albums, and audiobooks through natural language.
README
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:
- Go to Spotify Developer Dashboard
- Create a new application
- Get your Client ID and Client Secret
Installation
-
Clone the Repository:
git clone https://github.com/pashpashpash/mcp-spotify.git cd mcp-spotify -
Install Dependencies:
npm install -
Build the Project:
npm run build
Configuration
Add to your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%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*.log
Common 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 watch
License
MIT License
Note: This is a fork of the original mcp-spotify repository
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.