slskd-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLSKD_URL | No | Base URL of the slskd daemon | http://127.0.0.1:5030 |
| SLSKD_API_KEY | No | Optional static API key (`X-API-Key` header) | |
| SLSKD_TIMEOUT | No | Default HTTP request timeout (seconds) | 30.0 |
| SLSKD_PASSWORD | No | slskd Web UI / API password | slskd |
| SLSKD_USERNAME | No | slskd Web UI / API username | slskd |
| SLSKD_SEARCH_TIMEOUT | No | Default duration for search network polling (seconds) | 15 |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| slskd_statusA | Check slskd connection to Soulseek, connected peers, and transfer stats. Returns: Summary object containing: connected: Soulseek server connection state (boolean) logged_in: Soulseek login state (boolean) username: Logged-in Soulseek username version: slskd daemon version string upload_speed: Average upload speed (bytes/sec) download_speed: Current download speed (bytes/sec) peer_count: Number of connected peers shares_directories: Shared directory count shares_files: Shared file count server_address: Soulseek server IP and port |
| slskd_searchA | Search the Soulseek network for music files, albums, or artists. Polls until responses arrive or timeout expires. Filters and ranks matches prioritizing peers with open upload slots, shorter queues, and higher speeds. |
| slskd_downloadC | Enqueue a file from a specific user for download. |
| slskd_get_transfersA | List current downloads or uploads with speeds, bytes transferred, queue position, and status. |
| slskd_cancel_downloadB | Cancel or remove an active/queued transfer. |
| slskd_browse_userC | Browse shared directory structure of a Soulseek peer. |
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 6 tools
Each tool targets a clearly distinct action or resource: status for connection health, search for network-wide discovery, browse_user for peer share inspection, download for enqueueing, get_transfers for monitoring, and cancel_download for removal. The slight thematic overlap between status and get_transfers is resolved by status returning summary stats while get_transfers returns per-transfer details.
All names use the same slskd_ prefix and snake_case, which is highly consistent. However, the base patterns vary: some are verb_noun (get_transfers, cancel_download, browse_user), while others are simple verbs (search, download) or a noun (status), making the set mostly but not perfectly uniform.
Six tools is well-scoped for a focused Soulseek client wrapper, covering the core workflow from status check to search, browse, download, monitor, and cancel. No tool feels redundant or out of place, and the count avoids both thinness and bloat.
The surface covers the primary lifecycle: connection status, searching, browsing peers, enqueueing downloads, listing transfers, and cancelling transfers. Minor gaps exist, such as no dedicated tool for clearing completed transfers or managing uploads/shares, but agents can work around these with the current set.