shd-music
Allows ripping high-quality audio from SoundCloud using a Lucida backend, with automatic tagging and publishing to a local music library.
Click on "Install 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., "@shd-musicsearch for 'Abbey Road' by The Beatles"
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.
shd-music — MCP server
A Model Context Protocol server (JSON-RPC over stdio, built for Bun) that rips high-quality audio from Deezer using an ARL cookie and publishes the finished files into the local music library that backs, mainly for navidrome, but with a few tweaks you can use this anywhere to rip music automatically.
Recommended to use this with Poke
Use lucida to rip from soundcloud, rest you can rip using deezer as it has most if not all of the released music.
Because the server runs on the same host as the music site, "upload" is just a local move/copy into the library directory — no SSH/SFTP/S3 required.
Tools
Tool | Arguments | Description |
|
| Search the Deezer catalogue. Returns tracks + URLs. |
|
| Download → Blowfish-decrypt → tag a track. With |
|
| Publish an existing local file into the library. |
Related MCP server: Music Collection MCP Server
How it works
Search / metadata use Deezer's public REST API (no auth).
rip_track authenticates the ARL against the private
gw-lightgateway, requests a stream token, and asksmedia.deezer.comfor an encrypted CDN URL (FLAC with automatic fallback to MP3 320/128).The encrypted payload is decrypted with the
BF_CBC_STRIPEscheme — every third 2048-byte block is Blowfish-CBC encrypted. We decrypt natively via Bun'snode:cryptobf-cbccipher (src/mcp/deezer/crypto.ts).Tags + cover art are embedded best-effort with ffmpeg (preferred) or metaflac. If neither binary is installed the file is still produced, just untagged.
The result is moved/copied to
MUSIC_LIBRARY_DIRasAlbum Artist/Album/NN - Title.flac.
The download backend is pluggable (src/mcp/backends): deezer (native,
default) or lucida for a self-hosted lucida-flow instance.
Configuration
All via environment variables (see .env.example):
Var | Default | Notes |
|
|
|
| — | Required for the deezer backend |
|
|
|
|
| Publish destination |
| OS temp dir | Working dir for decrypt/tag |
|
|
|
|
| Toggle ffmpeg/metaflac tagging |
| — | Only for the lucida backend |
|
| stderr verbosity |
Running
bun run mcp # production
bun run mcp:dev # watch modeRegister it with an MCP client:
{
"mcpServers": {
"shd-music": {
"command": "bun",
"args": ["run", "src/mcp/index.ts"],
"cwd": "/path/to/where/you/cloned"
}
}
}The server logs to stderr; stdout is reserved for the JSON-RPC protocol. For tagging + embedded artwork, install
ffmpeg(recommended) orflac(metaflac) on the host.
Note
Use this only with your own Deezer account/ARL and for content you're entitled
to download. The ARL is a credential — keep it in .env (git-ignored), never
commit it.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yvesdeniz/rip-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server