Summary
Both Playlists.get (list current user's playlists) and Search with qtype=playlist consistently fail with:
Unexpected error occurred: 'tracks'
Other functionality (playback control, track/album/artist info, track search) works fine.
Reproduction
# Fails
SpotifyPlaylist(action="get")
SpotifySearch(query="anything", qtype="playlist")
Root cause
In src/spotify_mcp/utils.py, parse_playlist() unconditionally accesses nested keys:
'total_tracks': playlist_item['tracks']['total'],
Recent Spotify Web API responses for current_user_playlists() and search(type='playlist') include items where tracks is missing or None (Spotify changed search result shapes in late 2024 — many entries are now sparse/null).
The if not item: continue guard at line 136 of parse_search_results only catches fully null items, not partial ones.
Suggested fix
Defensive access in parse_playlist:
tracks_field = playlist_item.get('tracks') or {}
narrowed_item = {
'name': playlist_item.get('name'),
'id': playlist_item.get('id'),
'owner': (playlist_item.get('owner') or {}).get('display_name'),
'user_is_owner': (playlist_item.get('owner') or {}).get('display_name') == username,
'total_tracks': tracks_field.get('total', 0),
}
Environment
- spotify-mcp installed via
uvx --from git+https://github.com/varunneal/spotify-mcp
- Python 3.12
Summary
Both
Playlists.get(list current user's playlists) andSearchwithqtype=playlistconsistently fail with:Other functionality (playback control, track/album/artist info, track search) works fine.
Reproduction
Root cause
In
src/spotify_mcp/utils.py,parse_playlist()unconditionally accesses nested keys:Recent Spotify Web API responses for
current_user_playlists()andsearch(type='playlist')include items wheretracksis missing orNone(Spotify changed search result shapes in late 2024 — many entries are now sparse/null).The
if not item: continueguard at line 136 ofparse_search_resultsonly catches fully null items, not partial ones.Suggested fix
Defensive access in
parse_playlist:Environment
uvx --from git+https://github.com/varunneal/spotify-mcp