Spotify

by superseoworld

Recommended
12 stars
291 downloads
Not rated
GitHub

About

Access the Spotify Web API to search and retrieve information about tracks, albums, artists, and playlists.

Details

Author
superseoworld
Repository
superseoworld/mcp-spotify
GitHub stars
12
Downloads
291
License
MIT License
Categories
Search, Other, Media

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Spotify
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @thomaswawra/artistlens
    Environment
    • SPOTIFY_CLIENT_ID your_client_id
    • SPOTIFY_CLIENT_SECRET your_client_secret

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

get_access_token

Get a valid Spotify access token.

search

Search for tracks, albums, artists, or playlists.

get_artist

Get artist information.

get_artist_top_tracks

Get an artist's top tracks.

get_artist_related_artists

Get artists similar to a given artist.

get_artist_albums

Get an artist's albums.

get_album

Get album information.

get_album_tracks

Get an album's tracks.

get_track

Get track information.

get_available_genres

Get a list of available genres for recommendations.

get_new_releases

Get new album releases.

get_recommendations

Get track recommendations based on seed tracks, artists, or genres.

get_audiobook

Get audiobook information with optional market parameter.

get_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 user.

get_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 position.

remove_tracks_from_playlist

Remove one or more tracks from a playlist with optional positions and snapshot ID.

get_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 support.

get_category_playlists

Get a list of Spotify playlists tagged with a particular category.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "spotify": {
            "env": {
                "SPOTIFY_CLIENT_ID": "your_client_id",
                "SPOTIFY_CLIENT_SECRET": "your_client_secret"
            },
            "args": [
                "-y",
                "@thomaswawra/artistlens"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret"
    },
    "args": [
        "-y",
        "@thomaswawra/artistlens"
    ],
    "command": "npx"
}

Macos

{
    "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret"
    },
    "args": [
        "-y",
        "@thomaswawra/artistlens"
    ],
    "command": "npx"
}

Windows

{
    "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret"
    },
    "args": [
        "/c",
        "npx",
        "-y",
        "@thomaswawra/artistlens"
    ],
    "command": "cmd"
}

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.

To install ArtistLens for Claude Desktop automatically viaSmithery:

npx -y @smithery/cli install @superseoworld/artistlens --client claude

Add to your MCP settings file (e.g.,claude_desktop_config.jsonorcline_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:
- Go toSpotify Developer Dashboard
- Create a new application
- Get your Client ID and Client Secret
- Add them to the configuration as shown above

- 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

- get_access_token: Get a valid Spotify access token
- search: Search for tracks, albums, artists, or playlists
- get_artist: Get artist information
- get_artist_top_tracks: Get an artist's top tracks
- get_artist_related_artists: Get artists similar to a given artist
- get_artist_albums: Get an artist's albums
- get_album: Get album information
- get_album_tracks: Get an album's tracks
- get_track: Get track information
- get_available_genres: Get a list of available genres for recommendations
- get_new_releases: Get new album releases
- get_recommendations: Get track recommendations based on seed tracks, artists, or genres
- get_audiobook: Get audiobook information with optional market parameter
- get_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 user
- get_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 position
- remove_tracks_from_playlist: Remove one or more tracks from a playlist with optional positions and snapshot ID
- get_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 support
- get_category_playlists: Get a list of Spotify playlists tagged with a particular category

# If installed globally npm update -g @thomaswawra/artistlens # If using npx, it will automatically use the latest version npx -y @thomaswawra/artistlens

This project is open source and available on GitHub athttps://github.com/superseoworld/artistlens.

The codebase is organized into the following directories:

- src/handlers/: Contains handler classes for different Spotify API endpoints
- src/types/: TypeScript interfaces for request and response objects
- src/utils/: Utility functions and classes for API communication
- src/__tests__/: Jest test files for all functionality

The project uses Jest for testing. To run the tests:

To run tests in watch mode during development:
- 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

Search global news using natural language. Webz.io News Search API returns the most relevant articles and content, with filters for source, country, language, date, sentiment, and category.

Enables LLMs to search, download, and extract information from YouTube music videos.

MCP server for AI music catalog — search, stream, and browse 1M+ AI-generated tracks

Search and play tracks on YouTube Music via AI assistants.

Search, browse, and manage your Tidal music library with AI. Discover artists, albums, and tracks. Create and curate playlists. Add favorites to your library. Get personalized recommendations. 32 tools powered by the official Tidal API with OAuth authentication.

Search a real music catalogue from your assistant, get 30-second previews you can play, and add songs straight to your Apple Music playlists.

Music metadata search: 90M+ tracks, ISRC/ISWC, cross-platform IDs

A Model Context Protocol (MCP) server that enables AI applications to search for YouTube music videos and manage playlists using the official YouTube Data API v3.

Semantic search over 9 free-license stock photo sources. Hosted remote server with OAuth — no API key to paste.

An AI-powered server for searching and getting recommendations for anime.

Add audio search to via MCP - Search any audio in seconds

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.