MCP Spotify Server
The MCP Spotify Server (ArtistLens) provides comprehensive access to Spotify's Web API for searching, retrieving, and managing music catalog data:
Search & Fetch: Search for tracks, albums, artists, or playlists; retrieve detailed information for individual or multiple items via IDs/URIs
Artist Insights: Access top tracks, related artists, and albums with filtering options
Album & Track Details: Get album tracks and detailed information with pagination support
Playlist Management: Fetch, create, modify playlists; add or remove tracks; access user, featured, and category playlists
Audiobooks: Retrieve audiobook details and chapters with market-specific content
Discovery: Get music recommendations based on genres, tracks, or artists; browse new releases
Authentication: Automatic Spotify access token management for API requests
Provides access to the Spotify Web API, enabling search for tracks, albums, artists, and playlists, as well as accessing artist information, top tracks, related artists, album information, new releases, recommendations, audiobook information, and playlist management.
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 Server search for songs by Taylor Swift"
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.
ArtistLens
A powerful Model Context Protocol (MCP) server that provides access to the Spotify Web API. ArtistLens enables seamless 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.
Current Version: 0.4.12
Installation
Installing via Smithery
To install ArtistLens for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @superseoworld/artistlens --client claudeManual Installation
You can install the package globally:
npm install -g @thomaswawra/artistlensOr run it directly with npx:
npx -y @thomaswawra/artistlensRelated MCP server: MCP Spotify Server
Configuration
Add to your MCP settings file (e.g., claude_desktop_config.json or cline_mcp_settings.json):
{
"mcpServers": {
"spotify": {
"command": "npx",
"args": ["-y", "@thomaswawra/artistlens"],
"env": {
"SPOTIFY_CLIENT_ID": "your_client_id",
"SPOTIFY_CLIENT_SECRET": "your_client_secret"
},
"disabled": false,
"autoApprove": []
}
}
}You'll need to provide your Spotify API credentials:
Create a new application
Get your Client ID and Client Secret
Add them to the configuration as shown above
Features
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
Get audiobook information with market-specific content and chapters
Note: Audiobook endpoints may require additional authentication or market-specific access
Get and modify playlist information (name, description, public/private status)
Access playlist tracks and items with pagination support
Support for both Spotify IDs and URIs
Automatic token management with client credentials flow
Comprehensive test suite for all functionality
Well-organized code with separation of concerns
Available Tools
get_access_token: Get a valid Spotify access tokensearch: Search for tracks, albums, artists, or playlistsget_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 albumsget_album: Get album informationget_album_tracks: Get an album's tracksget_track: Get track informationget_available_genres: Get a list of available genres for recommendationsget_new_releases: Get new album releasesget_recommendations: Get track recommendations based on seed tracks, artists, or genresget_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)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)get_featured_playlists: Get a list of Spotify featured playlists with optional locale and pagination supportget_category_playlists: Get a list of Spotify playlists tagged with a particular category
Updating
To update to the latest version:
# If installed globally
npm update -g @thomaswawra/artistlens
# If using npx, it will automatically use the latest version
npx -y @thomaswawra/artistlensDevelopment
This project is open source and available on GitHub at https://github.com/superseoworld/artistlens.
Project Structure
The codebase is organized into the following directories:
src/handlers/: Contains handler classes for different Spotify API endpointssrc/types/: TypeScript interfaces for request and response objectssrc/utils/: Utility functions and classes for API communicationsrc/__tests__/: Jest test files for all functionality
Testing
The project uses Jest for testing. To run the tests:
npm testTo run tests in watch mode during development:
npm run test:watchContributing
To contribute:
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Add tests for your changes
Commit your changes (
git commit -m 'Add some amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
MIT License
Available Tools
26 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), include_groups, limit, offset.
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), market, limit, offset.
get_available_genresB
Get a list of available genres for recommendations
Inputs: no named parameters.
get_category_playlistsC
Get a list of Spotify playlists tagged with a particular category
Inputs: category_id (required), limit, offset.
get_current_user_playlistsC
Get a list of the playlists owned or followed by the current Spotify user
Inputs: limit, offset.
get_featured_playlistsC
Get a list of Spotify featured playlists
Inputs: locale, 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: country, limit, offset.
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), market, fields, limit, +1 more.
get_playlist_tracksC
Get full details of the tracks of a playlist
Inputs: id (required), market, fields, limit, +1 more.
get_recommendationsB
Get track recommendations based on seed tracks, artists, or genres
Inputs: seed_tracks, seed_artists, seed_genres, limit.
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, collaborative, +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: query (required), type (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 26 tools
Most tools have distinct purposes targeting specific resources (e.g., albums, artists, playlists), but there is some overlap between get_playlist_items and get_playlist_tracks, which could cause confusion as both retrieve playlist content. The descriptions clarify that get_playlist_tracks focuses on tracks specifically, while get_playlist_items is more general, but the distinction is subtle and might lead to misselection.
Tool names follow a highly consistent verb_noun pattern throughout, with all tools using snake_case and starting with verbs like 'get', 'add', 'remove', or 'modify'. This predictability makes it easy for agents to understand and navigate the toolset without confusion.
With 26 tools, the count feels excessive for a Spotify API server, as many tools could be consolidated (e.g., multiple 'get' tools for similar resources). This bloat may overwhelm agents and complicate decision-making, indicating a lack of streamlined design for the domain.
The toolset provides comprehensive coverage of the Spotify domain, including CRUD operations for playlists (add, remove, modify), extensive catalog access for albums, artists, tracks, and audiobooks, and features like search, recommendations, and user-specific data. No obvious gaps exist, ensuring agents can handle a wide range of Spotify-related tasks.
Related MCP Connectors
Full Spotify Web API coverage - albums, artists, playlists, player controls, and more.
Spotify MCP — Web API via client_credentials OAuth
Spotify: Spotify Data API for Millions of songs & podcasts, artists, albums, playlists and more.
Spotify MCP server for ChatGPT, Claude and any AI agent: search songs and artists, list playlists, read playlist songs, create playlist, add songs to playlist, remove songs from playlist, set playlist public or private and save to Liked Songs in your own Spotify account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Spotify yourself; Cotlet does not store your password and you need no Spotify API key. About the official Spotify API: Spotify has a full Web API and, since 23 Apr 2026, an official connector for Claude (checked 5 Nov 2026). The API needs an app you register, and in development mode the app owner must have Premium and the app allows 5 users; unlimited users need a registered business with at least 250,000 monthly users. Setup and FAQ: https://cotlet.dev/integrations/spotify-api-mcp-server
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Spotify's music catalog through natural language conversations. Search for tracks and artists, get recommendations, explore playlists, and browse artist discographies using the Spotify Web API.-
- AlicenseAqualityDmaintenanceEnables interaction with Spotify through LLMs using OAuth2 authentication. Supports music search, playback control, playlist management, and device management through natural language commands.142MIT
- AlicenseAqualityDmaintenanceEnables interaction with Spotify through OAuth 2.0 authentication, supporting search for tracks/artists/albums/playlists, user profile access, and playlist management including creation and adding tracks.6MIT
- AlicenseCqualityDmaintenanceEnables natural language control of Spotify, including search, playback, and device management, with robust error handling and automatic token refresh.325 npmMIT