Nicotine+ Soulseek MCP Server
Click on "Deploy 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., "@Nicotine+ Soulseek MCP Serversearch for Daft Punk - Around the World in 320kbps and download the best result"
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.
Nicotine+ Soulseek MCP Server
A stateless, local-only Model Context Protocol (MCP) server that interfaces directly with the Nicotine+ (Soulseek) network engine.
It allows AI assistants (such as Claude Desktop, Antigravity, or other MCP clients) to search the Soulseek peer-to-peer network, evaluate audio quality/bitrates, select download candidates with the lowest queue and fastest speeds, automatically download bulk tracklists, and monitor transfer progress.
Features
Local & Stateless: Runs locally over standard STDIO using the official Python MCP SDK.
Auto-Detects Desktop Nicotine+ Config: Automatically reads your existing desktop Nicotine+ configuration (
~/.config/nicotine/configor%APPDATA%/nicotine/config), inheriting your existing Soulseek account and download directories without manual re-entry.Smart Ranking & Scoring: Evaluates and ranks search results based on:
Audio quality (320 kbps MP3, FLAC, V0, etc.)
Queue length (prioritizing peers with free upload slots / 0 queue)
Peer upload speed (in KB/s)
Bulk Automation (
auto_find_and_download): Paste a list of songs or albums into your AI agent; it will search, pick the optimal file for each, and enqueue the downloads automatically.Real-Time Transfer Monitoring (
get_downloads_status): Track progress percentages, download speed, and queue positions.High Code Quality: Built with
uv, strict type annotations, Pydantic v2 schemas, and verified withruffandpytest.
Available MCP Tools
Tool Name | Description |
| Searches Soulseek for tracks/albums with filters for bitrate (default 320 kbps), file type ( |
| Bulk track finder: Takes a list of song/album queries, searches Soulseek for each, picks the best candidate meeting quality (default 320 kbps) & queue criteria, and enqueues downloads. |
| Enqueues a specific file for download using its username and virtual path from search results. |
| Returns real-time status, progress percentages, speeds, and queue positions for all active, queued, and completed downloads. |
| Clears finished transfers from the download list. |
| Returns connection state, logged-in user, server address, and download destination path. |
| Sets or updates Soulseek username and password dynamically. |
🚀 1-Minute Zero-Install Setup for AI Agents
You can point any AI agent (Claude Desktop, Antigravity, Cursor, Windsurf, Cline, Roo Code, etc.) directly to this GitHub repository without cloning or manually managing virtual environments.
Recommended: Zero-Install via uvx (macOS, Windows, Linux)
Add this to your MCP settings file (e.g., claude_desktop_config.json):
{
"mcpServers": {
"nicotine-plus": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/ccombe/nicotine-plus-mcp@v0.2.0",
"nicotine-mcp"
]
}
}
}uvxautomatically downloads, installs in an isolated cache, and launches the server on demand.You can pin a specific release version by adding
@v0.2.0(recommended for stability) or use the defaultmasterbranch to always get the latest updates.
💻 Local Git Clone Setup
If you prefer to clone and run the server locally:
git clone https://github.com/ccombe/nicotine-plus-mcp.git
cd nicotine-plus-mcp
uv run nicotine-mcpLocal MCP Configuration
macOS / Linux
{
"mcpServers": {
"nicotine-plus": {
"command": "uv",
"args": [
"--directory",
"/path/to/nicotine-plus-mcp",
"run",
"nicotine-mcp"
]
}
}
}Windows
{
"mcpServers": {
"nicotine-plus": {
"command": "uv.exe",
"args": [
"--directory",
"C:\\path\\to\\nicotine-plus-mcp",
"run",
"nicotine-mcp"
]
}
}
}Cross-Platform Auto-Detection:
Linux: Automatically uses
~/.config/nicotine/configand$XDG_DATA_HOME/nicotine.macOS: Automatically checks
~/Library/Application Support/nicotineand~/.config/nicotine.Windows: Automatically uses
%APPDATA%\nicotine\config.
If you already use the Nicotine+ desktop app on your machine, zero setup or credentials are required. If you want to specify custom credentials or paths, simply add SOULSEEK_USERNAME, SOULSEEK_PASSWORD, and SOULSEEK_DOWNLOAD_DIR to the env block.
Example Usage with Your AI Agent
You can paste prompt requests such as:
"Please search for and download the following tracks in 320kbps MP3, picking the fastest peers with free upload slots:
Daft Punk - Around the World
Aphex Twin - Xtal
Boards of Canada - Dayvan Cowboy"
The agent will execute auto_find_and_download with the list, and you can check the progress at any time by asking "How are my downloads going?" (which calls get_downloads_status).
Development, Testing & Verification
Run all test suites:
uv run pytestRun code linter & format checker (ruff):
uv run ruff check src/nicotine_mcp tests
uv run ruff format --check src/nicotine_mcp testsRun strict type checking with ty:
uv run ty check src/nicotine_mcp testsAudit dependencies for security vulnerabilities & lockfile integrity:
uv run pip-audit
uv lock --checkThis server cannot be deployed
Maintenance
Related MCP Connectors
The media memory layer for AI agents and their humans. Your AI client gets 29 tools to search your collection, add items, update ratings, preview music, and find patterns across everything you've read, watched, and listened to.
AI music and podcast platform for autonomous agents. SoundCloud for AI bots.
AI-manageable audio CDN: upload, transcode, normalize, stream & deliver audio, plus grounded docs.
Enables AI assistants to natively interact with the Serpzilla link-building marketplace.