
Connects Claude to Spotify's Web API using client_credentials OAuth, exposing four core lookup tools: get_track, get_artist, get_album, and get_artist_top_tracks. You get back structured metadata like popularity scores, genres, follower counts, preview URLs, and album tracklists. Useful when you need to fetch Spotify catalog data on demand, check artist stats, or grab track details by ID. Part of the Pipeworx gateway ecosystem, so you can either connect to just Spotify or hook into their full 250+ data source gateway. Supports both direct tool calls and natural language queries through ask_pipeworx. Ships as a streamable HTTP transport, so setup is just dropping a URL into your MCP client config.
Public tool metadata for what this MCP can expose to an agent.
track.statsGet stream count and metadata for a Spotify track. Returns title, artist, total play count, duration in ms, content rating, track number, album info, and artist info.1 paramsGet stream count and metadata for a Spotify track. Returns title, artist, total play count, duration in ms, content rating, track number, album info, and artist info.
track_idstringalbum.statsGet album statistics with per-track stream counts. Returns album name, type, release date, label, copyright, cover art, per-track stream counts and durations, and related albums.1 paramsGet album statistics with per-track stream counts. Returns album name, type, release date, label, copyright, cover art, per-track stream counts and durations, and related albums.
album_idstringartist.statsGet artist statistics including monthly listeners and top tracks. Returns monthly listeners, follower count, world rank, top 5 listener cities, top 10 tracks with stream counts, biography, external links, albums, singles, and verified status.1 paramsGet artist statistics including monthly listeners and top tracks. Returns monthly listeners, follower count, world rank, top 5 listener cities, top 10 tracks with stream counts, biography, external links, albums, singles, and verified status.
artist_idstringsearchSearch Spotify for artists, albums, tracks, and playlists. Returns matching results across all types. Track results include current stream counts.1 paramsSearch Spotify for artists, albums, tracks, and playlists. Returns matching results across all types. Track results include current stream counts.
qstringartist.getGet metadata for one or more artists in a single request. Returns artist names, images, genres, and follower counts.1 paramsGet metadata for one or more artists in a single request. Returns artist names, images, genres, and follower counts.
idsstringartist.overviewGet overview data for an artist. Returns detailed artist profile including biography, images, top tracks, discography summary, and related artists.1 paramsGet overview data for an artist. Returns detailed artist profile including biography, images, top tracks, discography summary, and related artists.
artist_idstringartist.albumsGet all albums in an artist's discography, paginated. Returns album names, IDs, types, release dates, and cover art.3 paramsGet all albums in an artist's discography, paginated. Returns album names, IDs, types, release dates, and cover art.
artist_idstringlimitintegeroffsetintegerartist.singlesGet all singles in an artist's discography, paginated. Returns single names, IDs, release dates, and cover art.3 paramsGet all singles in an artist's discography, paginated. Returns single names, IDs, release dates, and cover art.
artist_idstringlimitintegeroffsetintegerartist.relatedGet artists similar to the given artist. Returns a list of related artists with their names, IDs, images, and follower counts.1 paramsGet artists similar to the given artist. Returns a list of related artists with their names, IDs, images, and follower counts.
artist_idstringalbum.getGet metadata for one or more albums in a single request. Returns album names, artists, release dates, track listings, and cover art.1 paramsGet metadata for one or more albums in a single request. Returns album names, artists, release dates, track listings, and cover art.
idsstringtrack.getGet metadata for one or more tracks in a single request. Returns track names, artists, albums, durations, and preview URLs.1 paramsGet metadata for one or more tracks in a single request. Returns track names, artists, albums, durations, and preview URLs.
idsstringtrack.previewGet preview audio URL for a Spotify track. Returns a short preview URL that can be used to listen to a snippet of the track.1 paramsGet preview audio URL for a Spotify track. Returns a short preview URL that can be used to listen to a snippet of the track.
track_idstringplaylist.getGet metadata for a Spotify playlist. Returns playlist name, description, owner, follower count, and cover image.1 paramsGet metadata for a Spotify playlist. Returns playlist name, description, owner, follower count, and cover image.
playlist_idstringplaylist.tracksGet tracks in a Spotify playlist, paginated. Returns track names, artists, albums, durations, and add dates.3 paramsGet tracks in a Spotify playlist, paginated. Returns track names, artists, albums, durations, and add dates.
limitintegeroffsetintegerplaylist_idstringplaylist.permissionsGet permissions for a Spotify playlist. Returns whether the playlist is collaborative, public, and who can modify it.1 paramsGet permissions for a Spotify playlist. Returns whether the playlist is collaborative, public, and who can modify it.
playlist_idstringSpotify Web API MCP — catalog metadata via client_credentials OAuth.
Part of Pipeworx — an MCP gateway connecting AI agents to 1476+ live data sources.
search(query, type?, market?, limit?, offset?)get_track(track_id, market?)get_artist(artist_id)get_album(album_id, market?)get_artist_top_tracks(artist_id, market?)get_audio_features(track_id) — tempo, key, energy, danceability, etc.PLATFORM_SPOTIFY_KEY, format client_id:client_secret.?_apiKey=client_id:client_secret (colon-joined) after registering an app at https://developer.spotify.com/dashboard.User-scope features (saved tracks, owned playlists) require the full Authorization Code flow and are out of scope.
https://accounts.spotify.com/api/token (client_credentials grant)https://api.spotify.com/v1/Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"spotify": {
"url": "https://gateway.pipeworx.io/spotify/mcp"
}
}
}
tools/list at https://gateway.pipeworx.io/spotify/mcp returns the tools in the table
above plus the shared Pipeworx meta-tools — ask_pipeworx,
discover_tools, search_within, remember/recall and the rest of the
gateway-wide set. So the tool count you see is larger than this table: a
single-pack endpoint currently lists roughly 30 shared tools alongside the
pack's own. The connection's initialize response states its exact scope, and
is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a
scoped connection answer a question this pack does not cover — via
ask_pipeworx, which routes across the whole catalog — without you adding a
second MCP server. There is currently no way to mount a pack endpoint without
them; if the extra schemas cost you more context than the routing is worth,
connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
Both URLs reach the same gateway and the same 1476+ data sources. The
only difference is which pack's tools are listed directly; ask_pipeworx
reaches all of them from either one.
Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:
ask_pipeworx({ question: "your question about Spotify data" })
The gateway picks the right tool and fills the arguments automatically.
MIT