SoundCrate
Integrates with a user's SoundCloud account to search and discover tracks by genre, tempo, key, or release date; find similar tracks and artists; analyze playlists for BPM and harmonic-key issues; and build, update, reorder, and tidy private playlists with DJ-friendly ordering.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
SoundCrate connects Claude (or any other AI assistant that supports MCP) to your own SoundCloud account. Ask in plain words and it searches tracks by genre, tempo, key or release date, finds similar tracks and artists, builds private playlists and puts them in a DJ-friendly order.
"Find techno between 128 and 132 BPM uploaded this year and make me a private two-hour playlist in compatible keys."
"Take these three tracks, find related ones that aren't already in my Warm-up playlist and suggest ten."
"Analyze my Peak time playlist and tell me where the tempo jumps or the keys clash."
It runs on your computer, keeps your credentials in your system's secure storage, and never deletes a playlist.
What you need
A SoundCloud account with an Artist Pro plan. SoundCrate talks to SoundCloud through your own SoundCloud "app", and SoundCloud only lets Artist Pro accounts create one.
One of these:
Claude Desktop on macOS or Windows. Nothing else to install.
Claude Code, Cowork or another MCP app (Cursor, VS Code, OpenCode, Codex, Gemini CLI…), plus Node.js 18 or later. Works on macOS, Windows and Linux.
Related MCP server: Spotify MCP Server
Install
Claude Desktop (easiest, no technical knowledge needed)
Double-click the file (or drag it onto the Claude window) and choose Install. If you have SoundCloud Go+, switch on I have SoundCloud Go+.
Open a new chat and type: Help me set up SoundCrate. Claude takes you through the rest (what happens next).
To update, download the file again and open it.
Claude Code
Type this in Claude Code:
/plugin install soundcrate --marketplace C4denaX/soundcrate-mcpOr just ask: "Install the SoundCrate plugin from the C4denaX/soundcrate-mcp marketplace." Then say Help me set up SoundCrate. Requires Node.js 18 or later.
Cowork
In Claude Desktop, open Customize > Plugins, add the marketplace C4denaX/soundcrate-mcp and install
SoundCrate. It works in Cowork sessions that run on your computer. Requires Node.js 18 or later.
Claude on the web and on mobile can't run programs on your computer, so SoundCrate isn't available there. Use Claude Desktop.
VS Code
Click the button, review the server and install it. Needs Node.js and Git. To declare Go+, add
"env": { "SC_GO_PLUS": "1" } to the server in your mcp.json.
Other apps
Every MCP app needs the same thing: a stdio server started with npx -y github:C4denaX/soundcrate-mcp#v1.7.0
(needs Node.js and Git), plus SC_GO_PLUS=1 if you have Go+. Pick your app:
Cursor: ~/.cursor/mcp.json · Gemini CLI: ~/.gemini/settings.json
{
"mcpServers": {
"soundcrate": {
"command": "npx",
"args": ["-y", "github:C4denaX/soundcrate-mcp#v1.7.0"],
"env": { "SC_GO_PLUS": "1" }
}
}
}Gemini CLI also accepts:
gemini mcp add --scope user -e SC_GO_PLUS=1 soundcrate npx -y github:C4denaX/soundcrate-mcp#v1.7.0
~/.config/opencode/opencode.json (or opencode.jsonc):
{
"mcp": {
"soundcrate": {
"type": "local",
"command": ["npx", "-y", "github:C4denaX/soundcrate-mcp#v1.7.0"],
"environment": { "SC_GO_PLUS": "1" },
"enabled": true
}
}
}~/.codex/config.toml:
[mcp_servers.soundcrate]
command = "npx"
args = ["-y", "github:C4denaX/soundcrate-mcp#v1.7.0"]
env = { SC_GO_PLUS = "1" }Or: codex mcp add soundcrate --env SC_GO_PLUS=1 -- npx -y github:C4denaX/soundcrate-mcp#v1.7.0
Settings > Developer > Edit Config (claude_desktop_config.json):
{
"mcpServers": {
"soundcrate": {
"command": "npx",
"args": ["-y", "github:C4denaX/soundcrate-mcp#v1.7.0"],
"env": { "SC_GO_PLUS": "1" }
}
}
}git clone https://github.com/C4denaX/soundcrate-mcp.gitThen use node as the command and the full path to server.mjs as the argument, for example
"command": "/opt/homebrew/bin/node", "args": ["/Users/you/soundcrate-mcp/server.mjs"]. Desktop apps don't
always see your terminal's PATH, so give the full path to node (which node on macOS and Linux,
where node on Windows).
After adding SoundCrate, restart the app (on macOS, quit it completely with Cmd+Q).
First-time setup
Ask your assistant: Help me set up SoundCrate. It checks your computer with setup_status and explains each
step. When it's time, it opens a setup page in your browser. The page lives only on your computer
(http://127.0.0.1:8976) and has three steps:
Register a SoundCloud app. It links to https://soundcloud.com/you/apps and shows the exact values to enter, including the Redirect URI
http://127.0.0.1:8976/callback.Paste the app's Client ID and Client Secret. They go straight to your system's secure storage.
Click "Connect with SoundCloud" and authorize the app.
That's it. Your secrets never pass through the chat or the AI model, and the page closes when you finish.
Prefer the terminal? npx -y -p github:C4denaX/soundcrate-mcp#v1.7.0 soundcrate-login opens the same page.
What you can ask
Discover: "Tracks similar to this one", "What have the DJs I follow reposted this month?", "Artists like Amelie Lens and their latest uploads", "Search playlists of melodic techno".
Build: "Make a private playlist with these tracks", "Add the five best suggestions to Warm-up", "Replace this bootleg with the official release".
Plan a set: "Sort Peak time by BPM", "Order it by Camelot key", "Where are the key clashes?".
Tidy up: "Find duplicates in this playlist", "Rename it and add the genre Techno".
Every track comes with BPM, key and its Camelot code (for harmonic mixing), genre, label, release date, plays and likes.
How it keeps your music safe
New playlists are private unless you ask otherwise.
SoundCrate cannot delete playlists or download audio.
Changes to the same playlist are applied one at a time, so parallel requests can't lose tracks.
If SoundCloud hides some tracks of a playlist when reading it, SoundCrate refuses to write to that playlist, because rewriting it would drop them.
Reordering never adds or removes tracks; if SoundCloud returns a different set, the previous order is restored.
Write tools are marked as such, so apps that support it ask you before changing a playlist.
Go+ and what you can listen to
SoundCloud's API marks tracks as playable, preview or blocked, but that describes what apps may stream,
not what you can hear. SoundCrate adds a listen field for you:
| Meaning |
| Plays in full for everyone. |
| A preview without a subscription; full with Go+. |
| Label catalogue that usually plays in full on SoundCloud with Go+ (not guaranteed in every country). |
| Blocked for rights, region or by the uploader; may not play even with Go+. |
SoundCloud doesn't report whether you have Go+, so you tell SoundCrate (the I have SoundCloud Go+ switch or
SC_GO_PLUS=1). Then you can ask for "only tracks I can listen to in full".
Privacy and security
SoundCrate has no server, account, telemetry or analytics. It only talks to SoundCloud, from your computer. Details in the privacy policy.
System | Where your credentials are stored |
macOS | Keychain (service |
Windows | Credential Manager ( |
Linux | Secret Service: GNOME Keyring or KWallet, through |
Secrets are never passed as command-line arguments (where other programs could see them). Optional settings:
SC_SECRET_STORE=file: for Linux machines without a keyring. Stores the secrets unencrypted in~/.config/soundcrate/credentials.json, readable only by you. Use it only if there is no alternative.SC_CLIENT_ID/SC_CLIENT_SECRET: provide the app credentials through the environment (handy in CI).SC_SECRET_SERVICE: a different storage name, for example to use two accounts.
Troubleshooting
Problem | What to do |
The assistant doesn't see SoundCrate | Restart the app completely. In Claude Desktop, check Settings > Extensions. |
"SoundCrate is not set up yet" | Say Help me set up SoundCrate. |
The setup page doesn't open | Ask the assistant for the link and open it in your browser on the same computer. |
"Port 8976 is busy" | Close any other SoundCrate setup page or terminal login and try again. |
SoundCloud rejects the Redirect URI | Use |
Linux: "secret-tool is not installed" | Install it: |
"The saved session is no longer valid" | Say Reconnect SoundCrate and connect again on the setup page. |
| Install Git, or use the cloned copy option. |
Uninstall
Remove SoundCrate from your app (Claude Desktop: Settings > Extensions; Claude Code:
/plugin uninstall soundcrate).Delete your SoundCloud app at https://soundcloud.com/you/apps.
Delete the saved secrets:
# macOS
security delete-generic-password -s soundcloud-mcp -a refresh_token
security delete-generic-password -s soundcloud-mcp -a client_secret
security delete-generic-password -s soundcloud-mcp -a client_id# Linux
secret-tool clear service soundcloud-mcp account refresh_token
secret-tool clear service soundcloud-mcp account client_secret
secret-tool clear service soundcloud-mcp account client_id# Windows
cmdkey /delete:soundcloud-mcp:refresh_token
cmdkey /delete:soundcloud-mcp:client_secret
cmdkey /delete:soundcloud-mcp:client_idWith SC_SECRET_STORE=file, delete credentials.json instead.
Tools
Tool | What it does |
| Checks what is missing on this computer and returns the next step. |
| Opens the local setup page (credentials and SoundCloud login). |
| Search by text, genres, tags, BPM, duration and upload date (up to 200 per page). |
| One track by id or URL. |
| SoundCloud's related tracks, optionally excluding a playlist's tracks. |
| Your likes, recently played, feed, followings' uploads or reposts. |
| Search artists, labels or DJs. |
| Similar artists. |
| An artist's tracks, likes, reposts or playlists. |
| Public playlists from anyone. |
| A SoundCloud station with its tracks. |
| Candidates from 1-5 seed tracks, deduplicated, filtered and ranked (harmonic match included). Read-only. |
| Candidates for the official release of a user upload, with reasons. |
| Duration, BPM range, keys, genres, duplicates, BPM jumps and key clashes. |
| Your account and whether Go+ is declared. |
| Your playlists (private ones included), liked playlists or stations; filter by title. |
| A playlist with its tracks, by id or URL. |
| Create a playlist, private by default. |
| Append tracks, skipping duplicates. |
| Remove several tracks in one write. |
| Remove one track. |
| Swap a track, keeping its position. |
| Change title, description, genre or tags, and reorder by BPM, Camelot key, duration, release date or a given order. |
For developers
Zero dependencies: plain Node.js ESM (
server.mjs), stdio transport.Speaks MCP 2024-11-05 to 2025-11-25 (
initialize) and 2026-07-28 (stateless,server/discover).Tool descriptions are in English, under 1,024 characters, with flat schemas that OpenAI, Gemini and local models accept.
npm testruns ten offline suites (protocol over a real stdio process, secret stores, the setup page over real HTTP, distribution files).npm run test:storeexercises your system's real secret store with a throwaway entry. CI runs everything on Linux, macOS and Windows against the real secret stores.Distribution:
manifest.json(Claude Desktop extension, packed with@anthropic-ai/mcpb),.claude-plugin/+.mcp.json+skills/(Claude plugin and marketplace),package.jsonbin(npx).Releasing: bump the version in
package.json,manifest.json,.claude-plugin/plugin.jsonandserver.mjs(tests/test10.mjschecks they match), then push avX.Y.Ztag. The release workflow publishessoundcrate.mcpb.
License and credits
MIT © Sergio Ruiz. SoundCrate is not affiliated with, endorsed by or sponsored by SoundCloud.
Inspired by marcellkehmstedt/soundcloud-mcp-server (especially its fix for long track IDs). This code was written from scratch, without dependencies and with a different architecture (local stdio instead of an HTTP server).
This server cannot be deployed
Maintenance
Related MCP Connectors
SoundCloud search for DJs and AI agents, with BPM and key measured from the audio.
Find the tracks DJs play in Instagram, TikTok and set links; ask about your DJs, feed and sets.
AI music and podcast platform for autonomous agents. SoundCloud for AI bots.
AI playlist engine that turns music prompts into real YouTube playlists and filters bad versions.
Related MCP Servers
- AlicenseAqualityDmaintenanceConnects AI assistants to a self-hosted Your Spotify instance and Spotify's Web API for deep listening analytics and playback control. It enables users to query unlimited listening history, generate custom Wrapped summaries, and manage playlists through natural language.18Apache 2.0
- AlicenseAqualityBmaintenanceEnables AI assistants to control Spotify playback, manage playlists, and plan DJ sets using BPM, key, and energy data.37MIT
- AlicenseNot gradedqualityBmaintenanceEnables DJs to retrieve BPM, key/Camelot, energy, and other track metadata with provider provenance, score transitions, plan setlists, and control Spotify playlists and playback with staged, revalidated writes for safety.MIT
- AlicenseNot gradedqualityBmaintenanceConnects AI assistants to a local music library for full-text search and filtering of tracks, albums, artists, genres, composers, and lyrics, plus listening analytics and metadata hygiene audits. Also lets users generate and populate playlists and control playback (play, pause, seek, volume) in a running player instance.MIT