Labsco
lucaperret logo

Tidal

โ˜… 6

from lucaperret

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.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

tidal-cli

<p align="center"> <a href="https://tidal-cli.lucaperret.ch"> <img src="https://tidal-cli.lucaperret.ch/banner" alt="tidal-cli โ€” Control Tidal from your terminal" width="100%" /> </a> </p>

npm CI smithery badge License Node

About

tidal-cli wraps the Tidal API v2 into 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 --json output, making it the backbone for LLM agent automation through OpenClaw.

Features

  • Search artists, 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 output on every command for scripting and agent use

JSON Output

Add --json before any subcommand:

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

MCP Server (Claude Integration)

tidal-cli is available as a remote MCP server for Claude Desktop, Smithery, and any MCP-compatible client.

Connect in Claude Desktop:

  1. Settings โ†’ Connectors โ†’ Add custom connector
  2. Enter: https://tidal-cli.lucaperret.ch/api/mcp
  3. Click "Connect" โ†’ log in to Tidal โ†’ done

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

Agent Automation

tidal-cli is also available as an OpenClaw skill on ClawHub. Install it for your AI agent:

clawhub install tidal-cli

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

Example prompts for your AI agent

  • "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"

Scripting patterns

# 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"

Development

git clone https://github.com/lucaperret/tidal-cli.git
cd tidal-cli
npm install
npm run build
npm test

Running Tests

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.

License

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