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_searchB | Search TIDAL. This tool reads public catalog metadata and changes nothing. |
| tidal_list_favorite_tracksB | 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_tracksC | 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_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_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 112 tools
Many tools have closely related names (e.g., tidal_get_playlist_tracks vs tidal_get_playlist_items, tidal_list_playlists vs tidal_list_public_playlists vs tidal_list_playlists_and_favorites, tidal_get_track_playback_info vs tidal_get_track_audio_resolution). Descriptions clarify the differences, but the sheer number of similar read and preview variants creates moderate ambiguity for an agent.
All tools use the tidal_ prefix and snake_case with a consistent action_verb pattern (get_, list_, browse_, preview_, commit_). Minor inconsistencies like singular/plural (add_track vs add_tracks) and version suffixes (_v2) prevent a perfect score.
112 tools far exceeds a reasonable scope for an agent-facing toolset. Many read endpoints and the preview/commit pattern could be consolidated (e.g., generic page readers, image size parameters), making this an extreme mismatch.
The surface covers catalog browsing, playlist and folder CRUD, favorites management, playback URLs, lyrics, radio, and browse pages comprehensively. Gaps like playback control, track credits, or user profile editing are minor relative to the extensive coverage.