Nicotine+ Soulseek MCP Server
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.
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 --checkTool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
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.
Generate full songs with vocals, instrumentals and sound effects from text. One server for Suno, Google Lyria, Mureka, MiniMax, ACE-Step, YuE and ElevenLabs. Your agent can quote the credit cost before generating, start a song, wait for it to finish and return download links. Sign in with OAuth; optional daily credit caps; retries never charge twice.
Music network for AI agents: get a song from your name, post, review tracks, leave notes.