Search, analyze, organize, and safely modify TIDAL through 112 typed MCP tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

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 and credits, manage favorites, organize folders, and safely create or edit playlists through 112 typed MCP tools.
Positioning: as of September 4, 2026, this is 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.
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.
Ask naturally:
See real-world workflows and prompt examples.
| Surface | Tools | Examples |
|---|---|---|
| Authentication, search, recommendations | 3 | status, multi-type search, deterministic multi-seed recommendations |
| Catalog, editorial, discovery | 49 | tracks, albums, artists, videos, lyrics, credits, genres, Home, Explore, For You |
| Collection, playlists, folders | 22 | favorites, counts, playlist items, owned/public playlists, folders, mixes |
| Exact mutation previews | 36 | playlist CRUD, item moves, visibility, favorites, folders |
| Approval-token commits | 2 | universal commit and compatible playlist-creation alias |
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.
uvOpen 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:
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.”
Remote writes are disabled unless the MCP process receives:
Enabling the flag does not make mutations automatic. Every change still uses three explicit steps:
tidal_preview_* tool records the exact parameters and target metadata in a private,
short-lived local draft.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.
The server intentionally does not download media, bypass DRM, expose raw OAuth methods, or provide an unrestricted private-endpoint proxy.
| Variable | Default | Meaning |
|---|---|---|
TIDAL_MCP_ENABLE_WRITES | 0 | Permit approval-token commits for allowlisted account mutations |
TIDAL_MCP_DATA_DIR | OS application-data directory | Session and draft root |
TIDAL_MCP_SESSION_FILE | <data-dir>/session.json | Override the OAuth session path |
TIDAL_MCP_DRAFT_TTL_SECONDS | 900 | Approval lifetime, between 60 and 3600 seconds |
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.
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 112 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.
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.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/tidal-mcp-2)<a href="https://allmcps.com/mcp/tidal-mcp-2"><img src="https://allmcps.com/api/badge/tidal-mcp-2?style=directory" alt="TIDAL MCP on AllMCPs" /></a>