soundcloud-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SOUNDCLOUD_CLIENT_ID | Yes | SoundCloud OAuth client ID. Obtain from https://soundcloud.com/you/apps | |
| SOUNDCLOUD_TOKEN_FILE | No | Path to the token file. Defaults to ~/.config/soundcloud-mcp/tokens.json | |
| SOUNDCLOUD_REDIRECT_URI | No | Redirect URI registered with the SoundCloud app. Defaults to http://localhost:8976/callback | http://localhost:8976/callback |
| SOUNDCLOUD_CLIENT_SECRET | Yes | SoundCloud OAuth client secret. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| soundcloud_auth_statusA | Show whether app credentials are configured, which SoundCloud accounts are logged in (alias, username, expiry), which one is active (default), and any login in progress. Call this first when a user-level action fails, before uploads / likes / playlist edits, or when the user talks about a specific account. |
| soundcloud_auth_loginA | Start the OAuth 2.1 (PKCE) login for a SoundCloud account. Returns an authorize_url the user must open in a browser; the account approved there is stored under alias (default: its SoundCloud username) and, unless make_default is false, becomes the active account. Call it again to add more accounts (the user must be signed in to soundcloud.com as the other account in the browser). A local listener on the redirect URI captures the callback; check soundcloud_auth_status afterwards. If the listener could not start, pass the redirected URL to soundcloud_auth_complete. |
| soundcloud_auth_completeA | Finish a login started with soundcloud_auth_login when the browser callback could not reach the local listener. Accepts the full URL the browser was redirected to, or just the ?code= value. |
| soundcloud_auth_switch_accountA | Make one of the logged-in accounts the active (default) one. Tools that take no account parameter, and public reads, then use it. The choice is persisted across sessions. Returns the account list. |
| soundcloud_auth_logoutA | Invalidate a stored user session (POST /sign-out) and delete its tokens. Without account the active account is removed; all=true removes every account. Public reads keep working with the app token. |
| soundcloud_resolveA | Turn a soundcloud.com / on.soundcloud.com URL into its API resource. Returns the kind (track, playlist or user), the URN to use with other tools, and a compact summary. Use this first whenever the user pastes a SoundCloud link. |
| soundcloud_search_tracksA | Full-text search for tracks with optional filters (genres, tags, BPM, duration, creation date, access level). Also does batch lookup when urns is given. Results are paginated; follow next_href with soundcloud_next_page. |
| soundcloud_search_playlistsA | Full-text search for playlists / albums. Tracks are omitted by default to keep results small; set show_tracks to include them. |
| soundcloud_search_usersA | Search SoundCloud users (artists, labels, listeners) by name. Also does batch lookup when urns is given. |
| soundcloud_next_pageA | Fetch the next page of any paginated result using the next_href returned by a previous tool call. Only api.soundcloud.com URLs are accepted. |
| soundcloud_get_trackA | Fetch a track's metadata (title, artist, duration, counts, access level, permalink…). Pass secret_token for private tracks. |
| soundcloud_get_track_streamsA | Return the transcoded stream URLs of a track (HLS AAC 160k, HLS MP3 128k, MP3 preview). URLs are signed and short-lived; fetch them right before playback. Only tracks with access playable/preview have streams. Stream requests count toward the 15,000 per 24h play limit per app. |
| soundcloud_get_track_commentsA | List comments on a track (newest first), including the timestamp in the track each comment refers to. |
| soundcloud_get_related_tracksA | Tracks SoundCloud considers related to the given track (recommendations / 'more like this'). |
| soundcloud_get_track_engagementB | List the users who liked (favoriters) or reposted (reposters) a track. |
| soundcloud_upload_trackA | Upload an audio file from the local filesystem as a new track for the logged-in user (multipart POST /tracks). Limits: 4 GB, 24 hours of audio; formats AIFF, WAVE, FLAC, OGG, MP2, MP3, AAC, AMR, WMA. Artwork upload requires a PRO account. Confirm title, sharing and file with the user before calling. |
| soundcloud_update_trackA | Update metadata of a track owned by the logged-in user (PUT /tracks/{urn}). Only the provided fields change. |
| soundcloud_delete_trackA | Permanently delete a track owned by the logged-in user. Irreversible: get explicit confirmation from the user first. |
| soundcloud_set_track_storefrontA | Create or replace the storefront (buy / link module) shown on a track owned by the logged-in user. The whole storefront is replaced: omitted optional fields are cleared, so send every value that should remain. |
| soundcloud_get_playlistA | Fetch a playlist / album with its metadata and (by default) its tracks. Pass secret_token for private playlists. |
| soundcloud_get_playlist_tracksA | List the tracks of a playlist page by page. Prefer this over soundcloud_get_playlist for long playlists. |
| soundcloud_get_playlist_repostersB | List users who reposted a playlist. |
| soundcloud_create_playlistB | Create a playlist (or album via set_type) for the logged-in user, optionally with an initial ordered list of tracks. |
| soundcloud_update_playlistA | Update metadata of a playlist owned by the logged-in user. If track_urns is given it REPLACES the whole track list (use soundcloud_add_playlist_tracks / soundcloud_remove_playlist_tracks for incremental edits). |
| soundcloud_add_playlist_tracksA | Append (or prepend) tracks to a playlist owned by the logged-in user. Reads the current track list first, skips tracks already present, then writes the merged list back. |
| soundcloud_remove_playlist_tracksA | Remove the given tracks from a playlist owned by the logged-in user, keeping the order of the rest. |
| soundcloud_delete_playlistA | Permanently delete a playlist owned by the logged-in user (tracks themselves are not deleted). Get explicit confirmation first. |
| soundcloud_get_userA | Fetch a user's public profile: name, location, follower / track / playlist counts, plan, links. |
| soundcloud_list_user_contentA | List content related to a user. kind selects what: tracks (tracks uploaded by the user); playlists (playlists / albums created by the user); liked_tracks (tracks the user liked); liked_playlists (playlists the user liked); reposted_tracks (tracks the user reposted); reposted_playlists (playlists the user reposted); followers (users following this user); followings (users this user follows); related_artists (artists related to this user (recommendations)); web_profiles (external links on the profile (website, Instagram…)). Paginated via next_href. |
| soundcloud_meA | Profile of the logged-in SoundCloud user, including upload quota and private counts. Requires login. |
| soundcloud_list_my_contentA | List the logged-in user's library and social data. kind selects what: tracks (my uploaded tracks); playlists (my playlists / albums); liked_tracks (tracks I liked); liked_playlists (playlists I liked); reposted_tracks (tracks I reposted); reposted_playlists (playlists I reposted); followers (users following me); followings (users I follow); followings_tracks (recent tracks from users I follow); feed (my activity feed (tracks, playlists, reposts)); feed_tracks (track-only activity feed); recently_played (my last 25 played tracks). Requires login. Paginated via next_href. |
| soundcloud_set_likeA | Like (liked=true) or remove the like (liked=false) on a track or playlist as the logged-in user. |
| soundcloud_set_repostA | Repost (reposted=true) or remove the repost (reposted=false) of a track or playlist as the logged-in user. |
| soundcloud_set_followA | Follow (following=true) or unfollow (following=false) a user as the logged-in user. |
| soundcloud_comment_on_trackA | Post a comment on a track as the logged-in user, optionally anchored at a position in the track (timestamp_ms). |
| soundcloud_api_requestA | Escape hatch: call any https://api.soundcloud.com endpoint directly with the stored credentials. Use only when no dedicated tool covers the need (see the soundcloud skill's api-reference). Returns the raw JSON; set paginate=true to add linked_partitioning and get a compact page. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/auxa-m45/soundcloud-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server