NZBGet MCP Server
NZBGet MCP Server
Сервер MCP (Model Context Protocol) для NZBGet, который предоставляет функциональность API NZBGet в виде инструментов MCP, доступных для LLM-клиентов.
Управляйте своими загрузками Usenet с помощью естественного языка через Claude и другие MCP-совместимые клиенты.
Возможности
15 инструментов MCP для полного контроля над NZBGet
Управление очередью: список, добавление, приостановка, возобновление, удаление загрузок
Отслеживание истории: просмотр завершенных и неудачных загрузок
Контроль скорости: установка ограничений скорости загрузки
Мониторинг состояния: статус сервера в реальном времени, дисковое пространство, информация об очереди
Логирование: доступ к логам NZBGet и запись в них
Реализация на TypeScript с клиентом JSON-RPC
Транспорт Stdio, совместимый с Claude Desktop
Требования
Node.js 18+
Запущенный экземпляр NZBGet с включенным RPC
Настройка
Клонируйте репозиторий и установите зависимости:
git clone https://github.com/aserper/nzbget-mcp.git
cd nzbget-mcp
npm installСоберите проект:
npm run buildСкопируйте
.env.exampleв.envи установите свои значения:
cp .env.example .envОтредактируйте .env:
NZBGET_HOST=localhost
NZBGET_PORT=6789
NZBGET_USERNAME=nzbget
NZBGET_PASSWORD=tegbzn6789
NZBGET_USE_HTTPS=falseЗапуск MCP-сервера
npm startИли напрямую:
node dist/index.jsТестирование
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run tests in watch mode
npm run test:uiАрхитектура
Этот MCP-сервер использует модульную архитектуру:
src/tools/*.ts— реализация отдельных инструментовsrc/tools/index.ts— реестр и обнаружение инструментовsrc/utils/errors.ts— утилиты для обработки ошибокsrc/__tests__/mocks/— тестовые фикстуры и моки
Все 15 инструментов являются автономными модулями, которые регистрируют себя при импорте.
Конфигурация
Переменная | Описание | По умолчанию |
| Имя хоста NZBGet |
|
| RPC-порт NZBGet |
|
| Имя пользователя NZBGet | - |
| Пароль NZBGet | - |
| Использовать HTTPS |
|
Конфигурация Claude Desktop
Добавьте в конфигурацию Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json на macOS или аналогичный файл на других платформах):
{
"mcpServers": {
"nzbget": {
"command": "node",
"args": ["/path/to/nzbget-mcp/dist/index.js"],
"env": {
"NZBGET_HOST": "localhost",
"NZBGET_PORT": "6789",
"NZBGET_USERNAME": "nzbget",
"NZBGET_PASSWORD": "tegbzn6789"
}
}
}
}Docker
Локальная сборка
docker build -t nzbget-mcp .Запуск
docker run --rm -it \
-e NZBGET_HOST="localhost" \
-e NZBGET_PORT="6789" \
-e NZBGET_USERNAME="nzbget" \
-e NZBGET_PASSWORD="tegbzn6789" \
nzbget-mcpДоступные инструменты
Статус и информация
nzbget_status— получить статус сервера (скорость, размер очереди, дисковое пространство)nzbget_version— получить версию NZBGetnzbget_server_volumes— получить статистику загрузок по серверам
Очередь загрузок
nzbget_list_groups— список всех загрузок в очередиnzbget_append— добавить NZB-файл в очередьnzbget_edit_queue— редактировать очередь (приостановить, возобновить, удалить, установить приоритет)
История
nzbget_history— просмотреть историю загрузок
Управление
nzbget_pause_download/nzbget_resume_downloadnzbget_pause_post/nzbget_resume_postnzbget_rate— установить ограничение скорости загрузки (КБ/с)nzbget_scan— сканировать на наличие новых NZB-файлов
Логирование
nzbget_log— получить записи логаnzbget_write_log— записать пользовательское сообщение в лог
Примеры использования
"Show me what's currently downloading"
"Pause the download queue"
"Set download speed to 5 MB/s"
"Add an NZB file to the queue"
"Show my recent download history"Разработка
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Lint
npm run lint
# Type check
npm run typecheckЛицензия
MIT
Участие в разработке
Приветствуются любые вклады! Не стесняйтесь открывать issue или отправлять PR.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/aserper/nzbget-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server