TIDAL MCP

io.github.sickn33由 GitHub 帳號 sickn33 發布v1.4.0更新於 Nov 5, 2026

Search, analyze, organize, and safely modify TIDAL through 122 typed MCP tools.

已驗證STDIO僅桌面資料與分析媒體與設計

概覽

AI 產生的概覽

本機 MCP 伺服器,讓 AI 助理連接 TIDAL 帳號,進行曲庫搜尋、播放清單分析、音樂探索,並在核准後修改播放清單。

可以做什麼
  • 搜尋與查詢曲目、專輯、藝人、播放清單、影片、混音、使用者、條碼與 ISRC
  • 瀏覽目錄、編輯推薦頁、曲風、心情、Home、Explore、For You,以及歌詞與藝人作品目錄
  • 讀取收藏、數量、播放清單、資料夾與混音,並分析或比較播放清單
  • 將播放清單匯出為 JSON 或 M3U,將摘要或比較結果匯出為 JSON
  • 預覽播放清單、資料夾與收藏的變更,再以一次性核准權杖提交
適用情境
適合讓助理處理你自己的 TIDAL 音樂庫:檢視或比較播放清單、尋找相關曲目、彙整收藏分布,或準備需要你先確認再執行的播放清單與資料夾變更。
執行需求
透過 npx 以 stdio 在本機執行;需要 Node.js 18 或更新版本、Python 3.11–3.13、uv、macOS 或 Linux,以及 TIDAL 帳號。首次需經裝置登入授權,OAuth 工作階段保存在本機。選用變數:TIDAL_MCP_DATA_DIR、TIDAL_MCP_EXPORT_DIR,以及設為 1 以允許寫入的 TIDAL_MCP_ENABLE_WRITES。
安裝前請注意
帳號變更預設關閉,只有經過預覽與明確核准才會執行;但啟用 TIDAL_MCP_ENABLE_WRITES 後,助理可建立、編輯、刪除、合併或清空播放清單與資料夾,並變更收藏。OAuth 工作階段保存在本機私有目錄,需妥善保護。它依賴非官方的 TIDAL 轉接層,TIDAL 變更時可能失效。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 TIDAL MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

TIDAL MCP — Complete, Safety-First TIDAL Server for AI Assistants

[Abstract sound waves becoming a network of MCP tools]

[CI] [Website] [npm] [Python 3.11–3.13] [MCP Python SDK 2.x] [Tests: 100% statements + branches] [License: MIT]

TIDAL MCP connects Codex, Claude Desktop, Claude Code, Cursor, and other stdio-compatible Model Context Protocol clients to a TIDAL account. Search the catalog, analyze playlists, discover music, read lyrics, manage favorites, organize folders, and safely create or edit playlists through 122 typed MCP tools.

Positioning: in the September 4, 2026 review, this was the most complete public TIDAL MCP implementation found in a reproducible review of the current GitHub landscape. The claim is based on registered tool coverage, structured schemas, mutation safety, and automated test evidence—not marketing alone. See the dated comparison.

Why this TIDAL MCP exists

Most TIDAL integrations expose a small selection of search and playlist commands. TIDAL MCP is built as a complete local control surface for AI agents while keeping credentials and approvals on your machine.

  • 122 discoverable tools: 84 reads, 36 mutation previews, and 2 approval-token commits.
  • Broad account coverage: catalog, editorial pages, recommendations, lyrics, favorites, playlists, folders, mixes, images, and playback metadata.
  • Safe writes: mutations are off by default and always require preview → explicit approval → commit.
  • Private authentication: OAuth session data never travels through MCP tool responses.
  • Typed and bounded: every input and output has a schema, limits, and MCP safety annotations.
  • Verified quality: 100% statement and branch test coverage plus a real stdio handshake and an optional authenticated read-only smoke test.

What can an AI assistant do with TIDAL?

Ask naturally:

  • “Analyze my entire workout playlist: artist concentration, eras, duplicates, duration, and sequencing.”
  • “Find 20 tracks related to these three songs, exclude anything already in my playlist, and use at most two tracks per artist.”
  • “Compare an artist’s albums, EPs, singles, appearances, top tracks, biography, and related artists.”
  • “Show my favorite albums and playlists, then summarize how my collection is distributed.”
  • “Prepare a new playlist from these recommendations and show me the exact changes before doing anything.”
  • “Move these playlists into a folder, but ask for confirmation before changing my account.”

See real-world workflows and prompt examples.

Tool coverage

SurfaceToolsExamples
Authentication, search, recommendations3status, multi-type search, deterministic multi-seed recommendations
Catalog, editorial, discovery54tracks, albums, artists, videos, lyrics, genres, Home, Explore, For You
Collection, playlists, folders22favorites, counts, playlist items, owned/public playlists, folders, mixes
Derived analysis3full-playlist collection, playlist summary, playlist comparison
Local export2playlist to JSON or M3U, and summaries or comparisons to JSON
Exact mutation previews36playlist CRUD, item moves, visibility, favorites, folders
Approval-token commits2universal commit and compatible playlist-creation alias

The table sums to the 122 registered tools. Four MCP prompts are registered alongside them (playlist-from-description, playlist review, discovery digest, library audit); prompts are guidance over the tools, so they are not counted as tools.

Every list operation is bounded and paginated. Every result uses a public-field allowlist so OAuth tokens, request clients, and internal session data cannot enter model context. The complete map is in API_COVERAGE.md.

Quick start

Requirements

  • macOS or Linux; macOS is live-account tested
  • Node.js 18 or newer
  • Python 3.11–3.13
  • uv
  • A TIDAL account

