Provides comprehensive integration with Spotify's Web API, enabling music search, playback control, playlist management, library management, and access to user profiles and listening history through 29 tools across 7 categories.
Spotify MCP Server
A comprehensive Model Context Protocol (MCP) server that provides seamless integration between AI assistants (like Claude Desktop) and the Spotify Web API. This server enables AI assistants to interact with Spotify's music streaming service through a well-structured, type-safe interface.
šµ Overview
This MCP server acts as a bridge between AI assistants and Spotify's Web API, allowing users to:
Search for music, artists, albums, and playlists
Control playback (play, pause, skip, volume control)
Manage playlists (create, modify, add/remove tracks)
Access user profiles and music libraries
Manage user's music library (save/remove tracks)
Get user's listening history and top content
Retrieve plain text song lyrics
⨠Key Features
š ļø 29 Comprehensive Tools across 7 categories:
Albums (4 tools): Album information and new releases
Artists (6 tools): Artist data, top tracks, and discovery
Tracks (8 tools): Track details, lyrics, and library management
Playlists (10 tools): Complete playlist management and discovery
Playback (10 tools): Full player control and device management
User (1 tool): User profile information
Search (2 tools): General search and search-to-play functionality
šļø Clean Architecture:
Modular Design: Feature-based tool organization
Type Safety: Full TypeScript implementation with Zod validation
Reusable Components: Common schema builders eliminate code duplication
Automatic Registration: Tools are automatically discovered and registered
Error Handling: Comprehensive error management with descriptive messages
š§ Developer Experience:
Easy Extension: Simple pattern for adding new tools
Maintainable Code: Clear separation of concerns
Documentation: Self-documenting schema definitions
Debugging: Detailed logging and error reporting
š Quick Start
1. Clone and Install
2. Get Spotify Access Token
3. Build and Start
š§ Claude Desktop Integration
To use this MCP server with Claude Desktop, add it to your MCP configuration:
macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
š Usage Examples
Once integrated with Claude Desktop, you can use natural language commands:
šļø Project Architecture
Architecture Benefits
Modularity: Each tool category is self-contained
Type Safety: Full TypeScript and Zod validation throughout
Reusability: Common schemas prevent code duplication
Scalability: Easy to add new tools and categories
Maintainability: Clear separation of concerns
Performance: Efficient registration and validation
š ļø Available Tools
Albums (4 tools)
get_album
: Retrieve detailed album informationget_album_tracks
: Get tracks from a specific albumget_new_releases
: Discover new album releasessearch_albums
: Search for albums by keywords
Artists (6 tools)
get_artist
: Get detailed artist informationget_artist_albums
: Retrieve artist's albumsget_artist_top_tracks
: Get artist's most popular trackssearch_artists
: Search for artists by keywordsget_followed_artists
: Get user's followed artistsget_top_artists
: Get user's top artists
Tracks (8 tools)
get_track
: Get detailed track informationsearch_tracks
: Search for tracks by keywordsget_liked_tracks
: Get user's saved/liked trackssave_tracks
: Add tracks to user's libraryremove_tracks
: Remove tracks from user's libraryget_top_tracks
: Get user's top tracksget_recently_played
: Get recently played tracksget_track_lyrics
: Get plain text lyrics for tracks
Playlists (10 tools)
get_playlist
: Retrieve playlist detailsget_user_playlists
: Get user's playlistsget_playlist_tracks
: Get tracks from a playlistcreate_playlist
: Create a new playlistadd_to_playlist
: Add tracks to a playlistremove_from_playlist
: Remove tracks from a playlistsearch_playlists
: Search for playlists by keywordsget_categories
: Get browse categoriessave_playlist
: Follow/save a user-created playlistunsave_playlist
: Unfollow/unsave a playlist
Playback (10 tools)
get_currently_playing
: Get current playback informationstart_playback
: Start music playbackresume_player
: Resume paused playbackpause_player
: Pause current playbackskip_to_next
: Skip to next trackskip_to_previous
: Skip to previous trackset_volume
: Adjust playback volumeadd_to_queue
: Add song to playback queueget_devices
: Get available playback devicestransfer_playback
: Switch playback between devices
User (1 tool)
get_user_profile
: Get current user's profile information
Search (2 tools)
search_music
: Search for tracks, artists, albums, or playlistssearch_and_play_music
: Search for content and immediately start playback
Happy Music Streaming with AI! šµš¤
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
A 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.
Related MCP Servers
- AsecurityFlicenseAqualityA lightweight Model Context Protocol server that enables AI assistants like Cursor & Claude to control Spotify playback and manage playlists.Last updated -18154
- -securityFlicense-qualityA Model Context Protocol server that enables controlling Spotify playback through natural language commands in MCP clients like Cursor or Claude for Desktop.Last updated -2
- -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 -1
- -securityFlicense-qualityIntegrates with Spotify Web API through the Model Context Protocol, allowing users to search tracks, control playback, and manage playlists programmatically.Last updated -