Nicotine+ Soulseek MCP Server
Сервер Nicotine+ Soulseek MCP
Stateless-сервер Model Context Protocol (MCP), работающий только локально и взаимодействующий напрямую с сетевым движком Nicotine+ (Soulseek).
Он позволяет ИИ-ассистентам (таким как Claude Desktop, Antigravity или другим MCP-клиентам) искать в пиринговой сети Soulseek, оценивать качество аудио/битрейт, выбирать кандидатов для загрузки с наименьшей очередью и самой быстрой скоростью, автоматически загружать массовые списки треков и отслеживать ход передачи.
Возможности
Локальный и Stateless: работает локально через стандартный STDIO с использованием официального Python MCP SDK.
Автоопределение конфигурации десктопного Nicotine+: автоматически считывает вашу существующую конфигурацию десктопного Nicotine+ (
~/.config/nicotine/configили%APPDATA%/nicotine/config), наследуя вашу существующую учётную запись Soulseek и каталоги загрузки без ручного ввода.Умное ранжирование и оценка: оценивает и ранжирует результаты поиска на основе:
Качества аудио (MP3 320 kbps, FLAC, V0 и т. д.)
Длины очереди (приоритет пирам со свободными слотами загрузки / нулевой очередью)
Скорости загрузки пира (в КБ/с)
Массовая автоматизация (
auto_find_and_download): вставьте список песен или альбомов в вашего ИИ-агента; он выполнит поиск, выберет оптимальный файл для каждого и поставит загрузки в очередь автоматически.Мониторинг передачи в реальном времени (
get_downloads_status): отслеживайте процент выполнения, скорость загрузки и позиции в очереди.Высокое качество кода: создан с помощью
uv, строгие аннотации типов, схемы Pydantic v2, проверено с помощьюruffиpytest.
Доступные MCP-инструменты
Название инструмента | Описание |
| Выполняет поиск по Soulseek треков/альбомов с фильтрами по битрейту (по умолчанию 320 kbps), типу файла ( |
| Массовый поиск треков: принимает список запросов песен/альбомов, ищет каждый в Soulseek, выбирает лучшего кандидата, соответствующего критериям качества (по умолчанию 320 kbps) и очереди, и ставит загрузки в очередь. |
| Ставит конкретный файл в очередь загрузки, используя его имя пользователя и виртуальный путь из результатов поиска. |
| Возвращает статус в реальном времени, процент выполнения, скорости и позиции в очереди для всех активных, ожидающих и завершённых загрузок. |
| Очищает завершённые передачи из списка загрузок. |
| Возвращает состояние подключения, вошедшего пользователя, адрес сервера и путь назначения загрузок. |
| Динамически задаёт или обновляет имя пользователя и пароль Soulseek. |
🚀 Настройка за 1 минуту без установки для ИИ-агентов
Вы можете указать любому ИИ-агенту (Claude Desktop, Antigravity, Cursor, Windsurf, Cline, Roo Code и т. д.) напрямую на этот репозиторий GitHub без клонирования и ручного управления виртуальными окружениями.
Рекомендуется: установка без установки через uvx (macOS, Windows, Linux)
Добавьте это в файл настроек MCP (например, claude_desktop_config.json):
{
"mcpServers": {
"nicotine-plus": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/ccombe/nicotine-plus-mcp@v0.2.0",
"nicotine-mcp"
]
}
}
}[!TIP]
uvxавтоматически загружает, устанавливает в изолированный кэш и запускает сервер по требованию.Вы можете закрепить конкретную версию релиза, добавив
@v0.2.0(рекомендуется для стабильности), или использовать веткуmasterпо умолчанию, чтобы всегда получать последние обновления.
💻 Локальная настройка через Git Clone
Если вы предпочитаете клонировать и запускать сервер локально:
git clone https://github.com/ccombe/nicotine-plus-mcp.git
cd nicotine-plus-mcp
uv run nicotine-mcpЛокальная конфигурация MCP
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"
]
}
}
}[!NOTE] Кроссплатформенное автоматическое определение:
Linux: автоматически использует
~/.config/nicotine/configи$XDG_DATA_HOME/nicotine.macOS: автоматически проверяет
~/Library/Application Support/nicotineи~/.config/nicotine.Windows: автоматически использует
%APPDATA%\nicotine\config.Если вы уже используете десктопное приложение Nicotine+ на своём компьютере, настройка или учётные данные не требуются. Если вы хотите указать собственные учётные данные или пути, просто добавьте
SOULSEEK_USERNAME,SOULSEEK_PASSWORDиSOULSEEK_DOWNLOAD_DIRв блокenv.
Пример использования с вашим ИИ-агентом
Вы можете вставить запросы, например:
«Пожалуйста, найдите и загрузите следующие треки в MP3 320kbps, выбирая самых быстрых пиров со свободными слотами загрузки:
Daft Punk - Around the World
Aphex Twin - Xtal
Boards of Canada - Dayvan Cowboy»
Агент выполнит auto_find_and_download со списком, и вы сможете в любой момент проверить ход выполнения, спросив «Как там мои загрузки?» (это вызовет get_downloads_status).
Разработка, тестирование и проверка
Запуск всех тестовых наборов:
uv run pytestЗапуск линтера кода и проверки форматирования (ruff):
uv run ruff check src/nicotine_mcp tests
uv run ruff format --check src/nicotine_mcp testsСтрогая проверка типов с помощью ty:
uv run ty check src/nicotine_mcp testsАудит зависимостей на наличие уязвимостей безопасности и целостность lock-файла:
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 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.