slskd-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLSKD_URL | No | The URL of the slskd daemon, e.g., http://localhost:5030 | http://localhost:5030 |
| SLSKD_API_KEY | Yes | API key for authentication with slskd, configured in slskd.yml under web.authentication.api_keys | |
| SLSKD_WISHLIST | No | Path to the wishlist file. Defaults to ~/slskd/wishlist.json | |
| SLSKD_ALLOW_DOWNLOADS | No | Set to '1' to enable the download tool (equivalent to --allow-downloads flag) |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Search the Soulseek network. Returns a search id; results arrive asynchronously, so call search_results a few seconds later. |
| search_resultsB | Get results for a search id. Lists peers and their files with size and bitrate. Use the exact filename and size when downloading. |
| search_labelA | Find releases on a specific record label. Runs a search, waits for responses, then keeps only files whose folder carries the label as a bracketed tag (e.g. "... [Planet Rhythm]"). Filters out coincidental word matches, which plain search returns in bulk. |
| wishlist_addA | Add a standing search to the wishlist. Wishlist entries are re-run on a schedule and only NEW results are reported, so you hear about a record the week it finally appears on the network. |
| wishlist_listA | List standing wishlist searches |
| wishlist_removeA | Remove a wishlist entry by its 1-based index from wishlist_list |
| wishlist_checkA | Run all wishlist searches now and report only results not seen before. Takes ~20s per entry because Soulseek results arrive asynchronously. |
| searchesA | List recent searches and their state |
| browseA | Browse everything a Soulseek user is sharing |
| downloadsA | Show current downloads and their progress |
| downloadA | Queue a file for download. Requires the server to have been started with downloads enabled. Use the exact filename and size from search_results. |
| download_statusA | Check one download: state, percent complete and position in the peer's queue. Needs the username and transfer id from |
| cancel_downloadA | Cancel a download in progress. Always available, even when downloads are disabled — stopping a transfer only ever reduces activity. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools are clearly separated by lifecycle stage or resource: search returns an id, search_results fetches results, searches lists past searches, and search_label is specialized filtering. The only real ambiguity risk is download vs downloads, but the descriptions make the verb/noun distinction clear.
All names use lowercase snake_case, but the pattern is mixed: action-only verbs like search and browse, plural nouns like searches and downloads, noun_verb forms like wishlist_add, and noun_noun compounds like search_results and download_status. The names are readable, but there is no single predictable convention.
13 tools is well within the ideal range and each tool maps to a distinct workflow area: searching, wishlist management, browsing, and download management. Nothing feels redundant or like filler.
The core Soulseek workflow is fully covered: search produces an id, results are fetched, files can be downloaded, progress is tracked, and downloads can be cancelled. Wishlist entries also have complete add/list/remove/manual-check coverage, with no obvious dead ends.