AgentStack
MCP verified MIT Self-run

Tidal Cli

mcp-lucaperret-tidal-cli · by lucaperret

Control Tidal from your terminal — search, playlists, playback, library, and recommendations via the Tidal API v2. Ships as a CLI, a remote MCP server for Claude Desktop/Smithery, and an OpenClaw skill. Built for scripting, LLM agent automation, and AI workflows. TypeScript, MIT.

No reviews yet
0 installs
16 views
0.0% view→install

Install

$ agentstack add mcp-lucaperret-tidal-cli

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Tidal Cli? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

tidal-cli

[](https://www.npmjs.com/package/@lucaperret/tidal-cli) [](https://github.com/lucaperret/tidal-cli/actions) [](https://smithery.ai/servers/lucaperret/tidal) [](LICENSE) [](https://nodejs.org)

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

Installation

npm install -g @lucaperret/tidal-cli

Requirements

  • Node.js >= 20
  • A Tidal account

Quick Start

# Sign in once — opens your browser
tidal-cli auth

# Search for a track
tidal-cli search track "Around the World"

# Get artist details
tidal-cli artist info 8992

# Play a track
tidal-cli playback play 5756235

Usage

Search

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"

Artist

tidal-cli artist info 
tidal-cli artist tracks 
tidal-cli artist albums 
tidal-cli artist similar 
tidal-cli artist radio 

Album & Track

tidal-cli album info 
tidal-cli album barcode 
tidal-cli track info 
tidal-cli track similar 
tidal-cli track isrc 
tidal-cli track radio 

Playlists

tidal-cli playlist list
tidal-cli playlist create --name "Late Night Electronic"
tidal-cli playlist add-track --playlist-id  --track-id 
tidal-cli playlist add-album --playlist-id  --album-id 
tidal-cli playlist remove-track --playlist-id  --track-id 
tidal-cli playlist move-track --playlist-id  --track-id  --before 
tidal-cli playlist rename --playlist-id  --name "New Name"
tidal-cli playlist set-description --playlist-id  --desc "Updated description"
tidal-cli playlist delete --playlist-id 

Library

tidal-cli library add --track-id 
tidal-cli library add --artist-id 
tidal-cli library add --album-id 
tidal-cli library add --video-id 
tidal-cli library remove --track-id 
tidal-cli library favorite-playlists
tidal-cli library add-playlist --playlist-id 
tidal-cli library remove-playlist --playlist-id 

Discovery & History

tidal-cli recommend                              # all mix categories
tidal-cli recommend --type daily                 # daily | discovery | new-release | offline
tidal-cli mix items  --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 
tidal-cli search history-clear
tidal-cli user profile

Save for Later & Sharing

tidal-cli saved list
tidal-cli saved add --type tracks --id       # tracks | albums | artists | playlists | videos
tidal-cli saved remove --type albums --id 
tidal-cli share track                        # creates a public share link
tidal-cli share album 

Playback

tidal-cli playback play 
tidal-cli playback play  --quality LOSSLESS
tidal-cli playback info 
tidal-cli playback url 

Quality options: LOW, HIGH, LOSSLESS, HI_RES.

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  --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  --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](LICENSE) file for details.

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.