1. Install and authenticate

bash
npx -y @sickn33/tidal-mcp auth

Open the device-authorization URL, approve access in TIDAL, and return to the terminal. The session is stored in your private operating-system application-data directory, not in the repository.

Check or remove it at any time:

bash
npx -y @sickn33/tidal-mcp auth --statusnpx -y @sickn33/tidal-mcp auth --logout --yes

To install from source for development instead:

bash
git clone https://github.com/sickn33/tidal-mcp.gitcd tidal-mcpuv syncuv run tidal-auth

2. Connect an MCP client

Use npm directly; the package launches the pinned Python implementation locally through uvx:

json
{  "mcpServers": {    "tidal": {      "command": "npx",      "args": [        "-y",        "@sickn33/tidal-mcp"      ]    }  }}

Restart or reconnect your MCP client, then ask: “Check my TIDAL authentication status.”

Enable safe account writes

Remote writes are disabled unless the MCP process receives:

json
"env": {  "TIDAL_MCP_ENABLE_WRITES": "1"}

Enabling the flag does not make mutations automatic. Every change still uses three explicit steps:

  1. A named tidal_preview_* tool records the exact parameters and target metadata in a private, short-lived local draft.
  2. The assistant presents that preview to the user.
  3. Only after approval does tidal_commit_action accept the single-use token and execute exactly the recorded action.

Successful token replays return the stored result. Expired tokens fail closed. Ambiguous failed writes are locked to reduce duplicate effects. Destructive previews are clearly annotated.

Supported TIDAL operations

  • Search and lookup: tracks, albums, artists, playlists, videos, mixes, users, barcodes, ISRCs.
  • Track intelligence: details, radio, radio mixes, lyrics, playback metadata, temporary account-scoped URLs.
  • Artists and albums: discographies, EPs and singles, appearances, biographies, reviews, related artists, similar albums, resolutions, artwork, and editorial pages.
  • Discovery: Home, Explore, For You, genres, moods, mixes, videos, hi-res, and local genre hubs.
  • Editorial navigation: read the items and links inside a page category, expand a show-more/view-all section, and open a page link to keep browsing past the first screen.
  • Collection: favorite tracks, albums, artists, playlists, videos, mixes, folders, and counts.
  • Playlists: metadata, tracks, mixed items, counts, images, create/edit/delete/clear/merge, visibility, add/remove/reorder operations.
  • Folders: inspect, create, rename, delete, and move collection-tree items.

The server intentionally does not download media, bypass DRM, expose raw OAuth methods, or provide an unrestricted private-endpoint proxy.

Configuration

VariableDefaultMeaning
TIDAL_MCP_ENABLE_WRITES0Permit approval-token commits for allowlisted account mutations
TIDAL_MCP_DATA_DIROS application-data directorySession and draft root
TIDAL_MCP_SESSION_FILE<data-dir>/session.jsonOverride the OAuth session path
TIDAL_MCP_DRAFT_TTL_SECONDS900Approval lifetime, between 60 and 3600 seconds
TIDAL_MCP_EXPORT_DIR<data-dir>/exportsWhere tidal_export_playlist writes; created privately

New private directories use mode 0700 and sensitive files use 0600 on systems supporting POSIX permissions. Existing custom parent directories are never silently permission-rewritten.

Verified quality

bash
uv sync --all-groupsuv run ruff format --check .uv run ruff check .uv run pytest --cov=tidal_mcp --cov-report=term-missinguv run python scripts/smoke_stdio.pyuv build

The coverage gate is 100% for statements and branches. Tests exercise every registered read and mutation route through the MCP schemas and the pinned tidalapi adapter without contacting TIDAL. The stdio smoke test launches the packaged protocol process and verifies all 122 tool schemas.

Official releases are published from GitHub Actions through npm Trusted Publishing, with no long-lived npm write token. npm attaches provenance automatically, and the same release workflow publishes the matching metadata to the official MCP Registry through GitHub OIDC.

An optional authenticated smoke test performs representative reads only:

bash
uv run python scripts/smoke_live_read_only.py

Release maintainers can test the exact public npm package through the same MCP client path:

bash
uv run python scripts/smoke_live_read_only.py \  --command npx \  --server-arg=-y \  --server-arg=@sickn33/[email protected]

The deterministic evaluation suite and the dated competitive matrix make quality claims inspectable.

Architecture and compatibility

TIDAL provides developer APIs, but developer credentials are issued separately and the official surface does not cover every consumer-account workflow. This local server therefore pins tidalapi 0.8.11, an unofficial adapter around TIDAL’s consumer endpoints, for broad device-login coverage. TIDAL changes can require maintenance; the pinned dependency and live smoke test make that risk visible.

The server uses the MCP Python SDK over stdio. Blocking upstream calls run outside the async protocol event loop. It does not launch a Flask sidecar or store authentication in temporary directories.

Documentation

Project status

Version 1.4.0 adds export of a playlist summary or comparison to JSON, and reduces the network cost of every playlist tool by resolving each playlist once per call.

License, attribution, and trademark notice

MIT. This repository preserves the history and license of yuhuacheng/tidal-mcp; see NOTICE.md.

TIDAL is a trademark of its respective owner. This is an independent, unofficial community project and is not affiliated with, endorsed by, or sponsored by TIDAL. No TIDAL logo or album artwork is bundled with the project.

來源:README.md,提交 b69ff65

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

3
  1. v1.4.0最新Oct 8, 2026
  2. v1.3.0Oct 7, 2026
  3. v1.0.1Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分