Skip to main content
Glama
ccombe

Nicotine+ Soulseek MCP Server

by ccombe

Сервер 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-инструменты

Название инструмента

Описание

search_tracks

Выполняет поиск по Soulseek треков/альбомов с фильтрами по битрейту (по умолчанию 320 kbps), типу файла (mp3, flac и т. д.), максимальной очереди и свободным слотам. Результаты оцениваются и сортируются по качеству и скорости.

auto_find_and_download

Массовый поиск треков: принимает список запросов песен/альбомов, ищет каждый в Soulseek, выбирает лучшего кандидата, соответствующего критериям качества (по умолчанию 320 kbps) и очереди, и ставит загрузки в очередь.

queue_download

Ставит конкретный файл в очередь загрузки, используя его имя пользователя и виртуальный путь из результатов поиска.

get_downloads_status

Возвращает статус в реальном времени, процент выполнения, скорости и позиции в очереди для всех активных, ожидающих и завершённых загрузок.

clear_finished_downloads

Очищает завершённые передачи из списка загрузок.

get_connection_status

Возвращает состояние подключения, вошедшего пользователя, адрес сервера и путь назначения загрузок.

set_credentials

Динамически задаёт или обновляет имя пользователя и пароль 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, выбирая самых быстрых пиров со свободными слотами загрузки:

  1. Daft Punk - Around the World

  2. Aphex Twin - Xtal

  3. 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 --check
-
license - not tested
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • AI-manageable audio CDN: upload, transcode, normalize, stream & deliver audio, plus grounded docs.

  • Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.

  • Search your knowledge bases from any AI assistant using hybrid RAG.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ccombe/nicotine-plus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server