mcp-deezer
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-deezer search for songs by Daft Punk"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-deezer
Unofficial Deezer MCP server for AI agents. Search music, manage playlists and favorites, and access personalized discovery through 29 tools.
Why this exists
Deezer closed their developer portal to new applications in 2025. This project uses an authenticated browser session through Deezer's internal GraphQL API instead of a developer API key.
Because the API is unofficial, it can change without notice. This project is not affiliated with or endorsed by Deezer.
Related MCP server: mcp-spotify
For AI Agents — Installation Guide
If you are an AI agent reading this to install mcp-deezer for a user, follow these steps in order:
Step 1: Check prerequisites
Python 3.12+ must be installed (
python3 --versionorpython --version)If not installed, tell the user to install it from https://www.python.org/downloads/
Step 2: Install the package
Until the first PyPI release, install directly from GitHub:
pip install "mcp-deezer @ git+https://github.com/Benitoow/mcp-deezer.git"Or run it with uvx without a persistent installation:
uvx --from git+https://github.com/Benitoow/mcp-deezer.git mcp-deezerStep 3: Get the user's Deezer ARL cookie
The user must do this manually in their browser:
Go to https://deezer.com and log in
Press F12 → Application → Cookies →
deezer.comFind the cookie named
arland copy its value (~192 character hex string)
The ARL looks like: a1b2c3d4e5f6... (192 hex chars)
The ARL is a session credential. Anyone who obtains it may be able to access the signed-in account. Never commit it, paste it into an issue, or share it. MCP configuration files store it as plain text, so keep those files private. SeeSECURITY.md.
Step 4: Configure the MCP server
Add this to the user's MCP client config. The DEEZER_ARL environment variable is required.
Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"deezer": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Benitoow/mcp-deezer.git", "mcp-deezer"],
"env": {
"DEEZER_ARL": "PASTE_ARL_HERE"
}
}
}
}Claude Code — terminal:
claude mcp add deezer -e DEEZER_ARL=PASTE_ARL_HERE -- uvx --from git+https://github.com/Benitoow/mcp-deezer.git mcp-deezerCursor — .cursor/mcp.json:
{
"mcpServers": {
"deezer": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Benitoow/mcp-deezer.git", "mcp-deezer"],
"env": {
"DEEZER_ARL": "PASTE_ARL_HERE"
}
}
}
}Hermes Agent — ~/.hermes/config.yaml:
mcp_servers:
deezer:
command: uvx
args: [--from, git+https://github.com/Benitoow/mcp-deezer.git, mcp-deezer]
env:
DEEZER_ARL: "PASTE_ARL_HERE"VS Code / Copilot — .vscode/mcp.json:
{
"servers": {
"deezer": {
"command": "uvx",
"args": ["--from", "git+https://github.com/Benitoow/mcp-deezer.git", "mcp-deezer"],
"env": {
"DEEZER_ARL": "PASTE_ARL_HERE"
}
}
}
}Step 5: Restart the MCP client
Tell the user to restart their AI client (Claude Desktop, Cursor, etc.) for the server to load.
Step 6: Verify
Call get_me — it should return the user's Deezer profile ID. If it returns an error about DEEZER_ARL, the cookie is missing or expired.
Available Tools (29)
Tool | Description | Auth |
| User profile | ✅ |
| Search tracks, albums, artists, playlists | ✅ |
| Track details with lyrics | ✅ |
| Artist details with bio | ✅ |
| Album details with tracklist | ✅ |
| Playlist details with tracks | ✅ |
| Country charts (FR, US, DE...) | ✅ |
| Similar tracks | ✅ |
| Similar artists | ✅ |
| Personal Deezer Flow | ✅ |
| Personalized recommendations | ✅ |
| Listening history | ✅ |
| Personal top tracks/artists | ✅ |
| Liked tracks | ✅ |
| Liked albums | ✅ |
| Followed artists | ✅ |
| Liked playlists | ✅ |
| Like a track | ✅ |
| Unlike a track | ✅ |
| Like an album | ✅ |
| Unlike an album | ✅ |
| Follow an artist | ✅ |
| Unfollow an artist | ✅ |
| List user playlists | ✅ |
| Create a playlist | ✅ |
| Update playlist title/desc | ✅ |
| Delete a playlist | ✅ |
| Add tracks to playlist | ✅ |
| Remove tracks from playlist | ✅ |
How It Works
AI Agent ←── MCP (stdio) ──→ mcp-deezer ←── GraphQL ──→ Deezer API
│
ARL cookie (your session)Uses deezer-python-gql, an unofficial
client for Deezer's internal GraphQL API. Authentication uses the ARL session cookie stored in
your browser.
FAQ (for agents)
Q: The user's ARL stopped working.
A: Tell them to log out and back in to deezer.com, then grab the new arl cookie.
Q: Does this work with a free Deezer account? A: Yes. Unlike Spotify's API, Deezer works with free accounts.
Q: Is this against Deezer's ToS? A: This project is unofficial and uses Deezer's internal web API. Review Deezer's current terms and use it only with an account and content you are authorized to access.
Q: Python 3.12+ is not available.
A: Install it from https://www.python.org/downloads/ or use uvx which manages its own Python.
License
MIT
Project health
Changes: CHANGELOG.md
Contributing: CONTRIBUTING.md
Security and ARL handling: SECURITY.md
Available Tools
29 toolsadd_album_to_favoriteC
Like an album.
Inputs: album_id (required).
add_artist_to_favoriteD
Follow an artist.
Inputs: artist_id (required).
add_tracks_to_playlistC
Add tracks to a playlist.
Inputs: track_ids (required), playlist_id (required).
add_track_to_favoriteD
Like a track.
Inputs: track_id (required).
create_playlistC
Create a new playlist.
Inputs: title (required), is_private, description, is_collaborative.
delete_playlistC
Delete a playlist.
Inputs: playlist_id (required).
get_albumC
Get album details with full tracklist.
Inputs: album_id (required).
get_artistB
Get artist details with bio, top tracks, albums.
Inputs: artist_id (required).
get_chartsC
Get Deezer charts by country (FR, US, etc).
Inputs: country_code, tracks_first.
get_favorite_albumsD
Your favorite albums.
Inputs: first.
get_favorite_artistsD
Your followed artists.
Inputs: first.
get_favorite_playlistsC
Your liked playlists.
Inputs: first.
get_favorite_tracksD
Your liked/favorite tracks.
Inputs: first.
get_flowA
Get your personal Deezer Flow (auto-generated mix).
Inputs: no named parameters.
get_meB
Get your Deezer profile.
Inputs: no named parameters.
get_playlistC
Get playlist details with tracks.
Inputs: playlist_id (required), tracks_first.
get_recently_playedC
Your recently played tracks.
Inputs: first.
get_recommendationsC
Personalized recommendations.
Inputs: playlists_first.
get_similar_artistsC
Artists similar to a given artist.
Inputs: artist_id (required), first.
get_similar_tracksC
Tracks similar to a given track.
Inputs: track_id (required), nb.
get_trackB
Get track details by ID (includes lyrics).
Inputs: track_id (required).
get_user_chartsC
Your personal top tracks/artists/albums.
Inputs: tracks_first.
get_user_playlistsC
List all your playlists.
Inputs: first.
remove_album_from_favoriteD
Unlike an album.
Inputs: album_id (required).
remove_artist_from_favoriteC
Unfollow an artist.
Inputs: artist_id (required).
remove_track_from_favoriteD
Unlike a track.
Inputs: track_id (required).
remove_tracks_from_playlistC
Remove tracks from a playlist.
Inputs: track_ids (required), playlist_id (required).
searchC
Search Deezer for tracks, albums, artists, playlists.
Inputs: query (required), albums_first, tracks_first, artists_first, +1 more.
update_playlistB
Update playlist title/description.
Inputs: playlist_id (required), title, description.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 29 tools
Each tool has a clearly distinct purpose, with action and resource clearly indicated in the name. There is no overlap between tools like add, remove, get, create, delete, update, and search operations for different resources.
All tool names follow a consistent verb_noun pattern in snake_case, e.g., add_album_to_favorite, get_playlist, remove_tracks_from_playlist. No mixing of styles or vague verbs.
With 29 tools, the set is slightly large but still appropriate for a comprehensive music service API. Each tool serves a specific endpoint, and the count reflects the breadth of operations without being excessive.
The toolset covers most common operations: CRUD for playlists, favorites management, retrieval of entities, search, recommendations, and charts. Minor gaps like playlist reordering are absent, but overall coverage is strong.
Maintenance
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
Web search API and MCP server for developers building AI agents.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables access to the Deezer 1 API through MCP protocol. Requires API key authentication and supports integration with Cursor and Claude Desktop for interacting with Deezer services.1MIT
- AlicenseAqualityCmaintenanceMCP server for Spotify that enables playlist building and music discovery through 19 tools, allowing LLM agents to search tracks/artists/albums, manage playlists, control playback, and access personal listening data.201MIT
- FlicenseAqualityDmaintenanceMCP server for searching and downloading music from the Soulseek peer-to-peer network via slskd. Enables AI assistants to discover and download music directly.5-
- AlicenseAqualityBmaintenanceMCP server to control the Roon music player, enabling AI agents to search music, manage playback, and adjust volume across zones.925 npm2MIT