
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.
概览
本地 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。
安装
在 SourceWeft 中
- 打开 控制台中的 TIDAL MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
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
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
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:
To install from source for development instead:
2. Connect an MCP client
Use npm directly; the package launches the pinned Python implementation locally through uvx:
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:
Enabling the flag does not make mutations automatic. Every change still uses three explicit steps:
- A named
tidal_preview_*tool records the exact parameters and target metadata in a private, short-lived local draft. - The assistant presents that preview to the user.
- Only after approval does
tidal_commit_actionaccept 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
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
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:
Release maintainers can test the exact public npm package through the same MCP client path:
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
- Complete API coverage
- Use cases and prompt cookbook
- Frequently asked questions
- Security policy
- Competitive evidence
- Deterministic evaluation
- Contributing
- Changelog
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版本历史
3- v1.4.0最新Oct 8, 2026
- v1.3.0Oct 7, 2026
- v1.0.1Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分