Tidal

by lucaperret

Not rated
GitHub

About

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.

Details

Author
lucaperret
Categories
Other, Media, Search

Setup

Install Tidal in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/lucaperret/tidal-cli

Follow the installation instructions in the repository README, then restart your MCP client.

- Search the Tidal catalog— Find artists, albums, tracks, videos, or playlists usingsearch, plus autocomplete withsearch suggest.
- Manage playlists— Create, rename, delete, and reorder playlists, or add/remove individual tracks and entire albums viaplaylistcommands.
- Control your library— Add or remove favorite artists, albums, tracks, videos, and playlists withlibrary addandlibrary remove.
- Get personalized recommendations— Browse Daily, Discovery, New Release, and Offline mixes withrecommend, then drill into mix items withmix items.
- Look up details and related content— Retrieve artist info, top tracks, similar artists, album details, track info, similar tracks, and radio viaartist,album, andtrackcommands.
- Play and share music— Get stream info or direct playback URLs withplayback, and generate public share links for tracks and albums usingshare.

tidal-cli wraps theTidal API v2into a single command-line tool. Search the catalog, manage playlists, explore artists, play tracks, and handle your library — all without opening a browser. Every command supports--jsonoutput, making it the backbone for LLM agent automation throughOpenClaw.

- Searchartists, albums, tracks, videos, playlists, and autocomplete suggestions
- Artists— info, top tracks, discography, similar artists, radio
- Albums— details, barcode lookup
- Tracks— info, similar tracks, ISRC lookup, radio
- Playlists— full CRUD, add/remove tracks, reorder, add entire albums
- Library— favorites for artists, albums, tracks, videos, playlists
- Playback— stream info, direct URLs, local playback via DASH
- Recommendations— personalized mixes (Daily, Discovery, New Release, Offline) with drill-down into mix items
- History— recently added tracks, albums, artists; search history (list, delete, clear)
- Save for Later— bookmark items in a separate queue from your main library
- Sharing— generate public share links for tracks and albums
- JSON outputon every command for scripting and agent use

tidal-cli search artist "Gorillaz" tidal-cli search album "Mezzanine" tidal-cli search track "Teardrop" tidal-cli search video "Stylo" tidal-cli search playlist "Electronic" tidal-cli search suggest "daft punk" tidal-cli search editorial "indie rock"
tidal-cli artist info <id> tidal-cli artist tracks <id> tidal-cli artist albums <id> tidal-cli artist similar <id> tidal-cli artist radio <id>
tidal-cli album info <id> tidal-cli album barcode <ean> tidal-cli track info <id> tidal-cli track similar <id> tidal-cli track isrc <isrc> tidal-cli track radio <id>
tidal-cli playlist list tidal-cli playlist create --name "Late Night Electronic" tidal-cli playlist add-track --playlist-id <id> --track-id <id> tidal-cli playlist add-album --playlist-id <id> --album-id <id> tidal-cli playlist remove-track --playlist-id <id> --track-id <id> tidal-cli playlist move-track --playlist-id <id> --track-id <id> --before <itemId> tidal-cli playlist rename --playlist-id <id> --name "New Name" tidal-cli playlist set-description --playlist-id <id> --desc "Updated description" tidal-cli playlist delete --playlist-id <id>
tidal-cli library add --track-id <id> tidal-cli library add --artist-id <id> tidal-cli library add --album-id <id> tidal-cli library add --video-id <id> tidal-cli library remove --track-id <id> tidal-cli library favorite-playlists tidal-cli library add-playlist --playlist-id <id> tidal-cli library remove-playlist --playlist-id <id>
tidal-cli recommend # all mix categories tidal-cli recommend --type daily # daily | discovery | new-release | offline tidal-cli mix items <mix-id> --type daily # tracks inside a specific mix tidal-cli history tracks tidal-cli history albums tidal-cli history artists tidal-cli search history # your recent searches tidal-cli search history-delete <entry-id> tidal-cli search history-clear tidal-cli user profile
tidal-cli saved list tidal-cli saved add --type tracks --id <id> # tracks | albums | artists | playlists | videos tidal-cli saved remove --type albums --id <id> tidal-cli share track <id> # creates a public share link tidal-cli share album <id>
tidal-cli playback play <id> tidal-cli playback play <id> --quality LOSSLESS tidal-cli playback info <id> tidal-cli playback url <id>

Quality options:LOW,HIGH,LOSSLESS,HI_RES.

tidal-cli --json search track "Around the World" tidal-cli --json playlist list tidal-cli --json artist similar 8992

tidal-cli is available as a remote MCP server forClaude Desktop,Smithery, and any MCP-compatible client.
- Settings → Connectors → Add custom connector
- Enter:https://tidal-cli.lucaperret.ch/api/mcp
- Click "Connect" → log in to Tidal → done

40 tools with OAuth authentication, safety annotations, and 3 prompt templates.

tidal-cli is also available as anOpenClawskill onClawHub. Install it for your AI agent:

Aftertidal-cli auth, agents can run commands non-interactively with auto-refreshing tokens.

- "Create a playlist with the best tracks from Daft Punk's Discovery album"
- "Find artists similar to Massive Attack and add their top tracks to my library"
- "What are my playlists? Add the new LCD Soundsystem album to the first one"
- "Play me something by Boards of Canada"
- "Build a 2000s indie rock playlist with The Strokes, Arctic Monkeys, and Interpol"

# Search then act TRACK=$(tidal-cli --json search track "Around the World" | jq -r '.[0].id') tidal-cli playlist add-track --playlist-id <id> --track-id "$TRACK" # Discovery: artist → similar → top tracks → playlist ARTIST=$(tidal-cli --json search artist "Boards of Canada" | jq -r '.[0].id') SIMILAR=$(tidal-cli --json artist similar "$ARTIST" | jq -r '.[0].id') TRACK=$(tidal-cli --json artist tracks "$SIMILAR" | jq -r '.[0].id') tidal-cli playlist add-track --playlist-id <id> --track-id "$TRACK"
git clone https://github.com/lucaperret/tidal-cli.git cd tidal-cli npm install npm run build npm test
npm test # run once npm run test:watch # watch mode

143 tests covering search, playlists, artists, tracks, albums, library, recommendations, mixes, save-for-later, sharing, search history, auth, and session.

tidal-cli is licensed under the MIT License. See theLICENSEfile for details.

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

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.

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

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

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

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

Search and play tracks on YouTube Music via AI assistants.

Allows users to generate music videos using Freebeat through MCP

The first artist-owned MCP server for AI Agent use. Discover, narrate, and stream Matthew Hartley's debut album The Time Is Now: A Journey in Chapters from any AI client. Powered by Harmonic Wave.

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.