TIDAL MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TIDAL_MCP_DATA_DIR | No | Session and draft root. Defaults to the OS application-data directory. | |
| TIDAL_MCP_SESSION_FILE | No | Override the OAuth session path. | <data-dir>/session.json |
| TIDAL_MCP_ENABLE_WRITES | No | Permit approval-token commits for allowlisted account mutations. Set to 1 to enable safe account writes. | 0 |
| TIDAL_MCP_DRAFT_TTL_SECONDS | No | Approval lifetime, between 60 and 3600 seconds. | 900 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tidal_auth_statusA | Check the local TIDAL session without exposing OAuth credentials. |
| tidal_searchC | Search TIDAL. This tool reads public catalog metadata and changes nothing. |
| tidal_list_favorite_tracksA | List saved tracks ordered from most recently added, with pagination metadata. |
| tidal_list_playlistsB | List the authenticated user's playlists without changing them. |
| tidal_get_playlist_tracksB | Read one playlist page by exact TIDAL playlist ID. |
| tidal_recommend_tracksA | Get Track Radio candidates, deduplicate them, and apply deterministic metadata filters. Mood or acoustic character are not claimed as API-level filters. The returned metadata can be assessed by the calling model, while year, duration, explicitness, exclusions, and per-artist diversity are enforced here. |
| tidal_commit_actionB | Commit one exact action draft; a successful replay returns the stored result. |
| tidal_commit_create_playlistC | Backward-compatible commit alias restricted to create_playlist drafts. |
| tidal_get_trackB | Return full public metadata for one exact track ID. |
| tidal_get_albumA | Return public metadata for one exact album ID. |
| tidal_get_artistA | Return public metadata for one exact artist ID. |
| tidal_get_playlistB | Return public metadata for one exact playlist ID. |
| tidal_get_videoB | Return public metadata for one exact video ID. |
| tidal_get_mixB | Return public metadata for one exact legacy mix ID. |
| tidal_get_mix_v2B | Return public metadata for one exact current-generation mix ID. |
| tidal_get_userA | Return the current user or another public user by numeric ID. |
| tidal_get_albums_by_barcodeB | Resolve an exact UPC/EAN barcode to matching albums. |
| tidal_get_tracks_by_isrcC | Resolve an exact ISRC to matching tracks. |
| tidal_get_track_radioC | List radio recommendations for one seed track. |
| tidal_get_track_radio_mixC | Return the reusable mix that powers radio for one track. |
| tidal_get_track_lyricsB | Return available lyrics and synchronized subtitles for one track. |
| tidal_get_track_playback_infoB | Return codec, quality, bit depth, and sample-rate metadata; no media is downloaded. |
| tidal_get_track_audio_resolutionB | Return the selected playback stream's bit depth and sample rate. |
| tidal_get_track_urlB | Return the temporary playback URL supplied by TIDAL for the authenticated account. |
| tidal_get_video_urlB | Return the temporary playback URL supplied by TIDAL for a video. |
| tidal_get_video_imageC | Return an image URL at the requested dimensions. |
| tidal_get_album_tracksC | Page through audio tracks on one album. |
| tidal_get_album_itemsB | Page through every album item, including videos. |
| tidal_get_album_reviewB | Return TIDAL editorial review text when available. |
| tidal_get_album_similarB | List albums TIDAL considers similar to a seed album. |
| tidal_get_album_audio_resolutionB | Return available bit-depth and sample-rate pairs for an album. |
| tidal_get_album_imageB | Return an album-cover URL at the requested square size. |
| tidal_get_album_videoC | Return the album's video-art URL when available. |
| tidal_get_album_pageC | Return the structured TIDAL page associated with an album. |
| tidal_get_artist_albumsB | Page through an artist's main album discography. |
| tidal_get_artist_ep_singlesB | Page through an artist's EPs and singles. |
| tidal_get_artist_other_albumsC | Page through compilations and other album appearances. |
| tidal_get_artist_bioB | Return TIDAL's artist biography text when available. |
| tidal_get_artist_radioC | Page through radio tracks for an artist. |
| tidal_get_artist_radio_mixC | Return the reusable mix that powers artist radio. |
| tidal_get_artist_similarB | Page through artists related to a seed artist. |
| tidal_get_artist_top_tracksC | Page through an artist's most prominent tracks. |
| tidal_get_artist_videosC | Page through an artist's videos. |
| tidal_get_artist_imageB | Return an artist-image URL at the requested square size. |
| tidal_get_artist_pageC | Return the structured TIDAL page associated with an artist. |
| tidal_get_playlist_itemsB | Page through every playlist item, including videos. |
| tidal_get_playlist_track_countB | Return the exact number of audio tracks in a playlist. |
| tidal_get_playlist_item_countB | Return the exact number of tracks and videos in a playlist. |
| tidal_get_playlist_imageC | Return a square playlist-image URL. |
| tidal_get_playlist_wide_imageC | Return a wide playlist-image URL at requested dimensions. |
| tidal_list_favorite_albumsB | Page through albums saved in My Collection. |
| tidal_list_favorite_artistsB | Page through artists saved in My Collection. |
| tidal_list_favorite_playlistsA | Page through playlists saved in My Collection. |
| tidal_list_favorite_videosB | Page through videos saved in My Collection. |
| tidal_list_favorite_mixesB | Page through mixes saved in My Collection. |
| tidal_list_playlist_foldersC | Page through the authenticated user's playlist folders. |
| tidal_get_favorite_countsA | Return exact saved track, album, artist, playlist, and video counts. |
| tidal_list_public_playlistsC | Page through the authenticated user's public playlists. |
| tidal_list_playlists_and_favoritesC | Page through the combined playlist view used by TIDAL. |
| tidal_get_user_imageA | Return the authenticated user's profile-image URL. |
| tidal_get_mix_itemsB | Page through the tracks and videos in a TIDAL mix. |
| tidal_get_mix_v2_itemsB | Page through the tracks and videos in a current-generation TIDAL mix. |
| tidal_get_mix_imageB | Return a legacy mix image URL at a supported size. |
| tidal_get_mix_v2_imageC | Return a current-generation mix image URL at a supported size. |
| tidal_browse_homeB | Return the personalized Home page. |
| tidal_browse_exploreC | Return the Explore page. |
| tidal_browse_for_youB | Return the personalized For You page. |
| tidal_browse_genresB | Return TIDAL's genre-hub page. |
| tidal_browse_hiresB | Return TIDAL's high-resolution audio page. |
| tidal_browse_local_genresC | Return the localized genre page. |
| tidal_browse_mixesB | Return the personalized mixes page. |
| tidal_browse_moodsB | Return TIDAL's mood page. |
| tidal_browse_videosC | Return TIDAL's video page. |
| tidal_list_page_category_itemsC | Page through the catalog items inside one category of an editorial page. |
| tidal_list_page_linksC | Page through the page links inside one category of an editorial page. |
| tidal_show_more_page_categoryC | Load the show-more or view-all page for one editorial category. |
| tidal_open_page_linkC | Open the page behind one link of an editorial page's link list. |
| tidal_list_genresC | List every catalog genre. |
| tidal_get_genre_itemsB | Page through tracks, albums, artists, playlists, or videos in one genre. |
| tidal_get_folderB | Return public metadata for one exact playlist-folder ID. |
| tidal_list_folder_itemsB | Page through playlists contained in one folder. |
| tidal_preview_create_playlistB | Preview a new playlist and its exact ordered track IDs. |
| tidal_preview_delete_playlistB | Preview permanently deleting one owned playlist. |
| tidal_preview_edit_playlistB | Preview changing an owned playlist's title or description. |
| tidal_preview_add_tracks_to_playlistC | Preview adding exact track IDs to an owned playlist. |
| tidal_preview_add_track_by_isrc_to_playlistC | Preview resolving and adding an ISRC to an owned playlist. |
| tidal_preview_clear_playlistC | Preview removing every item from an owned playlist. |
| tidal_preview_merge_playlistC | Preview copying one playlist into another. |
| tidal_preview_move_playlist_item_by_idC | Preview moving an item identified by media ID. |
| tidal_preview_move_playlist_item_by_indexC | Preview moving an item identified by its current index. |
| tidal_preview_move_playlist_items_by_indicesC | Preview moving several current indices as one operation. |
| tidal_preview_remove_playlist_item_by_idB | Preview removing one media ID from an owned playlist. |
| tidal_preview_remove_playlist_item_by_indexC | Preview removing one item by current index. |
| tidal_preview_remove_playlist_items_by_indicesC | Preview removing several items by current indices. |
| tidal_preview_remove_playlist_items_by_idsB | Preview removing several exact media IDs from an owned playlist. |
| tidal_preview_set_playlist_publicB | Preview changing an owned playlist to public visibility. |
| tidal_preview_set_playlist_privateC | Preview changing an owned playlist to private visibility. |
| tidal_preview_favorite_trackC | Preview saving one or more tracks to My Collection. |
| tidal_preview_favorite_track_by_isrcA | Preview resolving and saving one track by ISRC. |
| tidal_preview_unfavorite_trackC | Preview removing one track from My Collection. |
| tidal_preview_favorite_albumC | Preview saving one or more albums to My Collection. |
| tidal_preview_unfavorite_albumC | Preview removing one album from My Collection. |
| tidal_preview_favorite_artistC | Preview saving one or more artists to My Collection. |
| tidal_preview_unfavorite_artistB | Preview removing one artist from My Collection. |
| tidal_preview_favorite_playlistC | Preview saving one or more playlists to My Collection. |
| tidal_preview_unfavorite_playlistB | Preview removing one or more playlists from My Collection. |
| tidal_preview_favorite_videoC | Preview saving one video to My Collection. |
| tidal_preview_unfavorite_videoB | Preview removing one video from My Collection. |
| tidal_preview_favorite_mixB | Preview saving one or more mixes to My Collection. |
| tidal_preview_unfavorite_mixC | Preview removing one or more mixes from My Collection. |
| tidal_preview_create_folderC | Preview creating a playlist folder. |
| tidal_preview_rename_folderC | Preview renaming one playlist folder. |
| tidal_preview_delete_folderC | Preview deleting one playlist folder. |
| tidal_preview_add_items_to_folderC | Preview adding playlist or folder TRNs to a folder. |
| tidal_preview_move_items_to_folderC | Preview moving playlist or folder TRNs into a folder. |
| tidal_preview_move_items_to_rootC | Preview moving playlist or folder TRNs to collection root. |
| tidal_preview_remove_folder_itemsB | Preview removing playlist or folder TRNs from the collection tree. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 117 tools
Several tool families overlap heavily (e.g., playlist tracks vs. playlist items, album tracks vs. album items, legacy vs. v2 mixes, playback info vs. audio resolution), but the detailed descriptions usually clarify the intended distinction. An agent can generally disambiguate with careful reading, though the set forces extra cognitive work.
All tools use the `tidal_` prefix and snake_case consistently, with verbs like get, list, browse, preview, and commit used systematically. The lone backward-compatibility alias (`tidal_commit_create_playlist`) is clearly labeled and does not meaningfully break the pattern.
With 117 tools, this is far beyond the 3-15 range and exceeds even the 25+ threshold for 'too many' by a wide margin. Even accounting for TIDAL's broad API, the surface is overwhelming and likely to hinder an agent's selection process.
The set covers discovery, catalog metadata, favorites, playlists, folders, radio, lyrics, playback URLs, and a preview/commit mutation pattern. A few niche operations (e.g., artist-following, mood-item retrieval, or page-level CRUD) appear absent, but most core workflows are supported without dead ends.